https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92948

--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Test I've been playing with:

struct A {
  constexpr A(int) { }
};

template<A>
struct B {
  using U = unsigned;
};

template<A a>
using U = B<a>;

//template<int X, typename Y = typename B<1>::U> // ok
template<int X, typename Y = typename U<X>::U>  // ICE
//template<int X, typename Y = typename B<X>::U> // error
void foo()
{
}

void
g ()
{
  foo<1>();
}

Reply via email to