https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99631
n60wb42d2 at relay dot firefox.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |n60wb42d2 at relay dot firefox.com --- Comment #4 from n60wb42d2 at relay dot firefox.com --- (In reply to Jonathan Wakely from comment #1) > I'm not sure "rejects-valid" is appropriate, as it only fails to compile > because of the static assert (i.e. you've asked for it). Here it `rejects-valid`: ```c++ struct param{}; template<typename> struct t; template<> struct t<param>{}; template<param... p> auto test() { (void)t<decltype(p)...>{}; } int main() { test<param{}>(); } ``` ``` <source>:11:5: error: invalid use of incomplete type 'struct t<const param>' 11 | (void)t<decltype(p)...>{}; ``` https://godbolt.org/z/MKxx1dobT