https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103852
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |accepts-invalid Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Known to fail| |10.1.0 Known to work| |9.1.0 Last reconfirmed| |2021-12-28 Target Milestone|--- |10.4 Summary|Alias template argument |[10/11/12 Regression] Alias |deduction is available in |template argument deduction |C++17 mode |is available in C++17 mode --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed reduced testcase: template <class T> struct b{}; template <class T, class T1 = b<T>> struct s { s(T); }; s c(100); template <class T, class T1 = b<T>> using ss = s<T, T1>; ss tt(1); ---- CUT ---- tt defintion should fail in C++17 while pass in C++20. It looks like when the support was added it was added unconditionally; could there have been a Defect report?