https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102479
Patrick Palka <ppalka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org Status|UNCONFIRMED |ASSIGNED Ever confirmed|0 |1 CC| |ppalka at gcc dot gnu.org Last reconfirmed| |2021-09-27 --- Comment #2 from Patrick Palka <ppalka at gcc dot gnu.org> --- Confirmed, not a regression AFAICT. Reduced rejects-valid testcase: template<class T> struct A; template<class T> struct tuple { tuple(T); template<template<class> class Tmpl, typename A<Tmpl<char>>::type = 0> tuple(Tmpl<T>); template<template<class> class Tmpl, typename A<Tmpl<long>>::type = 0> tuple(Tmpl<T>); }; auto r = tuple(0); We should also make sure the alias CTAD case works too: template<class T> using const_tuple = tuple<const T>; auto s = const_tuple(0);