1 // PR c++/61636 2 // PR c++/79264 3 // { dg-do compile { target c++14 } } 4 5 // ICE because we figure this capture too late. 6 7 struct Base 8 { 9 void Bar (int); 10 }; 11 12 struct A : Base { 13 void b (); 14 void Foo (int); 15 using Base::Bar; 16 template <typename T> void Baz (T); 17 }; 18 b()19void A::b() { 20 21 auto lam = [&](auto asdf) { Foo (asdf); }; 22 23 lam (0); 24 25 auto lam1 = [&](auto asdf) { Bar (asdf); }; 26 27 lam1 (0); 28 29 auto lam2 = [&](auto asdf) { Baz (asdf); }; 30 31 lam2 (0); 32 33 auto lam3 = [&](auto asdf) { Baz<int> (asdf); }; 34 35 lam3 (0); 36 } 37