https://gcc.gnu.org/g:9fd4e414830bb84b1cf1a7df4945d26c078729c9
commit r15-7536-g9fd4e414830bb84b1cf1a7df4945d26c078729c9 Author: Marek Polacek <pola...@redhat.com> Date: Fri Feb 14 15:50:09 2025 -0500 c++: add fixed test [PR70037] Fixed by r11-735 + r11-2417. PR c++/70037 gcc/testsuite/ChangeLog: * g++.dg/cpp2a/concepts-pr70037.C: New test. Diff: --- gcc/testsuite/g++.dg/cpp2a/concepts-pr70037.C | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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 000000000000..7382764ea01b --- /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>>;