[Bug c++/103811] New: [c++20] ICE when a lambda is used as a template argument of another lambda's function parameter
iamsupermouse at mail dot ru
gcc-bugzilla@gcc.gnu.org
Wed Dec 22 21:26:18 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103811
Bug ID: 103811
Summary: [c++20] ICE when a lambda is used as a template
argument of another lambda's function parameter
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: iamsupermouse at mail dot ru
Target Milestone: ---
Following code causes an ICE (segfault):
template <auto> struct A {};
int main() {[](A<[]{}>){};}
Tested on https://godbolt.org/ , GCC trunk 12.0.0 20211222.
The same thing happens if I move the nested lambda to A's default argument:
template <auto = []{}> struct A {};
int main() {[](A<>){};}
MSVC also ICEs on the second snippet, but not on the first.
More information about the Gcc-bugs
mailing list