https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99590
--- Comment #1 from 康桓瑋 <hewillk at gmail dot com> --- I think this is a valid code: void g(auto... args) { ([args...](auto...){}(args ), ...); } void f(auto... args) { ([args ](auto...){}(args...), ...); } int main() { g(0, 1); // this one ICE f(0, 1); // this one works }