https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99505
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to 康桓瑋 from comment #2) > int main() { > [] (decltype([]{})) {} (); > } This testcase still ICEs. Note clang, EDG and MSVC all reject it with a similar message here is clang's: ``` <source>:3:3: error: no matching function for call to object of type '(lambda at <source>:3:3)' 3 | [] (decltype([]{})) {} (); | ^~~~~~~~~~~~~~~~~~~~~~ <source>:3:3: note: candidate function not viable: requires 1 argument, but 0 were provided 3 | [] (decltype([]{})) {} (); | ^ ~~~~~~~~~~~~~~ <source>:3:3: note: conversion candidate of type 'void (*)(decltype([] { }))' (aka 'void (*)((lambda at <source>:3:16))') ```