[Bug libstdc++/48526] New: [C++0x] std::is_constructible<void, Args...>::value shall be false
gintensubaru at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sat Apr 9 10:07:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48526
Summary: [C++0x] std::is_constructible<void, Args...>::value
shall be false
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: gintensubaru@gmail.com
According to N3242 20.9.4.3 clause 6, the expression
std::is_constructible< void, Args... >::value
shall be false for any type pack 'Args',
because a variable definition
void t( create<Args>... );
is ill-formed, given the following function prototype:
template <class T>
typename std::add_rvalue_reference<T>::type create();
But gcc-4.6.0 rejects all following static_assert:
---------------------
#include <type_traits>
int main()
{
static_assert( !std::is_constructible<void>::value, "" );
static_assert( !std::is_constructible<void, int>::value, "" );
static_assert( !std::is_constructible<void, int, double>::value, "" );
}
More information about the Gcc-bugs
mailing list