On Sep 6, 2006, at 8:24 PM, David Abrahams wrote:
The problem is that is_convertible
::value is not yet known, and (aside from the fact that there's an implicitly generated copy ctor that's a perfect match which the compiler seems to ignore at this stage, of course) Consistently so, for both g++3.x and g++4.x.
(Am I missing something, or is this not sufficiently weird to register as a problem?)
Depends on your definition of "problem." It might be a QOI, rather than a conformance, issue. But go ahead and report it anyway -- can't hurt. :)
Actually...I think this is a bug in the is_convertible<> implementation. Tonight, I wrote two versions of the test program -- one that uses boost::is_convertible<>, another that uses my own implementation of the convertibility test (and my own implementation of enable_if<>). My implementation compiles and works as expected (g++ 4.0.0), whereas the boost::enable_if<> version fails to compile. I'm going to try to attach both pieces of test code, so that they come through correctly. If you would like me to send these directly to you, or report a bug, let me know. -tim