1 // PR c++/40944 2 // { dg-do run { target c++11 } } 3 4 template<typename T> 5 struct make { static T&& it(); }; 6 7 void (*pf)(int&) = 0; 8 9 template< typename T > 10 int bar(T const& x, 11 decltype( pf(make<T const&>::it()) )* = 0 // SFINAE! 12 ) { 13 return 1; 14 } 15 bar(...)16int bar(...) { 17 return 0; 18 } 19 main()20int main() { 21 return bar(42); 22 } 23