1 // PR c++/48745 2 // { dg-do compile { target c++11 } } 3 4 template<class T> 5 struct add_rval_ref { 6 typedef T&& type; 7 }; 8 9 template<> 10 struct add_rval_ref<void> { 11 typedef void type; 12 }; 13 14 template<class T> 15 typename add_rval_ref<T>::type create(); 16 17 template<class T, class... Args> 18 decltype(T{create<Args>()...}, char()) f(int); 19 20 template<class, class...> 21 char (&f(...))[2]; 22 23 static_assert(sizeof(f<int, void>(0)) != 1, "Error"); // # 24