https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96878
--- Comment #1 from Stephan Bergmann <sbergman at redhat dot com> --- A similar failure happens with typeid (but where the parentheses are not redundant), and I naively assume it's the same underlying issue: > $ cat test.cc > #include <typeinfo> > template<int N> struct S { S(char const (& s)[N]); }; > void f() { (void) typeid (S("")); } > $ g++ -std=c++17 -fsyntax-only test.cc > test.cc: In function ‘void f()’: > test.cc:3:27: error: missing template arguments after ‘S<...auto...>’ > 3 | void f() { (void) typeid (S("")); } > | ^ > test.cc:2:24: note: ‘template<int N> struct S’ declared here > 2 | template<int N> struct S { S(char const (& s)[N]); }; > | ^