c++: add another testcase [PR121351]

Here's a previously accepted testcase that is now ambiguous after
r16-2771-gb9f1cc4e119da, since the uninstantiated constraints are
equivalent but the partially instantiated constraints aren't, so
the two member functions no longer correspond.

	PR c++/121351

gcc/testsuite/ChangeLog:

	* g++.dg/cpp2a/concepts-using6.C: New test.
This commit is contained in:
Patrick Palka
2025-08-04 17:09:28 -04:00
parent b9f1cc4e11
commit b9da8541c4

View File

@@ -0,0 +1,20 @@
// PR c++/121351
// { dg-do compile { target c++20 } }
template<class T> concept C = true;
template<class T>
struct A {
template<class U> void f(U) requires C<T>; // #1
};
template<class T>
struct B : A<T*> {
using A<T*>::f;
template<class U> void f(U) requires C<T>; // #2
};
int main() {
B<int> b;
b.f(42); // { dg-error "ambiguous" } #1 and #2 don't correspond
}