aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2025-03-13 09:15:21 -0400
committerPatrick Palka <ppalka@redhat.com>2025-03-13 09:15:21 -0400
commit50359c0a44381edb6dbd9359ef2ebdadbcc3ed42 (patch)
tree72b6ddb8034e770f9ce8fcfb11d244ea510501b8 /libstdc++-v3/testsuite
parente5d54c33a257b3f7137f8408592df009dffb5711 (diff)
downloadgcc-50359c0a44381edb6dbd9359ef2ebdadbcc3ed42.zip
gcc-50359c0a44381edb6dbd9359ef2ebdadbcc3ed42.tar.gz
gcc-50359c0a44381edb6dbd9359ef2ebdadbcc3ed42.tar.bz2
libstdc++: Fix ref_view branch of views::as_const [PR119135]
Unlike for span<X> and empty_view<X>, the range_reference_t of ref_view<X> doesn't correspond to X. This patch fixes the ref_view branch of views::as_const to correctly query its underlying range type X. PR libstdc++/119135 libstdc++-v3/ChangeLog: * include/std/ranges: Include <utility>. (views::__detail::__is_ref_view): Replace with ... (views::__detail::__is_constable_ref_view): ... this. (views::_AsConst::operator()): Replace bogus use of element_type in the ref_view branch. * testsuite/std/ranges/adaptors/as_const/1.cc (test03): Extend test. Reviewed-by: Tomasz KamiƄski <tkaminsk@redhat.com> Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
Diffstat (limited to 'libstdc++-v3/testsuite')
-rw-r--r--libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc
index c36786a..3f1f8eb 100644
--- a/libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc
+++ b/libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc
@@ -63,6 +63,10 @@ test03()
std::vector<int> v;
std::same_as<ranges::ref_view<const std::vector<int>>>
auto r = views::as_const(v);
+
+ // PR libstdc++/119135
+ std::same_as<ranges::ref_view<const std::vector<int>>>
+ auto r2 = views::as_const(views::all(v));
}
int