https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94890
Patrick Palka <ppalka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|libstdc++ |c++ --- Comment #1 from Patrick Palka <ppalka at gcc dot gnu.org> --- Bisection seems to be pointing to r10-6519, so changing component from libstdc++ to c++. A reduced testcase: template <int a> struct b { static const int c = a; }; template <int> struct d; template <> struct d<0> { typedef int e; }; struct f {}; template <class g, class = decltype(g(0))> f aa(int); template <class> b<0> aa(...); struct h { int i; }; template <class...> struct j : decltype(aa<h>(0)) {}; template <bool> using ap = b<1>; template <template <class...> class aq> ap<typename d<aq<>::c>::e{}> at(int); template <template <class> class> b<0> at(...); struct k { template <class> static const int ax = decltype(at<j>(0))::c; k(...); template <class l, typename d<ax<l>>::e = 0> explicit k(l); }; k a({0});