diff --git a/gcc/testsuite/g++.dg/cpp2a/class-deduction-alias11.C b/gcc/testsuite/g++.dg/cpp2a/class-deduction-alias11.C
new file mode 100644
index 0000000000000000000000000000000000000000..87eb3e6525a3cf84bcfba9e01296ea8265f04153
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp2a/class-deduction-alias11.C
@@ -0,0 +1,12 @@
+// PR c++/102643
+// { dg-do compile { target c++20 } }
+
+template<class _Tp, class>
+struct vector {
+  typedef int allocator_type;
+  vector(_Tp, allocator_type = allocator_type());
+};
+
+template<class T> using vector_mm = vector<T, int>;
+
+vector_mm v(0);