https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102157
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Last reconfirmed| |2021-09-01 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- There are two issues here really (both accepts invalid). First is binding to a temp is invalid: struct A{ constexpr A(double const &rf){} }; template<class T, T B> struct C{}; int main() { C<A,0.> b; } ----- CUT ---- Second is the conversion is also invalid: struct A{ constexpr A(double rf){} }; template<class T, T B> struct C{}; int main() { C<A,0> b; }