https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101921
Bug ID: 101921 Summary: G++ cannot find a template function with lambda as default template argument Product: gcc Version: 11.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: fchelnokov at gmail dot com Target Milestone: --- Compilation of this valid code: ``` template<class T = decltype([]{})> void bar() {} void foo(auto) { bar(); } ``` results in error: ``` error: no matching function for call to 'bar()' 2 | void foo(auto) { bar(); } | ~~~^~ note: candidate: 'template<class T> void bar()' 1 | template<class T = decltype([]{})> void bar() {} | ^~~ note: template argument deduction/substitution failed: ``` Other compilers accept it: https://gcc.godbolt.org/z/9GsPo8Pnb