libstdc++: Add testcase for std::pair as a structural type [PR 97930]
authorJonathan Wakely <jwakely@redhat.com>
Wed, 28 Apr 2021 17:14:05 +0000 (18:14 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Wed, 28 Apr 2021 17:17:40 +0000 (18:17 +0100)
This PR was fixed by r12-221-ge1543e694dadf1ea70eb72325219bc0cdc914a35
(for compilers that support C++20 Concepts) so this adds the testcase.

libstdc++-v3/ChangeLog:

PR libstdc++/97930
* testsuite/20_util/pair/requirements/structural.cc: New test.

libstdc++-v3/testsuite/20_util/pair/requirements/structural.cc [new file with mode: 0644]

diff --git a/libstdc++-v3/testsuite/20_util/pair/requirements/structural.cc b/libstdc++-v3/testsuite/20_util/pair/requirements/structural.cc
new file mode 100644 (file)
index 0000000..d4df201
--- /dev/null
@@ -0,0 +1,9 @@
+// { dg-options "-std=gnu++20" }
+// { dg-do compile { target c++20 } }
+
+#include <utility>
+
+// C++20 20.4.2 [pairs.pair]
+// pair<T, U> is a structural type (13.2) if T and U are both structural types.
+
+template<std::pair<int, int>> struct S; // PR libstdc++/97930