https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67050
Bernd Schmidt <bernds at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bernds at gcc dot gnu.org --- Comment #4 from Bernd Schmidt <bernds at gcc dot gnu.org> --- I can't reproduce this with current trunk, I just get these errors: tst.cc: In instantiation of ‘Foo::test()::<lambda(auto:1)> [with auto:1 = int]’: tst.cc:6:35: required by substitution of ‘template<class auto:1> Foo::test()::<lambda(auto:1)>::operator decltype (((Foo::test()::<lambda(auto:1)>)0u).operator()(arg)) (*)(auto:1)() const [with auto:1 = int]’ tst.cc:10:17: required from here tst.cc:8:29: error: cannot call member function ‘void Foo::X() [with <template-parameter-1-1> = int]’ without object X<decltype(arg)>(); ~~~~~~~~~~~~~~~~^~ tst.cc: In instantiation of ‘Foo::test()::<lambda(auto:2)> [with auto:2 = int]’: tst.cc:12:35: required by substitution of ‘template<class auto:2> Foo::test()::<lambda(auto:2)>::operator decltype (((Foo::test()::<lambda(auto:2)>)0u).operator()(arg)) (*)(auto:2)() const [with auto:2 = int]’ tst.cc:15:17: required from here tst.cc:13:29: error: cannot call member function ‘void Foo::X() [with <template-parameter-1-1> = int]’ without object X<decltype(arg)>(); ~~~~~~~~~~~~~~~~^~ Can anyone else, or should we close it?