1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
// PR c++/54541 // { dg-do compile { target c++11 } } template <typename T> T&& declval(); struct X; X f(int); template <class T> void g(decltype((void)f(declval<T>())) *) {} template <class T> void g(...) {} int main() { g<int>(0); }