Hi, > A proposed fix is to remove the current template-based detector in the > standard library and provide > a built-in function __is_convertible which would check such corner > cases in a much smarter way > than is possible with templates:
I don't see why shouldn't be possible deal with this case with templates, seems a c++ front-end issue with extended sfinae. In general, if I see a compile time failure involving <type_traits> and there is no access control involved, like in the case at issue (those bits are still in the making) I always first suspect a glitch in the c++ front end sfinae bits. The issue may even be known or already fixed in mainline and 4.6. Paolo