// PR c++/57243 // { dg-require-effective-target c++11 } struct snarf { template void get() {} }; template struct container { snarf * begin() { return nullptr; } snarf * end() { return nullptr; } }; template void foo() { container arr; for( auto i : arr ) i.get(); } int main() { return 0; }