blob: a8b05fe8380263852096e2772b7fd1fe447b38fa [file] [log] [blame]
// PR c++/92948 - Fix class NTTP with template arguments.
// { dg-do compile { target c++20 } }
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<X>::U>
void foo()
{
}
template<int X, typename Y = typename U<X>::U>
void foo2()
{
}
template<typename Y = typename B<1>::U>
void foo3()
{
}
void
g ()
{
foo<1>();
foo2<1>();
foo3<>();
}