Boost logo

Boost :

From: John Maddock (john_at_[hidden])
Date: 2006-02-08 05:40:36


> 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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk