[Bug c++/51199] [C++11][DR 547] gcc forms impossible types derived from function types with cv-qualifier-seq

daniel.kruegler at googlemail dot com gcc-bugzilla@gcc.gnu.org
Sat Oct 6 07:59:00 GMT 2012


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

--- Comment #2 from Daniel Krügler <daniel.kruegler at googlemail dot com> 2012-10-06 07:58:56 UTC ---
(In reply to comment #1)
CWG 1417 is now in ready state, which is a good opportunity to implement the
clarification. Meanwhile some traits (like is_copy/move_constructible) should
be prepared for the expected compiler behaviour change, because otherwise the
instantiation of e.g.

std::is_copy_constructible<void() const>

would lead to an instantiation error during the attempt to form the invalid
type const void(&) const. I would suggest to define an internal
__is_referencable trait for this instead of the currently used is_void
discriminator. I have implemented __is_referencable and successfully tested it
within __is_copy_constructible_impl.



More information about the Gcc-bugs mailing list