http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53000

--- Comment #16 from Daniel Krügler <daniel.kruegler at googlemail dot com> 
2012-10-10 10:55:02 UTC ---
(In reply to comment #12)
> So we now have:
> 
> common_type<const int&>::type -> const int&
> common_type<const int&,const int&>::type -> int
> 
> ?
> 
> If we are going with this resolution, I think the 1 argument version should
> derive from decay.

I noticed the same problem recently, when playing around with a variadic
make_array function (search in the test-suite for it once Paolo has committed
my recent changes to the main line). The problem is now that common_type is now
dependent on the size of the variadic argument expansion. Personally I feel
uncertain what the best approach would be: Declaring LWG 2141 as NAD (and fix
the affected other places in the library, which at least unique_ptr's
comparison functions), or add decay to the unary form or finally keeping the
P/R. I'm in the process of sending a message to the LWG group with the
make_array as an example to make LWG of this problem aware. I have no problem
to accept that we undo the 2141 application in the library, if this is what you
would like to see for the moment. This is also a message to the committee.

Reply via email to