|
Boost : |
Subject: Re: [boost] C++03 unique_ptr emulation
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2009-01-08 20:54:15
AMDG
Howard Hinnant wrote:
> The first como failure
> (unique.ptr\unique.ptr.runtime\unique.ptr.runtime.ctor\default02.pass.cpp)
> looks like a test bug. B<D>::B() should be outlined next to ~B()
> instead of inlined.
Confirmed. I made the change and it passes now.
> I started going through the rest of the como failures and they all
> look like a failure in detail::is_convertible. My best guess is that
> this version of como hasn't implemented CWG issue 291
> (http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#291),
> which is understandable considering this issue is C++0X targeted, not
> C++03 targeted (accepted Oct. 05). <sigh> is_convertible is a tricky
> area and apparently my implementation is depending on a dark corner
> that won't be official until C++0X. I do not know if changing "test1"
> to "test2" on line 50 of unique_ptr.hpp would help or not. It doesn't
> help on g++. It might help on Como. This is a dark corner of the
> language <shrug>. If it doesn't help, I don't have a backup plan.
It doesn't help.
> In this case it would appear that there is no C++03 technique for
> implementing is_convertible for move-only types (that I'm aware of).
> And if that is the case, a C++03 emulation of move seems very much in
> jeopardy. A working is_convertible is the foundation upon which this
> move emulation is built.
In Christ,
Steven Watanabe
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk