1 // PR c++/57874 2 // { dg-do compile { target c++11 } } 3 4 namespace NX 5 { 6 struct X {}; foo(X)7 void foo(X) {} 8 } 9 10 namespace NY 11 { 12 struct Y {}; 13 } 14 15 template<class T> 16 auto ADLfoo(T&&) -> decltype((foo(T{}), short())); 17 18 char ADLfoo(...); 19 20 static_assert(sizeof(ADLfoo(NY::Y{})) == 1, ""); 21 static_assert(sizeof(ADLfoo(NX::X{})) == 2, ""); 22