From 7cc9897da1bd4a821fa3fa38f6c4e3f5b007210f Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Thu, 16 Dec 2021 22:06:06 -0800 Subject: [PATCH] Render keys_view and values_view useless per LWG-3563 (There's an argument to be made that they were useless before when they named the result type of `views::keys(declval())` and `views::values(declval())`, but they certainly are now.) Change our test coverage to `views::keys` and `views::values`, the intended UX for extracting fields from ranges. Fixes #2389 --- stl/inc/ranges | 4 ++-- tests/std/tests/P0896R4_views_elements/test.cpp | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/stl/inc/ranges b/stl/inc/ranges index f206b29471e..d456773e5e0 100644 --- a/stl/inc/ranges +++ b/stl/inc/ranges @@ -4717,9 +4717,9 @@ namespace ranges { inline constexpr bool enable_borrowed_range> = enable_borrowed_range<_Rng>; template - using keys_view = elements_view, 0>; + using keys_view = elements_view<_Rng, 0>; template - using values_view = elements_view, 1>; + using values_view = elements_view<_Rng, 1>; namespace views { template diff --git a/tests/std/tests/P0896R4_views_elements/test.cpp b/tests/std/tests/P0896R4_views_elements/test.cpp index c93ffad4477..185ec8833fe 100644 --- a/tests/std/tests/P0896R4_views_elements/test.cpp +++ b/tests/std/tests/P0896R4_views_elements/test.cpp @@ -186,11 +186,11 @@ constexpr bool test_one(Rng&& rng) { // Validate content assert(ranges::equal(r, expected_keys)); - // Validate keys_view and values_view - STATIC_ASSERT(same_as, R>); - STATIC_ASSERT(same_as, elements_view>); + // Validate views::keys and views::values + STATIC_ASSERT(same_as); + STATIC_ASSERT(same_as>); if constexpr (forward_range && is_lvalue_reference_v) { - assert(ranges::equal(ranges::values_view{rng}, expected_values)); + assert(ranges::equal(views::values(rng), expected_values)); } // Validate elements_view::begin