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