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});

Reply via email to