1 // PR c++/57243 2 // { dg-require-effective-target c++11 } 3 4 struct snarf 5 { 6 template <class T> getsnarf7 void get() {} 8 }; 9 10 template <class T> 11 struct container 12 { begincontainer13 snarf * begin() { return nullptr; } endcontainer14 snarf * end() { return nullptr; } 15 }; 16 17 template <class T> foo()18void foo() 19 { 20 container<int> arr; 21 22 for( auto i : arr ) 23 i.get<int>(); 24 } 25 main()26int main() 27 { 28 return 0; 29 } 30 31