diff options
author | Patrick Palka <ppalka@redhat.com> | 2024-11-14 13:27:41 -0500 |
---|---|---|
committer | Patrick Palka <ppalka@redhat.com> | 2024-11-14 13:27:41 -0500 |
commit | 361050589b144913ec05d9d8e10639afa98319a8 (patch) | |
tree | ab33c08418de5e3e6721b8d7a53824f546d58a56 /libstdc++-v3/testsuite/std/ranges | |
parent | 4a3a0be34f723df192361e43bb48b9292dfe3a54 (diff) | |
download | gcc-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.cc | 14 |
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(); } |