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.