aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/std/ranges
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2024-11-14 13:27:41 -0500
committerPatrick Palka <ppalka@redhat.com>2024-11-14 13:27:41 -0500
commit361050589b144913ec05d9d8e10639afa98319a8 (patch)
treeab33c08418de5e3e6721b8d7a53824f546d58a56 /libstdc++-v3/testsuite/std/ranges
parent4a3a0be34f723df192361e43bb48b9292dfe3a54 (diff)
downloadgcc-361050589b144913ec05d9d8e10639afa98319a8.zip
gcc-361050589b144913ec05d9d8e10639afa98319a8.tar.gz
gcc-361050589b144913ec05d9d8e10639afa98319a8.tar.bz2
libstdc++: Implement LWG 3563 changes to keys_view and values_view
This LWG issue corrects the definition of these alias templates to make them suitable for alias CTAD. libstdc++-v3/ChangeLog: * include/std/ranges (keys_view): Adjust as per LWG 3563. (values_view): Likewise. * testsuite/std/ranges/adaptors/elements.cc (test08): New test. Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
Diffstat (limited to 'libstdc++-v3/testsuite/std/ranges')
-rw-r--r--libstdc++-v3/testsuite/std/ranges/adaptors/elements.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/elements.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/elements.cc
index a15192b..0a05ce7 100644
--- a/libstdc++-v3/testsuite/std/ranges/adaptors/elements.cc
+++ b/libstdc++-v3/testsuite/std/ranges/adaptors/elements.cc
@@ -148,6 +148,19 @@ test07()
b == e;
}
+void
+test08()
+{
+ // LWG 3563 - keys_view example is broken
+ std::pair<int, int> x[] = {{1,2},{3,4}};
+ auto v = ranges::keys_view{views::all(x)};
+ auto w = ranges::values_view{views::all(x)};
+ using ty1 = decltype(v);
+ using ty1 = ranges::elements_view<views::all_t<decltype((x))>, 0>;
+ using ty2 = decltype(w);
+ using ty2 = ranges::elements_view<views::all_t<decltype((x))>, 1>;
+}
+
int
main()
{
@@ -158,4 +171,5 @@ main()
test05();
test06();
test07();
+ test08();
}