// PR c++/114901 // { dg-do compile { target c++20 } } template constexpr bool C = sizeof(D); template struct T { template struct Foo { Foo(V, N); }; template requires (C) // removes the require-clause will make the crash disappear Foo(X, N) -> Foo; template using AFoo = Foo; }; T::AFoo s{1, 2}; // { dg-error "deduction|no match" }