
Is there anything that can be done in boost::is_convertible to workaround this problem? I've inspected the code and seems like there's a variety of implementation methods to choose from, but being a complete stranger to Boost.TypeTraits I can't help much :(
I have an idea, but it may cause other breakages :-( I think the problem is highlighted by the comment in the code for the version used by MWCW: // This version seems to work pretty well for a wide spectrum of compilers, // however it does rely on undefined behaviour by passing UDT's through (...). The problem is that since the From type is not convertible to the To type, it tries to pass it through (...) which fails in case because auto_ptr is not copy-constructible in the classic sense of the word. Try enabling the branch that begins: #elif (defined(__EDG_VERSION__) && (__EDG_VERSION__ >= 245) && !defined(__ICL)) \ || defined(__IBMCPP__) || defined(__HP_aCC) For MWCW and see if the type_traits regresion tests still pass, and if it fixes this issue. Unfortunately I suspect there may be a reason why this pp-branch wasn't enabled for MWCW. HTH, John.