[{"id":3675343,"web_url":"http://patchwork.ozlabs.org/comment/3675343/","msgid":"<1e43ee1d-b4c4-b50f-ef10-83563d3bef8d@idea>","list_archive_url":null,"date":"2026-04-09T14:00:59","subject":"Re: [PATCH] libstdc++: Rename views::to_input to views::as_input.","submitter":{"id":78319,"url":"http://patchwork.ozlabs.org/api/people/78319/","name":"Patrick Palka","email":"ppalka@redhat.com"},"content":"On Thu, 9 Apr 2026, Tomasz Kamiński wrote:\n\n> This patch implements P3828R1: Rename the to_input view to as_input.\n> \n> The paper suggest renaming the feature test macro without changing the\n> value and this patch follows.\n> \n> libstdc++-v3/ChangeLog:\n> \n> \t* include/bits/version.def (ranges_to_input): Rename to...\n> \t(ranges_as_input): Rename from ranges_as_input.\n> \t* include/bits/version.h: Regenerate.\n> \t* include/std/ranges (ranges::to_input_view, views::to_input)\n> \t(__detail::__can_to_input, views::_ToInput): Rename to...\n> \t(ranges::as_input_view, views::as_input, __detail::__can_as_input)\n> \t(views::_AsInput): Rename from above...\n> \t* src/c++23/std.cc.in: Rename views::to_input and to_input_view\n> \texport.\n> \t* testsuite/25_algorithms/contains/1.cc: Replace views::to_input\n> \twith views::as_input.\n> \t* testsuite/std/ranges/adaptors/to_input/1.cc: Move to...\n> \t* testsuite/std/ranges/adaptors/as_input/1.cc: ...here, and replace\n> \tviews::to_input with views::as_input.\n> \n> gcc/testsuite/ChangeLog:\n> \n> \t* g++.dg/reflect/range_args.C: Replace views::to_input with\n> \tviews::as_input.\n> ---\n> The feature test macro situation is fine as is, as user can still\n> differentiate which name they got.\n> \n> Tested on x86_64-linux locally. Running full test now.\n> OK for trunk when all test passes?\n\nLGTM!\n\n> \n>  gcc/testsuite/g++.dg/reflect/range_args.C     |  6 ++--\n>  libstdc++-v3/include/bits/version.def         |  2 +-\n>  libstdc++-v3/include/bits/version.h           | 12 ++++----\n>  libstdc++-v3/include/std/ranges               | 28 +++++++++----------\n>  libstdc++-v3/src/c++23/std.cc.in              |  6 ++--\n>  .../testsuite/25_algorithms/contains/1.cc     | 18 ++++++------\n>  .../adaptors/{to_input => as_input}/1.cc      | 12 ++++----\n>  7 files changed, 42 insertions(+), 42 deletions(-)\n>  rename libstdc++-v3/testsuite/std/ranges/adaptors/{to_input => as_input}/1.cc (78%)\n> \n> diff --git a/gcc/testsuite/g++.dg/reflect/range_args.C b/gcc/testsuite/g++.dg/reflect/range_args.C\n> index fa06cf0ebc7..df9b5e42359 100644\n> --- a/gcc/testsuite/g++.dg/reflect/range_args.C\n> +++ b/gcc/testsuite/g++.dg/reflect/range_args.C\n> @@ -45,7 +45,7 @@ test_type_range(Rg&& rg)\n>  constexpr info vt[] = {^^int, ^^int, ^^float, ^^int, ^^float, ^^double};\n>  static_assert (test_type_range (vt | std::views::filter (is_integral_type))); // bidirectional\n>  static_assert (test_type_range (vt | std::views::take_while (is_integral_type))); // non-common\n> -static_assert (test_type_range (vt | std::views::to_input)); // input\n> +static_assert (test_type_range (vt | std::views::as_input)); // input\n>  static_assert (test_type_range (vt | std::views::cache_latest)); // input, move-only\n>  \n>  template<typename Rg>\n> @@ -74,7 +74,7 @@ constexpr bool not_digit(char c) {\n>  \n>  static_assert (test_value_range (vv | std::views::filter (not_digit))); // bidirectional\n>  static_assert (test_value_range (vv | std::views::take_while (not_digit))); // non-common\n> -static_assert (test_value_range (vv | std::views::to_input)); // input\n> +static_assert (test_value_range (vv | std::views::as_input)); // input\n>  static_assert (test_value_range (vv | std::views::cache_latest)); // input, move-only\n>  \t\t\t\t\t\t\t\t \n>  template<int> struct Aggr;\n> @@ -91,6 +91,6 @@ consteval bool of_int_type(info dm) {\n>  consteval {\n>    define_aggregate (^^Aggr<0>, dmt | std::views::filter (of_int_type)); // bidirectional\n>    define_aggregate (^^Aggr<1>, dmt | std::views::take_while (of_int_type)); // non-common\n> -  define_aggregate (^^Aggr<2>, dmt | std::views::to_input); // input\n> +  define_aggregate (^^Aggr<2>, dmt | std::views::as_input); // input\n>    define_aggregate (^^Aggr<3>, dmt | std::views::cache_latest); // input, move-only\n>  }\n> diff --git a/libstdc++-v3/include/bits/version.def b/libstdc++-v3/include/bits/version.def\n> index cfb90533ce4..51e60afe381 100644\n> --- a/libstdc++-v3/include/bits/version.def\n> +++ b/libstdc++-v3/include/bits/version.def\n> @@ -2196,7 +2196,7 @@ ftms = {\n>  };\n>  \n>  ftms = {\n> -  name = ranges_to_input;\n> +  name = ranges_as_input;\n>    values = {\n>      v = 202502;\n>      cxxmin = 26;\n> diff --git a/libstdc++-v3/include/bits/version.h b/libstdc++-v3/include/bits/version.h\n> index 22dd31b9d32..10348524e4e 100644\n> --- a/libstdc++-v3/include/bits/version.h\n> +++ b/libstdc++-v3/include/bits/version.h\n> @@ -2456,15 +2456,15 @@\n>  #endif /* !defined(__cpp_lib_ranges_filter) */\n>  #undef __glibcxx_want_ranges_filter\n>  \n> -#if !defined(__cpp_lib_ranges_to_input)\n> +#if !defined(__cpp_lib_ranges_as_input)\n>  # if (__cplusplus >  202302L)\n> -#  define __glibcxx_ranges_to_input 202502L\n> -#  if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_to_input)\n> -#   define __cpp_lib_ranges_to_input 202502L\n> +#  define __glibcxx_ranges_as_input 202502L\n> +#  if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_as_input)\n> +#   define __cpp_lib_ranges_as_input 202502L\n>  #  endif\n>  # endif\n> -#endif /* !defined(__cpp_lib_ranges_to_input) */\n> -#undef __glibcxx_want_ranges_to_input\n> +#endif /* !defined(__cpp_lib_ranges_as_input) */\n> +#undef __glibcxx_want_ranges_as_input\n>  \n>  #if !defined(__cpp_lib_to_string)\n>  # if (__cplusplus >  202302L) && _GLIBCXX_HOSTED && (__glibcxx_to_chars)\n> diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges\n> index 0aa4191e04f..ca91e081ad4 100644\n> --- a/libstdc++-v3/include/std/ranges\n> +++ b/libstdc++-v3/include/std/ranges\n> @@ -72,7 +72,7 @@\n>  #define __glibcxx_want_ranges_slide\n>  #define __glibcxx_want_ranges_stride\n>  #define __glibcxx_want_ranges_to_container\n> -#define __glibcxx_want_ranges_to_input\n> +#define __glibcxx_want_ranges_as_input\n>  #define __glibcxx_want_ranges_zip\n>  #include <bits/version.h>\n>  \n> @@ -10537,12 +10537,12 @@ namespace ranges\n>  } // namespace ranges\n>  #endif // __cpp_lib_ranges_cache_latest\n>  \n> -#if __cpp_lib_ranges_to_input // C++ >= 26\n> +#if __cpp_lib_ranges_as_input // C++ >= 26\n>  namespace ranges\n>  {\n>    template<input_range _Vp>\n>      requires view<_Vp>\n> -  class to_input_view : public view_interface<to_input_view<_Vp>>\n> +  class as_input_view : public view_interface<as_input_view<_Vp>>\n>    {\n>      _Vp _M_base = _Vp();\n>  \n> @@ -10550,10 +10550,10 @@ namespace ranges\n>      class _Iterator;\n>  \n>    public:\n> -    to_input_view() requires default_initializable<_Vp> = default;\n> +    as_input_view() requires default_initializable<_Vp> = default;\n>  \n>      constexpr explicit\n> -    to_input_view(_Vp __base)\n> +    as_input_view(_Vp __base)\n>      : _M_base(std::move(__base))\n>      { }\n>  \n> @@ -10591,12 +10591,12 @@ namespace ranges\n>    };\n>  \n>    template<typename _Range>\n> -    to_input_view(_Range&&) -> to_input_view<views::all_t<_Range>>;\n> +    as_input_view(_Range&&) -> as_input_view<views::all_t<_Range>>;\n>  \n>    template<input_range _Vp>\n>      requires view<_Vp>\n>    template<bool _Const>\n> -  class to_input_view<_Vp>::_Iterator\n> +  class as_input_view<_Vp>::_Iterator\n>    {\n>      using _Base = __maybe_const_t<_Const, _Vp>;\n>  \n> @@ -10607,7 +10607,7 @@ namespace ranges\n>      : _M_current(std::move(__current))\n>      { }\n>  \n> -    friend to_input_view;\n> +    friend as_input_view;\n>      friend _Iterator<!_Const>;\n>  \n>    public:\n> @@ -10680,13 +10680,13 @@ namespace ranges\n>      namespace __detail\n>      {\n>        template<typename _Tp>\n> -\tconcept __can_to_input = requires { to_input_view(std::declval<_Tp>()); };\n> +\tconcept __can_as_input = requires { as_input_view(std::declval<_Tp>()); };\n>      }\n>  \n> -    struct _ToInput : __adaptor::_RangeAdaptorClosure<_ToInput>\n> +    struct _AsInput : __adaptor::_RangeAdaptorClosure<_AsInput>\n>      {\n>        template<viewable_range _Range>\n> -\trequires __detail::__can_to_input<_Range>\n> +\trequires __detail::__can_as_input<_Range>\n>  \tconstexpr auto\n>  \toperator() [[nodiscard]] (_Range&& __r) const\n>  \t{\n> @@ -10695,16 +10695,16 @@ namespace ranges\n>  \t\t\t&& !forward_range<_Range>)\n>  \t    return views::all(std::forward<_Range>(__r));\n>  \t  else\n> -\t    return to_input_view(std::forward<_Range>(__r));\n> +\t    return as_input_view(std::forward<_Range>(__r));\n>  \t}\n>  \n>        static constexpr bool _S_has_simple_call_op = true;\n>      };\n>  \n> -    inline constexpr _ToInput to_input;\n> +    inline constexpr _AsInput as_input;\n>    }\n>  } // namespace ranges\n> -#endif // __cpp_lib_ranges_to_input\n> +#endif // __cpp_lib_ranges_as_input\n>  \n>  _GLIBCXX_END_NAMESPACE_VERSION\n>  } // namespace std\n> diff --git a/libstdc++-v3/src/c++23/std.cc.in b/libstdc++-v3/src/c++23/std.cc.in\n> index 3ac19871692..ad249cb3348 100644\n> --- a/libstdc++-v3/src/c++23/std.cc.in\n> +++ b/libstdc++-v3/src/c++23/std.cc.in\n> @@ -2800,9 +2800,9 @@ export namespace std\n>      using ranges::cache_latest_view;\n>      namespace views { using views::cache_latest; }\n>  #endif\n> -#if __glibcxx_ranges_to_input // C++ >= 26\n> -    using ranges::to_input_view;\n> -    namespace views { using views::to_input; }\n> +#if __glibcxx_ranges_as_input // C++ >= 26\n> +    using ranges::as_input_view;\n> +    namespace views { using views::as_input; }\n>  #endif\n>  #ifdef __cpp_lib_ranges_indices // C++ >= 26\n>      namespace views { using views::indices; }\n> diff --git a/libstdc++-v3/testsuite/25_algorithms/contains/1.cc b/libstdc++-v3/testsuite/25_algorithms/contains/1.cc\n> index b44c06032e8..aaf81f85a0a 100644\n> --- a/libstdc++-v3/testsuite/25_algorithms/contains/1.cc\n> +++ b/libstdc++-v3/testsuite/25_algorithms/contains/1.cc\n> @@ -14,17 +14,17 @@ void\n>  test01()\n>  {\n>    int x[] = {1,2,3};\n> -  using to_input = __gnu_test::test_input_range<int>;\n> -  VERIFY( ranges::contains(to_input(x), 1) );\n> -  VERIFY( ranges::contains(to_input(x), 2) );\n> -  VERIFY( ranges::contains(to_input(x), 3) );\n> -  VERIFY( !ranges::contains(to_input(x), 4) );\n> +  using as_input = __gnu_test::test_input_range<int>;\n> +  VERIFY( ranges::contains(as_input(x), 1) );\n> +  VERIFY( ranges::contains(as_input(x), 2) );\n> +  VERIFY( ranges::contains(as_input(x), 3) );\n> +  VERIFY( !ranges::contains(as_input(x), 4) );\n>    VERIFY( !ranges::contains(x, x+2, 3) );\n>    auto neg = [](int n) { return -n; };\n> -  VERIFY( ranges::contains(to_input(x), -1, neg) );\n> -  VERIFY( ranges::contains(to_input(x), -2, neg) );\n> -  VERIFY( ranges::contains(to_input(x), -3, neg) );\n> -  VERIFY( !ranges::contains(to_input(x), -4, neg) );\n> +  VERIFY( ranges::contains(as_input(x), -1, neg) );\n> +  VERIFY( ranges::contains(as_input(x), -2, neg) );\n> +  VERIFY( ranges::contains(as_input(x), -3, neg) );\n> +  VERIFY( !ranges::contains(as_input(x), -4, neg) );\n>  \n>    VERIFY( !ranges::contains(x, x+2, -3, neg) );\n>  }\n> diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/to_input/1.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/as_input/1.cc\n> similarity index 78%\n> rename from libstdc++-v3/testsuite/std/ranges/adaptors/to_input/1.cc\n> rename to libstdc++-v3/testsuite/std/ranges/adaptors/as_input/1.cc\n> index cde368a2f64..8bd1a82a7b7 100644\n> --- a/libstdc++-v3/testsuite/std/ranges/adaptors/to_input/1.cc\n> +++ b/libstdc++-v3/testsuite/std/ranges/adaptors/as_input/1.cc\n> @@ -2,8 +2,8 @@\n>  \n>  #include <ranges>\n>  \n> -#if __cpp_lib_ranges_to_input != 202502L\n> -# error \"Feature-test macro __cpp_lib_ranges_to_input has wrong value in <ranges>\"\n> +#if __cpp_lib_ranges_as_input != 202502L\n> +# error \"Feature-test macro __cpp_lib_ranges_as_input has wrong value in <ranges>\"\n>  #endif\n>  \n>  #include <algorithm>\n> @@ -18,7 +18,7 @@ void\n>  test01()\n>  {\n>    std::vector<int> r{1,2,3};\n> -  auto v = r | views::to_input;\n> +  auto v = r | views::as_input;\n>    using type = decltype(v);\n>    static_assert( ranges::input_range<type> && !ranges::forward_range<type> );\n>  \n> @@ -45,10 +45,10 @@ test02()\n>    int x[] = {1,2,3};\n>    __gnu_test::test_input_range<int> rx(x);\n>    static_assert( !ranges::common_range<decltype(rx)> );\n> -  auto v = rx | views::to_input;\n> +  auto v = rx | views::as_input;\n>    static_assert( std::same_as<decltype(v), decltype(views::all(rx))> );\n> -  static_assert( std::same_as<decltype(x | views::to_input),\n> -\t\t\t      decltype(x | views::to_input | views::to_input)> );\n> +  static_assert( std::same_as<decltype(x | views::as_input),\n> +\t\t\t      decltype(x | views::as_input | views::as_input)> );\n>  }\n>  \n>  int\n> -- \n> 2.53.0\n> \n>","headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=h+JUKfpC;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (1024-bit key,\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=h+JUKfpC","sourceware.org; dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com","sourceware.org; spf=pass smtp.mailfrom=redhat.com","server2.sourceware.org;\n arc=none smtp.remote-ip=170.10.129.124"],"Received":["from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fs1nj0yW5z1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 00:01:43 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id AD3AD4BA2E19\n\tfor <incoming@patchwork.ozlabs.org>; Thu,  9 Apr 2026 14:01:41 +0000 (GMT)","from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n by sourceware.org (Postfix) with ESMTP id 027214BA2E04\n for <gcc-patches@gcc.gnu.org>; Thu,  9 Apr 2026 14:01:06 +0000 (GMT)","from mail-qt1-f198.google.com (mail-qt1-f198.google.com\n [209.85.160.198]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-295-5oPkSp_IM_GmeEQAiLuUkQ-1; Thu, 09 Apr 2026 10:01:05 -0400","by mail-qt1-f198.google.com with SMTP id\n d75a77b69052e-50b2955cc1eso2614911cf.2\n for <gcc-patches@gcc.gnu.org>; Thu, 09 Apr 2026 07:01:04 -0700 (PDT)","from [2600:4040:aa66:bf00:9e8e:99ff:fed1:71f]\n ([2600:4040:aa66:bf00:9e8e:99ff:fed1:71f])\n by smtp.gmail.com with ESMTPSA id\n d75a77b69052e-50d63962c30sm159322231cf.10.2026.04.09.07.00.59\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 09 Apr 2026 07:01:00 -0700 (PDT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org AD3AD4BA2E19","OpenDKIM Filter v2.11.0 sourceware.org 027214BA2E04"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 027214BA2E04","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 027214BA2E04","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1775743267; cv=none;\n b=ZhtRSuv6F46FKNwYmHW2n1oVORsslgtZTi7xFAhXyg3H7e+PhOKqd3dwWGSYZN7HjFpxKsgReLv/7jczVlcIDhqadhpbEy9R8TV/rHQdg6Yy+EMyxoFIN0DpR5gs56ZoqlX2m8kH5qFrAJ5dn9tlpHBtD+HgrX9kltLl3FNuQkE=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1775743267; c=relaxed/simple;\n bh=3NXnmiR7yE+PU1og2bMBuSZhQSicFjRIEFXbhD+C0uM=;\n h=DKIM-Signature:From:Date:To:Subject:Message-ID:MIME-Version;\n b=fj/833zTxMi5wq9FzS/EpXuEIzBBImFtYCx69K01rcaRalRET4cRUiqedCp6iPEl4iWgiwIS9zJsUw+S6FqUdXRIih7p+zJDhSwkke4V9F5pH1pHC7x36plsQrVFRkeZsqFQC/VRt+3JKw2h3oR2XODZnC/4ROi/Ik0OUnYc8rk=","ARC-Authentication-Results":"i=1; server2.sourceware.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1775743266;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n in-reply-to:in-reply-to:references:references;\n bh=auBV5qjcwXOxfkovevOCgoErVc1hJFH41oDZ3IpUl+c=;\n b=h+JUKfpCiSBC8ZrUt+utdNDWbbMnq1hYHAcY7SCP6eeGUFAxN0m0mgmVfNRI4oYqdDmvfC\n iARlGYSRPWx4EKCSk/LvrG3W+Nglb/FWypAW44JNFcnacOmaNBXBLINzLem/KkBq8xQkSo\n xARbisE500yLtUnIj8YJjZROYRgBeqo=","X-MC-Unique":"5oPkSp_IM_GmeEQAiLuUkQ-1","X-Mimecast-MFC-AGG-ID":"5oPkSp_IM_GmeEQAiLuUkQ_1775743264","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775743264; x=1776348064;\n h=mime-version:references:message-id:in-reply-to:subject:cc:to:date\n :from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=1Haqahn1mZvtbsy/2masIP1RzwQaany0BHYGGeaE7Ck=;\n b=XJJqWHxZHeCP9BrSLBIIOmf7aAYOzWb8bCyuTZlHGjfwoD7Y/PBF47ZMihoIYC8yBw\n 562M5i3RDSCd1o4w62ScOIn3mJkpCSrX/Q2yUXCEgynGyIXuR/YbzKRd3AGmrC7K8nlG\n KbH8F4jhAu6pA96qUuITxqzVHFkYCRPmYtGg4lIp5eaNEGTHYuKisISiyrfgSXkPP760\n n7MQoOieLH4cujJRgbhWn3MV2P4ui5zLhVx6cmbJ+2ss8H5Tkemk48kaHwPCbvC1qSLw\n 0FaMu+yk2b6FQaaXqtq+6cXwK0datqLXFdd3m/tIHDfjvQJHcGv51oQhCRzD+CUrL6HL\n sJxQ==","X-Forwarded-Encrypted":"i=1;\n AJvYcCX3h7s1+NN8CGVItmrsKRKgJm4CCdMtCywb8ihS67UeU74EceKstWWX9+iHz7XO6uTSavzglE/8QbZFlg==@gcc.gnu.org","X-Gm-Message-State":"AOJu0Ywtrhsnpm0gB6ybMkmjxIQ9v7gXdCg/LnvjWigwlgJiG8kNKmQO\n a8+uyqQ5IQxA8Ryl0HZQByAKIQi3ypCC71jfv/7p5Ir4c8wUanBmoErni6BzR9bphVJjO4NJIIk\n DmehLSPtNuNzyCc50IZ2oHwPKS3eiP6j38wIUGQ+P4lUdft2CU6mEGSrxmhg=","X-Gm-Gg":"AeBDievpqAMJu9h1eX9mEh7h+IL79iDU6ZLD8PtGxMiiGzW8LQLrSgciLUVhP2v/cYE\n J+/St6kfd1x4aIJ9V7nACxopPov9VI5NTSqrzWjfq/3FiXLh6V9DSZX//D2IbLXxedoAgQAMYNL\n RHcxLqKcD9MSa72rPOv/Wi4uj76hdPqvsJ8WNSAx1hAmquqN1kqZmxp3VSS+U+gUKtGG/kUXouh\n On47+4NyyRHuYVLI0HcfwN/P7j5AMwNz4n0/ctX3CFkss7Qr3FZe72wnBut2WJWRUxv1hA8eLez\n r2aAN0Ju7D+sneQUL8otQDb67/478an7X1LDWX9mf3rOIXEO1g2dWUBTog//m+5911IX2IpnsmA\n 2cINmB3WDiQhnxbFmqU/wANgUShkUR9tPqosx88Ct9h3Hjv9FwPpgWg==","X-Received":["by 2002:ac8:5908:0:b0:509:1057:4a67 with SMTP id\n d75a77b69052e-50db00352ffmr86874871cf.2.1775743263836;\n Thu, 09 Apr 2026 07:01:03 -0700 (PDT)","by 2002:ac8:5908:0:b0:509:1057:4a67 with SMTP id\n d75a77b69052e-50db00352ffmr86872531cf.2.1775743261299;\n Thu, 09 Apr 2026 07:01:01 -0700 (PDT)"],"From":"Patrick Palka <ppalka@redhat.com>","X-Google-Original-From":"Patrick Palka <patrick@idea>","Date":"Thu, 9 Apr 2026 10:00:59 -0400 (EDT)","To":"=?iso-8859-2?q?Tomasz_Kami=F1ski?= <tkaminsk@redhat.com>","cc":"libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org","Subject":"Re: [PATCH] libstdc++: Rename views::to_input to views::as_input.","In-Reply-To":"<20260409135559.466278-1-tkaminsk@redhat.com>","Message-ID":"<1e43ee1d-b4c4-b50f-ef10-83563d3bef8d@idea>","References":"<20260409135559.466278-1-tkaminsk@redhat.com>","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"g_DykqcknsH8ZhuEuvjKtbN-Ha1S70lLx8Wf4W30rq4_1775743264","X-Mimecast-Originator":"redhat.com","Content-Type":"multipart/mixed; boundary=\"8323329-574038676-1775743260=:113381\"","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"}},{"id":3675388,"web_url":"http://patchwork.ozlabs.org/comment/3675388/","msgid":"<CAKvuMXBb8coFL5zCHnj4Ob75ubfd+4_rA-OtHckVHa4iOmbeiQ@mail.gmail.com>","list_archive_url":null,"date":"2026-04-09T16:01:04","subject":"Re: [PATCH] libstdc++: Rename views::to_input to views::as_input.","submitter":{"id":90409,"url":"http://patchwork.ozlabs.org/api/people/90409/","name":"Tomasz Kaminski","email":"tkaminsk@redhat.com"},"content":"On Thu, Apr 9, 2026 at 3:58 PM Tomasz Kamiński <tkaminsk@redhat.com> wrote:\n\n> This patch implements P3828R1: Rename the to_input view to as_input.\n>\n> The paper suggest renaming the feature test macro without changing the\n> value and this patch follows.\n>\n> libstdc++-v3/ChangeLog:\n>\n>         * include/bits/version.def (ranges_to_input): Rename to...\n>         (ranges_as_input): Rename from ranges_as_input.\n>         * include/bits/version.h: Regenerate.\n>         * include/std/ranges (ranges::to_input_view, views::to_input)\n>         (__detail::__can_to_input, views::_ToInput): Rename to...\n>         (ranges::as_input_view, views::as_input, __detail::__can_as_input)\n>         (views::_AsInput): Rename from above...\n>         * src/c++23/std.cc.in: Rename views::to_input and to_input_view\n>         export.\n>         * testsuite/25_algorithms/contains/1.cc: Replace views::to_input\n>         with views::as_input.\n>         * testsuite/std/ranges/adaptors/to_input/1.cc: Move to...\n>         * testsuite/std/ranges/adaptors/as_input/1.cc: ...here, and replace\n>         views::to_input with views::as_input.\n>\n> gcc/testsuite/ChangeLog:\n>\n>         * g++.dg/reflect/range_args.C: Replace views::to_input with\n>         views::as_input.\n> ---\n> The feature test macro situation is fine as is, as user can still\n> differentiate which name they got.\n>\n> Tested on x86_64-linux locally. Running full test now.\n> OK for trunk when all test passes?\n>\nAll test passed.\n\n>\n>  gcc/testsuite/g++.dg/reflect/range_args.C     |  6 ++--\n>  libstdc++-v3/include/bits/version.def         |  2 +-\n>  libstdc++-v3/include/bits/version.h           | 12 ++++----\n>  libstdc++-v3/include/std/ranges               | 28 +++++++++----------\n>  libstdc++-v3/src/c++23/std.cc.in              |  6 ++--\n>  .../testsuite/25_algorithms/contains/1.cc     | 18 ++++++------\n>  .../adaptors/{to_input => as_input}/1.cc      | 12 ++++----\n>  7 files changed, 42 insertions(+), 42 deletions(-)\n>  rename libstdc++-v3/testsuite/std/ranges/adaptors/{to_input =>\n> as_input}/1.cc (78%)\n>\n> diff --git a/gcc/testsuite/g++.dg/reflect/range_args.C\n> b/gcc/testsuite/g++.dg/reflect/range_args.C\n> index fa06cf0ebc7..df9b5e42359 100644\n> --- a/gcc/testsuite/g++.dg/reflect/range_args.C\n> +++ b/gcc/testsuite/g++.dg/reflect/range_args.C\n> @@ -45,7 +45,7 @@ test_type_range(Rg&& rg)\n>  constexpr info vt[] = {^^int, ^^int, ^^float, ^^int, ^^float, ^^double};\n>  static_assert (test_type_range (vt | std::views::filter\n> (is_integral_type))); // bidirectional\n>  static_assert (test_type_range (vt | std::views::take_while\n> (is_integral_type))); // non-common\n> -static_assert (test_type_range (vt | std::views::to_input)); // input\n> +static_assert (test_type_range (vt | std::views::as_input)); // input\n>  static_assert (test_type_range (vt | std::views::cache_latest)); //\n> input, move-only\n>\n>  template<typename Rg>\n> @@ -74,7 +74,7 @@ constexpr bool not_digit(char c) {\n>\n>  static_assert (test_value_range (vv | std::views::filter (not_digit)));\n> // bidirectional\n>  static_assert (test_value_range (vv | std::views::take_while\n> (not_digit))); // non-common\n> -static_assert (test_value_range (vv | std::views::to_input)); // input\n> +static_assert (test_value_range (vv | std::views::as_input)); // input\n>  static_assert (test_value_range (vv | std::views::cache_latest)); //\n> input, move-only\n>\n>  template<int> struct Aggr;\n> @@ -91,6 +91,6 @@ consteval bool of_int_type(info dm) {\n>  consteval {\n>    define_aggregate (^^Aggr<0>, dmt | std::views::filter (of_int_type));\n> // bidirectional\n>    define_aggregate (^^Aggr<1>, dmt | std::views::take_while\n> (of_int_type)); // non-common\n> -  define_aggregate (^^Aggr<2>, dmt | std::views::to_input); // input\n> +  define_aggregate (^^Aggr<2>, dmt | std::views::as_input); // input\n>    define_aggregate (^^Aggr<3>, dmt | std::views::cache_latest); // input,\n> move-only\n>  }\n> diff --git a/libstdc++-v3/include/bits/version.def\n> b/libstdc++-v3/include/bits/version.def\n> index cfb90533ce4..51e60afe381 100644\n> --- a/libstdc++-v3/include/bits/version.def\n> +++ b/libstdc++-v3/include/bits/version.def\n> @@ -2196,7 +2196,7 @@ ftms = {\n>  };\n>\n>  ftms = {\n> -  name = ranges_to_input;\n> +  name = ranges_as_input;\n>    values = {\n>      v = 202502;\n>      cxxmin = 26;\n> diff --git a/libstdc++-v3/include/bits/version.h\n> b/libstdc++-v3/include/bits/version.h\n> index 22dd31b9d32..10348524e4e 100644\n> --- a/libstdc++-v3/include/bits/version.h\n> +++ b/libstdc++-v3/include/bits/version.h\n> @@ -2456,15 +2456,15 @@\n>  #endif /* !defined(__cpp_lib_ranges_filter) */\n>  #undef __glibcxx_want_ranges_filter\n>\n> -#if !defined(__cpp_lib_ranges_to_input)\n> +#if !defined(__cpp_lib_ranges_as_input)\n>  # if (__cplusplus >  202302L)\n> -#  define __glibcxx_ranges_to_input 202502L\n> -#  if defined(__glibcxx_want_all) ||\n> defined(__glibcxx_want_ranges_to_input)\n> -#   define __cpp_lib_ranges_to_input 202502L\n> +#  define __glibcxx_ranges_as_input 202502L\n> +#  if defined(__glibcxx_want_all) ||\n> defined(__glibcxx_want_ranges_as_input)\n> +#   define __cpp_lib_ranges_as_input 202502L\n>  #  endif\n>  # endif\n> -#endif /* !defined(__cpp_lib_ranges_to_input) */\n> -#undef __glibcxx_want_ranges_to_input\n> +#endif /* !defined(__cpp_lib_ranges_as_input) */\n> +#undef __glibcxx_want_ranges_as_input\n>\n>  #if !defined(__cpp_lib_to_string)\n>  # if (__cplusplus >  202302L) && _GLIBCXX_HOSTED && (__glibcxx_to_chars)\n> diff --git a/libstdc++-v3/include/std/ranges\n> b/libstdc++-v3/include/std/ranges\n> index 0aa4191e04f..ca91e081ad4 100644\n> --- a/libstdc++-v3/include/std/ranges\n> +++ b/libstdc++-v3/include/std/ranges\n> @@ -72,7 +72,7 @@\n>  #define __glibcxx_want_ranges_slide\n>  #define __glibcxx_want_ranges_stride\n>  #define __glibcxx_want_ranges_to_container\n> -#define __glibcxx_want_ranges_to_input\n> +#define __glibcxx_want_ranges_as_input\n>  #define __glibcxx_want_ranges_zip\n>  #include <bits/version.h>\n>\n> @@ -10537,12 +10537,12 @@ namespace ranges\n>  } // namespace ranges\n>  #endif // __cpp_lib_ranges_cache_latest\n>\n> -#if __cpp_lib_ranges_to_input // C++ >= 26\n> +#if __cpp_lib_ranges_as_input // C++ >= 26\n>  namespace ranges\n>  {\n>    template<input_range _Vp>\n>      requires view<_Vp>\n> -  class to_input_view : public view_interface<to_input_view<_Vp>>\n> +  class as_input_view : public view_interface<as_input_view<_Vp>>\n>    {\n>      _Vp _M_base = _Vp();\n>\n> @@ -10550,10 +10550,10 @@ namespace ranges\n>      class _Iterator;\n>\n>    public:\n> -    to_input_view() requires default_initializable<_Vp> = default;\n> +    as_input_view() requires default_initializable<_Vp> = default;\n>\n>      constexpr explicit\n> -    to_input_view(_Vp __base)\n> +    as_input_view(_Vp __base)\n>      : _M_base(std::move(__base))\n>      { }\n>\n> @@ -10591,12 +10591,12 @@ namespace ranges\n>    };\n>\n>    template<typename _Range>\n> -    to_input_view(_Range&&) -> to_input_view<views::all_t<_Range>>;\n> +    as_input_view(_Range&&) -> as_input_view<views::all_t<_Range>>;\n>\n>    template<input_range _Vp>\n>      requires view<_Vp>\n>    template<bool _Const>\n> -  class to_input_view<_Vp>::_Iterator\n> +  class as_input_view<_Vp>::_Iterator\n>    {\n>      using _Base = __maybe_const_t<_Const, _Vp>;\n>\n> @@ -10607,7 +10607,7 @@ namespace ranges\n>      : _M_current(std::move(__current))\n>      { }\n>\n> -    friend to_input_view;\n> +    friend as_input_view;\n>      friend _Iterator<!_Const>;\n>\n>    public:\n> @@ -10680,13 +10680,13 @@ namespace ranges\n>      namespace __detail\n>      {\n>        template<typename _Tp>\n> -       concept __can_to_input = requires {\n> to_input_view(std::declval<_Tp>()); };\n> +       concept __can_as_input = requires {\n> as_input_view(std::declval<_Tp>()); };\n>      }\n>\n> -    struct _ToInput : __adaptor::_RangeAdaptorClosure<_ToInput>\n> +    struct _AsInput : __adaptor::_RangeAdaptorClosure<_AsInput>\n>      {\n>        template<viewable_range _Range>\n> -       requires __detail::__can_to_input<_Range>\n> +       requires __detail::__can_as_input<_Range>\n>         constexpr auto\n>         operator() [[nodiscard]] (_Range&& __r) const\n>         {\n> @@ -10695,16 +10695,16 @@ namespace ranges\n>                         && !forward_range<_Range>)\n>             return views::all(std::forward<_Range>(__r));\n>           else\n> -           return to_input_view(std::forward<_Range>(__r));\n> +           return as_input_view(std::forward<_Range>(__r));\n>         }\n>\n>        static constexpr bool _S_has_simple_call_op = true;\n>      };\n>\n> -    inline constexpr _ToInput to_input;\n> +    inline constexpr _AsInput as_input;\n>    }\n>  } // namespace ranges\n> -#endif // __cpp_lib_ranges_to_input\n> +#endif // __cpp_lib_ranges_as_input\n>\n>  _GLIBCXX_END_NAMESPACE_VERSION\n>  } // namespace std\n> diff --git a/libstdc++-v3/src/c++23/std.cc.in b/libstdc++-v3/src/c++23/\n> std.cc.in\n> index 3ac19871692..ad249cb3348 100644\n> --- a/libstdc++-v3/src/c++23/std.cc.in\n> +++ b/libstdc++-v3/src/c++23/std.cc.in\n> @@ -2800,9 +2800,9 @@ export namespace std\n>      using ranges::cache_latest_view;\n>      namespace views { using views::cache_latest; }\n>  #endif\n> -#if __glibcxx_ranges_to_input // C++ >= 26\n> -    using ranges::to_input_view;\n> -    namespace views { using views::to_input; }\n> +#if __glibcxx_ranges_as_input // C++ >= 26\n> +    using ranges::as_input_view;\n> +    namespace views { using views::as_input; }\n>  #endif\n>  #ifdef __cpp_lib_ranges_indices // C++ >= 26\n>      namespace views { using views::indices; }\n> diff --git a/libstdc++-v3/testsuite/25_algorithms/contains/1.cc\n> b/libstdc++-v3/testsuite/25_algorithms/contains/1.cc\n> index b44c06032e8..aaf81f85a0a 100644\n> --- a/libstdc++-v3/testsuite/25_algorithms/contains/1.cc\n> +++ b/libstdc++-v3/testsuite/25_algorithms/contains/1.cc\n> @@ -14,17 +14,17 @@ void\n>  test01()\n>  {\n>    int x[] = {1,2,3};\n> -  using to_input = __gnu_test::test_input_range<int>;\n> -  VERIFY( ranges::contains(to_input(x), 1) );\n> -  VERIFY( ranges::contains(to_input(x), 2) );\n> -  VERIFY( ranges::contains(to_input(x), 3) );\n> -  VERIFY( !ranges::contains(to_input(x), 4) );\n> +  using as_input = __gnu_test::test_input_range<int>;\n> +  VERIFY( ranges::contains(as_input(x), 1) );\n> +  VERIFY( ranges::contains(as_input(x), 2) );\n> +  VERIFY( ranges::contains(as_input(x), 3) );\n> +  VERIFY( !ranges::contains(as_input(x), 4) );\n>    VERIFY( !ranges::contains(x, x+2, 3) );\n>    auto neg = [](int n) { return -n; };\n> -  VERIFY( ranges::contains(to_input(x), -1, neg) );\n> -  VERIFY( ranges::contains(to_input(x), -2, neg) );\n> -  VERIFY( ranges::contains(to_input(x), -3, neg) );\n> -  VERIFY( !ranges::contains(to_input(x), -4, neg) );\n> +  VERIFY( ranges::contains(as_input(x), -1, neg) );\n> +  VERIFY( ranges::contains(as_input(x), -2, neg) );\n> +  VERIFY( ranges::contains(as_input(x), -3, neg) );\n> +  VERIFY( !ranges::contains(as_input(x), -4, neg) );\n>\n>    VERIFY( !ranges::contains(x, x+2, -3, neg) );\n>  }\n> diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/to_input/1.cc\n> b/libstdc++-v3/testsuite/std/ranges/adaptors/as_input/1.cc\n> similarity index 78%\n> rename from libstdc++-v3/testsuite/std/ranges/adaptors/to_input/1.cc\n> rename to libstdc++-v3/testsuite/std/ranges/adaptors/as_input/1.cc\n> index cde368a2f64..8bd1a82a7b7 100644\n> --- a/libstdc++-v3/testsuite/std/ranges/adaptors/to_input/1.cc\n> +++ b/libstdc++-v3/testsuite/std/ranges/adaptors/as_input/1.cc\n> @@ -2,8 +2,8 @@\n>\n>  #include <ranges>\n>\n> -#if __cpp_lib_ranges_to_input != 202502L\n> -# error \"Feature-test macro __cpp_lib_ranges_to_input has wrong value in\n> <ranges>\"\n> +#if __cpp_lib_ranges_as_input != 202502L\n> +# error \"Feature-test macro __cpp_lib_ranges_as_input has wrong value in\n> <ranges>\"\n>  #endif\n>\n>  #include <algorithm>\n> @@ -18,7 +18,7 @@ void\n>  test01()\n>  {\n>    std::vector<int> r{1,2,3};\n> -  auto v = r | views::to_input;\n> +  auto v = r | views::as_input;\n>    using type = decltype(v);\n>    static_assert( ranges::input_range<type> &&\n> !ranges::forward_range<type> );\n>\n> @@ -45,10 +45,10 @@ test02()\n>    int x[] = {1,2,3};\n>    __gnu_test::test_input_range<int> rx(x);\n>    static_assert( !ranges::common_range<decltype(rx)> );\n> -  auto v = rx | views::to_input;\n> +  auto v = rx | views::as_input;\n>    static_assert( std::same_as<decltype(v), decltype(views::all(rx))> );\n> -  static_assert( std::same_as<decltype(x | views::to_input),\n> -                             decltype(x | views::to_input |\n> views::to_input)> );\n> +  static_assert( std::same_as<decltype(x | views::as_input),\n> +                             decltype(x | views::as_input |\n> views::as_input)> );\n>  }\n>\n>  int\n> --\n> 2.53.0\n>\n>","headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=baZLc27N;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (1024-bit key,\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=baZLc27N","sourceware.org; dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com","sourceware.org; spf=pass smtp.mailfrom=redhat.com","server2.sourceware.org;\n arc=none smtp.remote-ip=170.10.129.124"],"Received":["from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fs4SS29lDz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 02:02:00 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 4BA9D4BA23C4\n\tfor <incoming@patchwork.ozlabs.org>; Thu,  9 Apr 2026 16:01:58 +0000 (GMT)","from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n by sourceware.org (Postfix) with ESMTP id 5D4DF4BA2E19\n for <gcc-patches@gcc.gnu.org>; Thu,  9 Apr 2026 16:01:20 +0000 (GMT)","from mail-yw1-f199.google.com (mail-yw1-f199.google.com\n [209.85.128.199]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-269-5MRNtI5rPumyvc7kVJSVZQ-1; Thu, 09 Apr 2026 12:01:18 -0400","by mail-yw1-f199.google.com with SMTP id\n 00721157ae682-79e095d7628so22755447b3.0\n for <gcc-patches@gcc.gnu.org>; Thu, 09 Apr 2026 09:01:18 -0700 (PDT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 4BA9D4BA23C4","OpenDKIM Filter v2.11.0 sourceware.org 5D4DF4BA2E19"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 5D4DF4BA2E19","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 5D4DF4BA2E19","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1775750480; cv=none;\n b=goK30FLMdwlmP/R/K5FW3/cX3RZ0D5R/RaB+jRwPjpHMuuhN5dd86lQveVwUIFk6tnaPTfQGrz9TCayeTauyvqq9AV4q0luFOK3lLJnLaW7VyXnyWSa6rolIvBUIeguQo2J6IBJt9bBxef0Od2gqhkmjEb66h0kllQxMk77nq6Y=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1775750480; c=relaxed/simple;\n bh=QXPRyEwUHkpkiRQBS8zPXTr5dj6G9wCvgfFhh0Pt3+U=;\n h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;\n b=SLqyy1ZfCMfZ1U2jU0FMUYTaYHWUXYmupncD7nDPlcab5p8mcta7KJVUDgFFnLyKPjDowv4upASAFc/ufGko0cjVINfqbhXH5WFIIZYbdwTqqfIQQ+TbtFL6ZXgmqmRKOfX+McgdMHexjOQrK6c3n2AuZ+k79lAC+QmxzjcCHtY=","ARC-Authentication-Results":"i=1; server2.sourceware.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1775750480;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:mime-version:mime-version:content-type:content-type:\n in-reply-to:in-reply-to:references:references;\n bh=UhecPSBrDhfFFLIx9UwR1UjxUC/GvV6/llxaUZFSREk=;\n b=baZLc27NKkeAOKPLB60eWqIZYnj5uRjznKbIrWoHZ8TO2MNhPmD4OXwuisTp4sH562EVa0\n ctAl9qY46LMkME91J9KqFskPN2EkK/8GBI3bV13IHyM5+wRjBLyUcDLEQSyc7iJpJq54iH\n Qy22Vot0QYqC44qlsiP/DLV10wvMlJk=","X-MC-Unique":"5MRNtI5rPumyvc7kVJSVZQ-1","X-Mimecast-MFC-AGG-ID":"5MRNtI5rPumyvc7kVJSVZQ_1775750478","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775750478; x=1776355278;\n h=to:subject:message-id:date:from:in-reply-to:references:mime-version\n :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=UhecPSBrDhfFFLIx9UwR1UjxUC/GvV6/llxaUZFSREk=;\n b=B9YueSDIUPboHWiqUqm7LbOzVIu/IbM1Fbi+sn/tD1Bqv6fsGD3uREUZqjRuaNxdeU\n 4Jw6eOHhE2P4hhixNs7ZcHkOAzJLwrjr5O5bo2XpO2fEQ00WOB6NvbRf/Kd6pTriLJUP\n IkA55l//t2+Eu73N1er572yQsEmWkWQvvePvH/TgH8vOopvgKzqaOSNr2A6aXxvOG39j\n F9+eAbJSyK7AbL/QP6z2m/rcAGUVZVo7ciN+1Dqb9HdZ2rcPGaFjuNg0IS4LfagdYQtB\n XwbWEdSaGyXPoVlldAEA9H9zviTJf9b9BgmDtwq8wmKPQb/K08+A9DnssUfNnuHrgvlT\n EFzw==","X-Forwarded-Encrypted":"i=1;\n AJvYcCU7HrUJ8Nfd0JRDsCJQPaCM5IKXbN1mVMomhbapaJm2ZMW6nS1nGMBczR+HGNNx7HpeR8kC5A6iv2l1jg==@gcc.gnu.org","X-Gm-Message-State":"AOJu0Yw+UiXw1ZqTXapTRCw5UDWmm8TIavo1869O0GXSxtAe9VrYarl7\n yak+CqTWU9wpe+UY1aK83dbZlEl+av8aHqiuxDOpo44NXqdrz8NVVUi0TZhPAfyhp6S3Fzfnaxb\n r1RjOD8Dnjifwc4WRHFdzEbBgkTOCc/s6qsSOQtr48o/cMkUg0be68yrH7T9VuVPJVClJM3FYBR\n 4uJ9x52egRN5wVWpFLEg++77d0TPEsFObT9g==","X-Gm-Gg":"AeBDievbF0SypURnh3cFHu6F9Xh+Cr4JMUTaQ9OKTrG1y8wlFJ/qhwTFCmOuvGcYTjR\n qcEnuEfqkX0JPJ2+2J0TCOSmnMNVywGXJCGh39UDFBPO3sMXS0LPMCrg8qNwA7ZQfANTTvYcwhQ\n GK9H1UPQoo5DYLaSVrj/sjM/E5QwMVTXuWYF9eIIcpsaxQN0N3zIUEeuwUtF3i54XbCNZPY76X6\n GziUkR03HIVWUAlqERFOrYlDCn/q+DPeo+c6OBrq/tiJHKyTuBGFIMol58a23MOzkki","X-Received":["by 2002:a05:690c:74ca:b0:79e:21eb:e9ca with SMTP id\n 00721157ae682-7adf3254e6amr47226577b3.30.1775750477327;\n Thu, 09 Apr 2026 09:01:17 -0700 (PDT)","by 2002:a05:690c:74ca:b0:79e:21eb:e9ca with SMTP id\n 00721157ae682-7adf3254e6amr47225747b3.30.1775750476527; Thu, 09 Apr 2026\n 09:01:16 -0700 (PDT)"],"MIME-Version":"1.0","References":"<20260409135559.466278-1-tkaminsk@redhat.com>","In-Reply-To":"<20260409135559.466278-1-tkaminsk@redhat.com>","From":"Tomasz Kaminski <tkaminsk@redhat.com>","Date":"Thu, 9 Apr 2026 18:01:04 +0200","X-Gm-Features":"AQROBzBjj5bAiJ9hx2-l0pY4rVkSQrHjnsNP3rrGfiQMT1DaCPdJYTJMpK7pMwQ","Message-ID":"\n <CAKvuMXBb8coFL5zCHnj4Ob75ubfd+4_rA-OtHckVHa4iOmbeiQ@mail.gmail.com>","Subject":"Re: [PATCH] libstdc++: Rename views::to_input to views::as_input.","To":"libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"VrVuLV6fgZmYOfyXyLhqBmuZr3WZwcdwjs4HcSkzJp0_1775750478","X-Mimecast-Originator":"redhat.com","Content-Type":"multipart/alternative; boundary=\"0000000000005d20b7064f092057\"","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"}}]