Tested x86_64-pc-linux-gnu, applying to trunk.

-- >8 --
Fixed by r11-735 + r11-2417.

        PR c++/70037

gcc/testsuite/ChangeLog:

        * g++.dg/cpp2a/concepts-pr70037.C: New test.
---
 gcc/testsuite/g++.dg/cpp2a/concepts-pr70037.C | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 gcc/testsuite/g++.dg/cpp2a/concepts-pr70037.C

diff --git a/gcc/testsuite/g++.dg/cpp2a/concepts-pr70037.C 
b/gcc/testsuite/g++.dg/cpp2a/concepts-pr70037.C
new file mode 100644
index 00000000000..7382764ea01
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp2a/concepts-pr70037.C
@@ -0,0 +1,18 @@
+// PR c++/70037
+// { dg-do compile { target c++20 } }
+
+namespace std {
+  template<typename>
+  struct F {
+    static constexpr bool value = false;
+  };
+
+  template<typename T>
+  struct tuple {
+    constexpr tuple() requires (F<T>::value)  {}
+    explicit constexpr tuple() requires (F<T>::value) && (true) {}
+  };
+}
+
+using std::tuple;
+template struct std::tuple<tuple<int>>;

base-commit: 720137f4ee6e80de5c22b9f9c9750f13b2132fe6
-- 
2.48.1

Reply via email to