(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp1y/
pr61636-3.C
// PR c++/61636
// { dg-do compile { target c++14 } }
// permissiveness doesn't make this permitted
// { dg-additional-options "-fpermissive" }

// ICE because we attempt to use dependent Foo during error recovery
// and die with an unexpected this capture need.

template <typename T> struct Base
{
  void Foo (int);
};

template <typename T> struct A : Base<T> {
  void b ();
};

template <typename T> void A<T>::b() {

  auto lam = [&](auto asdf) { Foo (asdf); }; // { dg-error "not declared" }

  lam (T(0));
}

template void A<int>::b ();