https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104137
Bug ID: 104137
Summary: ICE when lambda has parameter of decltype of a
non-convertable lambda
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: nickhuang99 at hotmail dot com
Target Milestone: ---
The following lambda has a wrong parameter type of non-convertible lambda and
causes ICE: (with -std=c++20)
void test2(){
// this has wrong type parameter
return [](decltype([](){})){
}([](){});
}
The correct parameter type is convertible lambda and compiling has no issue
void test1(){
// this has correct parameter
return [](decltype(+[](){})){
}([](){});
}
https://www.godbolt.org/z/fbcr16jv4