1 // PR c++/61636 2 // { dg-do compile { target c++14 } } 3 // permissiveness doesn't make this permitted 4 // { dg-additional-options "-fpermissive" } 5 6 // ICE because we attempt to use dependent Foo during error recovery 7 // and die with an unexpected this capture need. 8 9 template <typename T> struct Base 10 { 11 void Foo (int); 12 }; 13 14 template <typename T> struct A : Base<T> { 15 void b (); 16 }; 17 b()18template <typename T> void A<T>::b() { 19 20 auto lam = [&](auto asdf) { Foo (asdf); }; // { dg-error "not declared" } 21 22 lam (T(0)); 23 } 24 25 template void A<int>::b (); 26