[{"id":3680350,"web_url":"http://patchwork.ozlabs.org/comment/3680350/","msgid":"<bmm.h16pdw841s.gcc.gcc-TEST.ppalka.5.26.REVIEW@forge-stage.sourceware.org>","list_archive_url":null,"date":"2024-10-25T14:16:58","subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","submitter":{"id":93215,"url":"http://patchwork.ozlabs.org/api/people/93215/","name":"ppalka via Sourceware Forge","email":"forge-bot+ppalka@forge-stage.sourceware.org"},"content":"(ppalka) <ppalka@gcc.gnu.org> requested changes to the code:\nLGTM besides a couple of stylistic remarks.\n\nAnd I think we want to define `__cpp_lib_containers_ranges` from `<vector>` now?\n\n> +++ libstdc++-v3/include/bits/stl_uninitialized.h\n> @@ -599,0 +614,4 @@\n> +\t    return std::__do_uninit_copy(std::move(__first), __last, __result);\n> +\t}\n> +      else\n> +\treturn std::uninitialized_copy(std::move(__first), std::move(__last),\nMoving `__last` only here seems inconsistent/unnecessary?\n\n> +++ libstdc++-v3/include/bits/stl_uninitialized.h\n> @@ -599,0 +614,4 @@\n> +\t    return std::__do_uninit_copy(std::move(__first), __last, __result);\n> +\t}\n> +      else\n> +\treturn std::uninitialized_copy(std::move(__first), std::move(__last),\nAh yeah, sentinels must be copyable, even for a common range (implying that common ranges cannot use move-only iterators).\n\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -895,0 +911,4 @@\n> +\t    {\n> +\t      auto __first = ranges::begin(__rg);\n> +\t      const auto __last = ranges::end(__rg);\n> +\t      for (; __first != __last; ++__first)\nFWIW we could use a range for loop here and for some of the other `emplace_back` loops.\n\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -895,0 +911,4 @@\n> +\t    {\n> +\t      auto __first = ranges::begin(__rg);\n> +\t      const auto __last = ranges::end(__rg);\n> +\t      for (; __first != __last; ++__first)\nThat's what I did at first, but it needs to be quite ugly:\n\n```\nfor (auto&& __e : __rg)\n  emplace_back(std::forward<decltype(__e)>(__e));\n```\n\nBecause in theory it could be a range where the reference type is an rvalue reference, and the value type has:\n\n```\noperator bool() const & = delete;\noperator bool() && { return true; }\n```\n\n\n\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -895,0 +911,4 @@\n> +\t    {\n> +\t      auto __first = ranges::begin(__rg);\n> +\t      const auto __last = ranges::end(__rg);\n> +\t      for (; __first != __last; ++__first)\nI suppose it's a matter of taste whether those two lines with the ugly `forward<decltype(__e)>` are worse than the four lines I used instead.\n\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -895,0 +911,4 @@\n> +\t    {\n> +\t      auto __first = ranges::begin(__rg);\n> +\t      const auto __last = ranges::end(__rg);\n> +\t      for (; __first != __last; ++__first)\nWhichever form we use, I should add a test with such a troublesome type.\n\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -895,0 +911,4 @@\n> +\t    {\n> +\t      auto __first = ranges::begin(__rg);\n> +\t      const auto __last = ranges::end(__rg);\n> +\t      for (; __first != __last; ++__first)\nEek, never mind then.\n\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -895,0 +911,4 @@\n> +\t    {\n> +\t      auto __first = ranges::begin(__rg);\n> +\t      const auto __last = ranges::end(__rg);\n> +\t      for (; __first != __last; ++__first)\n> Whichever form we use, I should add a test with such a troublesome type.\n\nI added such a test, and it revealed a latent bug in `vector<bool>::emplace_back`:\n\n```c++\n\templace_back(_Args&&... __args)\n\t{\n\t  push_back(bool(__args...));\n#if __cplusplus > 201402L\n\t  return back();\n#endif\n\t}\n```\n\nThis should be `bool(std::forward<_Args>(__args)...)`\n\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-138","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 spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::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 4g0tbj3K7mz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 19:05:21 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id A5C8F4B9DB57\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 09:05:19 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 86ABD4BAE7C3\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:29 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id 51DFE4053B\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:29 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org A5C8F4B9DB57","OpenDKIM Filter v2.11.0 sourceware.org 86ABD4BAE7C3"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 86ABD4BAE7C3","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 86ABD4BAE7C3","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776848549; cv=none;\n b=ZdL3sUeI9VJwEZpCfbmevw5bBe1pxvbk2Hv2AosRpNhBOj4ZKrzN6NX/sYkLSJXDDEiYiw8cyMp/+3udGAuBELiKcgzA49FjBcaz6K7fO14d/ynkIiwT/mBXdWd2SI5E6DxMT0Tldz8wWjsfF8ge8vGHBeA5yhssmRnqHuqQR40=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776848549; c=relaxed/simple;\n bh=2mfaj94ecF0dT4j40wx6H1UEGiHPMdI/L4e/92IE6WI=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=eKWs5mOUC9HslnrFDoPkY08gLb/XAwXDFTddHVrLMitjAXjgcKKhk5jJEXNHBpn++MQAdYQJqGmiUBRA07uFqROWlTvs824Zj7xe34fR/aUee7fTZQSXHADVsruKt7AxCdGy4p1pLfvCOKnr/Hi8pjpEwIFd16PoTsu2gyl15m0=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","From":"ppalka via Sourceware Forge\n <forge-bot+ppalka@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Fri, 25 Oct 2024 14:16:58 +0000","Message-ID":"\n <bmm.h16pdw841s.gcc.gcc-TEST.ppalka.5.26.REVIEW@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhu8xfp4me.gcc.gcc-TEST.redi.5.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"ppalka","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5","X-Review":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-138","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","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":3680351,"web_url":"http://patchwork.ozlabs.org/comment/3680351/","msgid":"<bmm.h19xo5i79c.gcc.gcc-TEST.ppalka.5.35.REVIEW@forge-stage.sourceware.org>","list_archive_url":null,"date":"2024-10-28T12:35:45","subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","submitter":{"id":93215,"url":"http://patchwork.ozlabs.org/api/people/93215/","name":"ppalka via Sourceware Forge","email":"forge-bot+ppalka@forge-stage.sourceware.org"},"content":"(ppalka) <ppalka@gcc.gnu.org> requested changes to the code:\n\n\n> +++ libstdc++-v3/include/bits/ranges_base.h\n> @@ -1082,0 +1084,4 @@\n> +namespace __detail\n> +{\n> +  template<typename _Rg, typename _Tp>\n> +    concept __container_compatible_range\nTesting closing my own review threads\n\n> +++ libstdc++-v3/include/bits/ranges_base.h\n> @@ -1082,0 +1084,4 @@\n> +namespace __detail\n> +{\n> +  template<typename _Rg, typename _Tp>\n> +    concept __container_compatible_range\nCan't self-resolve ☹️\n\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -895,0 +901,4 @@\n> +\tconstexpr\n> +\tvector(from_range_t, _Rg&& __rg, const _Alloc& __a = _Alloc())\n> +\t: _Base(__a)\n> +\t{\nAnother one\n\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-187","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 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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"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 4g0tbj5pXbz1yHB\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 19:05:21 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 0290F4BAE7D2\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 09:05:20 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 7653B4BA902C\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:33 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id 1C57440544\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:30 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 0290F4BAE7D2","OpenDKIM Filter v2.11.0 sourceware.org 7653B4BA902C"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 7653B4BA902C","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 7653B4BA902C","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776848553; cv=none;\n b=o/OgY/Gd/Zp4of5QroPUsaN3HFJcppaXHtJp6AtpkdNbgM26k6bDhBvpezFY3mceOHlaN/dKL1vEOk9cEse/g2oHCXNXL4aIC+iyqsFnYSl/jO8chVashkk3+pUsQLIMmL9feIATl8Bv8CZ3hHPj2lzqdirzaLOpyt1JqHhbYrI=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776848553; c=relaxed/simple;\n bh=tEX3k6gAbl9NGJFtCqsBy+6m+maM0GeVfdE9xN7kZQo=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=TPoDtC2FZ3T7ZfA7ZGiNvllAI0SgkfGVx9gf6vJ0mRkkIISRvjwJzhwMJS/KcVTwotdXxzaDUJ54K3jD1lMR9YbzEjsLjwfOvtJ6u1E9/XAMCTgNH32Dx3Lsi6mu1PlCaqFkw/+3TNieZnSQc2tScHJwb0RDuqCssjDpsVVwvpw=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","From":"ppalka via Sourceware Forge\n <forge-bot+ppalka@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Mon, 28 Oct 2024 12:35:45 +0000","Message-ID":"\n <bmm.h19xo5i79c.gcc.gcc-TEST.ppalka.5.35.REVIEW@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhu8xfp4me.gcc.gcc-TEST.redi.5.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"ppalka","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5","X-Review":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-187","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"8bit","MIME-Version":"1.0","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":3680353,"web_url":"http://patchwork.ozlabs.org/comment/3680353/","msgid":"<bmm.h16r4zksw0.gcc.gcc-TEST.redi.5.150.CMT@forge-stage.sourceware.org>","list_archive_url":null,"date":"2024-10-25T15:20:33","subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","submitter":{"id":93210,"url":"http://patchwork.ozlabs.org/api/people/93210/","name":"Jonathan Wakely via Sourceware Forge","email":"forge-bot+redi@forge-stage.sourceware.org"},"content":"> And I think we want to define `__cpp_lib_containers_ranges` from `<vector>` now?\n\nI suppose we could define it only in `<vector>`, and not in `<version>` (because we don't implement these new functions for the other containers yet). My thinking was that if a program includes both `<vector>` and `<list>` and tests that the macro is defined, they can't tell that we mean \"only for one header\".\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-150","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 spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::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 4g0tcw63H2z1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 19:06:24 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id DA07E4BAE7E6\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 09:06:22 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 162274BAE7CB\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:30 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id 90BCA4053E\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:29 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org DA07E4BAE7E6","OpenDKIM Filter v2.11.0 sourceware.org 162274BAE7CB"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 162274BAE7CB","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 162274BAE7CB","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776848550; cv=none;\n b=FoZfYucPlR47ydGje/eD3x+jjWlslSlTSg421ZpXwUdZOyb3xb0w2tFaKKYssFsswZWyz5TcLrFxbPlmXtfAVnWA2LKAHrDwTm1YF+Qr+0K1O2btLdhn9QJexJvQ+QWSMJOOy3Ye16TcVKGvTUGptQYU89K6w1BiO48B2Kvt+OA=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776848550; c=relaxed/simple;\n bh=cL3CA30YpVPo5bsl+Ox0zfPcevmRY4it+9wZGBfwcU0=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=tA84K9b+2E6YAWA+bwa8/tlJvO82ppGwEy9ETP7geZqsLdgFzm/yeOfzsSLynCxc/k++T11NwAfe6TwX31P1P+qEtFhPQWAmD8nMT4GSP9sXofh+y3T4twovM9U+iSIkpbrvo7R5LI/sQekF8e5DJY3XdSzO00ZP8vi2sL7gubU=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","From":"Jonathan Wakely via Sourceware Forge\n <forge-bot+redi@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Fri, 25 Oct 2024 15:20:33 +0000","Message-ID":"\n <bmm.h16r4zksw0.gcc.gcc-TEST.redi.5.150.CMT@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhu8xfp4me.gcc.gcc-TEST.redi.5.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"ppalka","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5","X-Comment":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-150","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","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":3680354,"web_url":"http://patchwork.ozlabs.org/comment/3680354/","msgid":"<bmm.h17zhnds1s.gcc.gcc-TEST.ppalka.5.34.REVIEW@forge-stage.sourceware.org>","list_archive_url":null,"date":"2024-10-26T18:09:37","subject":"Re: [APPROVED][PATCH v1 0/1] libstdc++: Add P1206R7 from_range\n members to std::vector [PR111055]","submitter":{"id":93215,"url":"http://patchwork.ozlabs.org/api/people/93215/","name":"ppalka via Sourceware Forge","email":"forge-bot+ppalka@forge-stage.sourceware.org"},"content":"(ppalka) <ppalka@gcc.gnu.org> approved the changes:\nLGTM\n\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -1344,3 +1464,3 @@\n>  \templace_back(_Args&&... __args)\n>  \t{\n> -\t  push_back(bool(__args...));\n> +\t  push_back(bool(std::forward<_Args>(__args)...));\nFWIW it seems `emplace(const_iterator __pos, _Args&&... __args)` has the same latent bug.\n\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -1344,3 +1464,3 @@\n>  \templace_back(_Args&&... __args)\n>  \t{\n> -\t  push_back(bool(__args...));\n> +\t  push_back(bool(std::forward<_Args>(__args)...));\nMaybe I'll fix those latent bugs separately first, so that can be backported more easily.\n\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-178","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 spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::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 4g0tdB4PZKz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 19:06:38 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id C0B3B4BAE7C3\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 09:06:36 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 3E98A4BAD148\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:33 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id E9FB440538\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:29 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org C0B3B4BAE7C3","OpenDKIM Filter v2.11.0 sourceware.org 3E98A4BAD148"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 3E98A4BAD148","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 3E98A4BAD148","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776848553; cv=none;\n b=OtTMkBMdhLs5vJWDlLfsu8uERzjFk1Ah6isnzgHegGpvOzN6x50hr3d7UBC5USs+xL+tUV3XriOZ0AwObQFIIMvMOli4Ho11s3ZZII0WX920UxvDmADyjw5fpT4ARiy/hw0Es0G/7uUCPJdwVrz4y+fZhuf1rb1lD9Z+EmUyhzo=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776848553; c=relaxed/simple;\n bh=n5gTd4tNEf6X5EsIQerSmA+UuY3NcoZzNjkldww4O9E=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=Z9DeInGYFgKhoRsl27cCJy04fmLV3uXn7SmUavIsTdNaNiZcZGBntpiPSpflNl7E0kVHSUi7tTq4E1cYiCglqgk3I8l3XKMfZrAuS7rDEE5a/kYVBssya3U0NGMy55nVqNv3XthIcqXQzWSr/T2Tul/RqBF0YWAAmZYlIhvi+Ts=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [APPROVED][PATCH v1 0/1] libstdc++: Add P1206R7 from_range\n members to std::vector [PR111055]","From":"ppalka via Sourceware Forge\n <forge-bot+ppalka@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Sat, 26 Oct 2024 18:09:37 +0000","Message-ID":"\n <bmm.h17zhnds1s.gcc.gcc-TEST.ppalka.5.34.REVIEW@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhu8xfp4me.gcc.gcc-TEST.redi.5.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"ppalka","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5","X-Review":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-178","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","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":3680355,"web_url":"http://patchwork.ozlabs.org/comment/3680355/","msgid":"<bmm.h16rgkc8cg.gcc.gcc-TEST.ppalka.5.157.CMT@forge-stage.sourceware.org>","list_archive_url":null,"date":"2024-10-25T15:32:13","subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","submitter":{"id":93215,"url":"http://patchwork.ozlabs.org/api/people/93215/","name":"ppalka via Sourceware Forge","email":"forge-bot+ppalka@forge-stage.sourceware.org"},"content":"> > And I think we want to define `__cpp_lib_containers_ranges` from `<vector>` now?\n> \n> I suppose we could define it only in `<vector>`, and not in `<version>` (because we don't implement these new functions for the other containers yet). My thinking was that if a program includes both `<vector>` and `<list>` and tests that the macro is defined, they can't tell that we mean \"only for one header\".\n\nAh makes sense, never mind then.\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-157","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 spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::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 4g0tfN71kzz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 19:07:40 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 029E24BAE7CC\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 09:07:39 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 295FA4B9DB7C\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:32 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id A2C0B40540\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:29 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 029E24BAE7CC","OpenDKIM Filter v2.11.0 sourceware.org 295FA4B9DB7C"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 295FA4B9DB7C","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 295FA4B9DB7C","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776848552; cv=none;\n b=cdTRdVSUfn2FrfZNxSgMei88UxTglIOQz9ihrKzqky+7rE/sTPVPCKajGH+54RdZg+M32n814C+6/oV2u2Rr5+2hcGvlBgJDLoZHflSZ+hkg8sBhvJcIeVG8N/WizEjoMD8s3Nbb45O53bcfWOEI+MgHE8W34CuT0HoB8a672MU=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776848552; c=relaxed/simple;\n bh=LS4AKoC40Ds4p71zd1dYZwaAmgy/hO5qw6cjq55tEvI=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=Y2fIZFmUg/L2H4xdUBejEjHJ/49OORskAgrNS9/72A6bZQl7PvdVA6v5WstCFbODrooeVIlWgto0vaPBx/NlFnTnk3U0p8z6k6DfCaSI6s7CLukvmZh8tKAWGcNWAxmeXdU4/m31+BU7dHiwoz3nnd6Y3DkA244bmzUD0FSZE94=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","From":"ppalka via Sourceware Forge\n <forge-bot+ppalka@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Fri, 25 Oct 2024 15:32:13 +0000","Message-ID":"\n <bmm.h16rgkc8cg.gcc.gcc-TEST.ppalka.5.157.CMT@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhu8xfp4me.gcc.gcc-TEST.redi.5.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"ppalka","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5","X-Comment":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-157","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","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":3680356,"web_url":"http://patchwork.ozlabs.org/comment/3680356/","msgid":"<bmm.h16rrih6tc.gcc.gcc-TEST.ppalka.5.32.REVIEW@forge-stage.sourceware.org>","list_archive_url":null,"date":"2024-10-25T15:43:15","subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","submitter":{"id":93215,"url":"http://patchwork.ozlabs.org/api/people/93215/","name":"ppalka via Sourceware Forge","email":"forge-bot+ppalka@forge-stage.sourceware.org"},"content":"(ppalka) <ppalka@gcc.gnu.org>) commented on the code:\n\n\n> +++ libstdc++-v3/include/bits/vector.tcc\n> @@ -977,0 +989,4 @@\n> +\t  }\n> +\n> +\tauto __first = ranges::begin(__rg);\n> +\tconst auto __last = ranges::end(__rg);\nOne last thing (promise), I think we can sink these variables into the `if`.\n\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-162","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 spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::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 4g0tfW4k86z1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 19:07:47 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id A927C4BAD168\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 09:07:45 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 3F4834B9DB49\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:32 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id BE58340541\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:29 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org A927C4BAD168","OpenDKIM Filter v2.11.0 sourceware.org 3F4834B9DB49"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 3F4834B9DB49","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 3F4834B9DB49","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776848552; cv=none;\n b=M37ByGZNWhtyQjwCUePoqyiDk+YdyezPiALgxHc/dWQ8p1NRcQ31xBO9OJb/dlJl2Y4M7TbcWj1QqGuETFfA+xnvGR72rlV5ReKXTWVOODibWxeC0Iwx34HUlqLMnQizgJtA7YkLoEcpVBy/+i5kebvo+jBcFeH89Wov2H5bZW4=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776848552; c=relaxed/simple;\n bh=Ol1NuNs/khBzfoyNhvK6p7kHSEIXF3qS78QjFiEe9tc=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=Ohg6UZocR8iW2Xceud9JsYJltlDDnVMRf/q/NXlwWB7Hd1raH8XF0WFNp2qIA09MLhelOiamEcicF4eVxQ1r5c8mHVfFgueZYC+jbNxtECtJyIddL38KknxRUseIR9dhQT3/MDknSWrXqKdBrutwo89ml8FfUVUnLSBgz+kJPTk=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","From":"ppalka via Sourceware Forge\n <forge-bot+ppalka@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Fri, 25 Oct 2024 15:43:15 +0000","Message-ID":"\n <bmm.h16rrih6tc.gcc.gcc-TEST.ppalka.5.32.REVIEW@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhu8xfp4me.gcc.gcc-TEST.redi.5.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"ppalka","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5","X-Review":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-162","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","MIME-Version":"1.0","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":3680358,"web_url":"http://patchwork.ozlabs.org/comment/3680358/","msgid":"<bmm.h17p8dv8zk.gcc.gcc-TEST.redi.5.176.CMT@forge-stage.sourceware.org>","list_archive_url":null,"date":"2024-10-26T11:57:29","subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","submitter":{"id":93210,"url":"http://patchwork.ozlabs.org/api/people/93210/","name":"Jonathan Wakely via Sourceware Forge","email":"forge-bot+redi@forge-stage.sourceware.org"},"content":"I think I've addressed all the issues now.\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-176","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 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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"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 4g0th00dYXz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 19:09:03 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 0EEA34BA9026\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 09:09:02 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id 2F63B4BAD175\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:33 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id CF79840542\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:29 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 0EEA34BA9026","OpenDKIM Filter v2.11.0 sourceware.org 2F63B4BAD175"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 2F63B4BAD175","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 2F63B4BAD175","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776848553; cv=none;\n b=Kh7ny+eLILXnLo/g6/L7Gp5A7WHBI0Vex36fEf5UV3J6JZPeWIzxM0RDqU6gpbhxZWJ6J9aEl4OLR40kuCAWr6JiqoX/a19aDU++3Ktuio3ofbvqAVR4Ot2VTMcHAp7wP5chD1lSP9JiUDf/1C/q8qZOwkrSlAsD+ZW5rJJrYfk=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776848553; c=relaxed/simple;\n bh=wCAjqgFSSPejY9Mqf1DAwNhepgU7/nT4dzKaVG51ZCQ=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=r63VApXKRYtz6iOsQ7xr3+LKSu+emALypJgmW0kUOzIuoyCSTyOoAor8GoTmMe/Jq5Bts5dpO4RvDgWem//NiWp1go/ANyxKUO7TqiuGvo6/vz3EP/z28sSNsqtGV21wjKTPSs/QW9eoMo+OwEOuYpFDXQzjm6cNXs+QMfgz0RQ=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","From":"Jonathan Wakely via Sourceware Forge\n <forge-bot+redi@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Sat, 26 Oct 2024 11:57:29 +0000","Message-ID":"\n <bmm.h17p8dv8zk.gcc.gcc-TEST.redi.5.176.CMT@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhu8xfp4me.gcc.gcc-TEST.redi.5.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"ppalka","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5","X-Comment":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-176","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","MIME-Version":"1.0","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":3680360,"web_url":"http://patchwork.ozlabs.org/comment/3680360/","msgid":"<bmm.hhu8yc0hxc.gcc.gcc-TEST.forge-bot.5.5498.CMT@forge-stage.sourceware.org>","list_archive_url":null,"date":"2026-04-22T09:02:27","subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","submitter":{"id":93212,"url":"http://patchwork.ozlabs.org/api/people/93212/","name":"Lichenor Forgejo Bot via Sourceware Forge","email":"forge-bot+forge-bot@forge-stage.sourceware.org"},"content":"Sent patch series version 1 containing 1 patches to gcc-patches mailing list <gcc-patches@gcc.gnu.org>.\n[Cover letter](https://inbox.sourceware.org/gcc-patches/bmm.hhu8xfp4me.gcc.gcc-TEST.redi.5.1.0@forge-stage.sourceware.org)\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-5498","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 spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::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 4g0tjS2LMHz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 19:10:20 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 501134BAD158\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 09:10:18 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id CE8C04B9DB58\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:33 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id 3F62B40546\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:30 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 501134BAD158","OpenDKIM Filter v2.11.0 sourceware.org CE8C04B9DB58"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org CE8C04B9DB58","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org CE8C04B9DB58","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776848553; cv=none;\n b=PHwGQ6DVtxgswJO0mdF4WIJokMroBSycZkthQUAX2P76vaq6xAcoLcPaoa52UvPmeOMh+pih4PscSwOowKfYw/bw5WiG4vPMwf7Od0z5+yPTFAHl71pZ3Rp/5s0Lf731S2dscETVszO3uFsek6kiiOmF+x/kvMbB3035YVu3Wz4=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776848553; c=relaxed/simple;\n bh=3qOAnhuJoTCBAFum9IAfFo3oTwc/R5z5We72I1cJWPw=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=vHLp6r3eUsrb2G6JJN/NTFhxvnWDSlM8WFN9TIu6l1dqrS5gaEdIq1lOEOE7Oi86aREh2KlJmJPmvrFzO3qOfgG4vgZLeL0CeusPUM2fU2xHAoZc0NfHcLgdioMJ4OoijPHsKSe2DKIu0hi9I4nNJl5T4lHd9CXmjxKbL2hFGFI=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","From":"Lichenor Forgejo Bot via Sourceware Forge\n <forge-bot+forge-bot@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Wed, 22 Apr 2026 09:02:27 +0000","Message-ID":"\n <bmm.hhu8yc0hxc.gcc.gcc-TEST.forge-bot.5.5498.CMT@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhu8xfp4me.gcc.gcc-TEST.redi.5.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"ppalka","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5","X-Comment":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-5498","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","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":3680362,"web_url":"http://patchwork.ozlabs.org/comment/3680362/","msgid":"<bmm.hhu8xvxslc.gcc.gcc-TEST.forge-bot.5.5496.CMT@forge-stage.sourceware.org>","list_archive_url":null,"date":"2026-04-22T09:02:00","subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","submitter":{"id":93212,"url":"http://patchwork.ozlabs.org/api/people/93212/","name":"Lichenor Forgejo Bot via Sourceware Forge","email":"forge-bot+forge-bot@forge-stage.sourceware.org"},"content":"<!-- pr-new-version -->\nVersion 1 of this pull request has been stored. It includes the following commits:\n- libstdc++: Add P1206R7 from_range members to std::vector [PR111055] - f53e3738a0f3b46f76d2c169a24fe65d3c862667\n\n\n--\nhttps://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-5496","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 spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::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 4g0tkx1SQhz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 19:11:36 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 5F3184BAD170\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 09:11:34 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id C31724BAE7D1\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:33 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id 2CC9C40545\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:30 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 5F3184BAD170","OpenDKIM Filter v2.11.0 sourceware.org C31724BAE7D1"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org C31724BAE7D1","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org C31724BAE7D1","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776848553; cv=none;\n b=hw7g5Wpv2KNIHITCiKp/2KT+wi0eQWUc5yZtXAWXfeHPX0rRJGo0SPizdGvqX5LRf+0xCwNHxRI7FOs/XWQva3m6b9p/T61sbcx1rMA4CLM8m/qClI6ezgT7x419ofdIVHGvOCS9DczJ2mcxpPe0gDsimPFI/pjeQpXBaI6obuU=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776848553; c=relaxed/simple;\n bh=DOFuIgZMDiKf1plv70s8/9pF95Peu8WuiOc7l90ZVfg=;\n h=Subject:From:To:Date:Message-ID:MIME-Version;\n b=YBcli320VSlSyxSf4VrSZ/qpWL0BsNxy/A8WPTpQmw/anFig7NBeiPbYZfrx4bV0Kh769WHrkMsLJfaNfPJbCjeCJN363rq2Q7drlnWXFcpCBGwGT4Kv2+DtRc6+upFHAfIetTALF/bDA0W9VxunluU5pb/34nci3oC+u1xxzVE=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range members to\n std::vector [PR111055]","From":"Lichenor Forgejo Bot via Sourceware Forge\n <forge-bot+forge-bot@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","Date":"Wed, 22 Apr 2026 09:02:00 +0000","Message-ID":"\n <bmm.hhu8xvxslc.gcc.gcc-TEST.forge-bot.5.5496.CMT@forge-stage.sourceware.org>","In-Reply-To":"\n <bmm.hhu8xfp4me.gcc.gcc-TEST.redi.5.1.0@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"ppalka","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5","X-Comment":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5#issuecomment-5496","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","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":3680364,"web_url":"http://patchwork.ozlabs.org/comment/3680364/","msgid":"<bmm.hhu8yh2acm.gcc.gcc-TEST.redi.5.1.SUMMARY@forge-stage.sourceware.org>","list_archive_url":null,"date":"2026-04-22T09:02:34","subject":"[SUMMARY] Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range\n members to std::vector [PR111055]","submitter":{"id":93210,"url":"http://patchwork.ozlabs.org/api/people/93210/","name":"Jonathan Wakely via Sourceware Forge","email":"forge-bot+redi@forge-stage.sourceware.org"},"content":"This is a summary of discussions relative to the merge request created by Jonathan Wakely (redi) <redi@gcc.gnu.org> titled\nlibstdc++: Add P1206R7 from_range members to std::vector [PR111055]\nsince its creation.\n\nDescription: This is another piece of P1206R7, adding new members to `std::vector` and\n`std::vector<bool>`.\n\nThe `__uninitialized_copy_a` extension needs to be enhanced to support\npassing non-common ranges (i.e. a sentinel that is a different type from\nthe iterator) and move-only input iterators.\n\n```\nlibstdc++-v3/ChangeLog:\n\n\tPR libstdc++/111055\n\t* include/bits/ranges_base.h (__container_compatible_range): New\n\tconcept.\n\t* include/bits/stl_bvector.h (vector(from_range, R&&, const Alloc&))\n\t(assign_range, insert_range, append_range): Define.\n\t* include/bits/stl_uninitialized.h (__do_uninit_copy): Support\n\tnon-common ranges.\n\t(__uninitialized_copy_a): Likewise.\n\t* include/bits/stl_vector.h (_Vector_base::_M_append_range_to):\n\tNew function.\n\t(_Vector_base::_M_append_range): Likewise.\n\t(vector(from_range, R&&, const Alloc&), assign_range): Define.\n\t(append_range): Define.\n\t(insert_range): Declare.\n\t* include/debug/vector (vector(from_range, R&&, const Alloc&))\n\t(assign_range, insert_range, append_range): Define.\n\t* include/bits/vector.tcc (insert_range): Define.\n\t* testsuite/23_containers/vector/bool/cons/from_range.cc: New test.\n\t* testsuite/23_containers/vector/bool/modifiers/assign/assign_range.cc:\n\tNew test.\n\t* testsuite/23_containers/vector/bool/modifiers/insert/append_range.cc:\n\tNew test.\n\t* testsuite/23_containers/vector/bool/modifiers/insert/insert_range.cc:\n\tNew test.\n\t* testsuite/23_containers/vector/cons/from_range.cc: New test.\n\t* testsuite/23_containers/vector/modifiers/append_range.cc: New test.\n\t* testsuite/23_containers/vector/modifiers/assign/assign_range.cc:\n\tNew test.\n\t* testsuite/23_containers/vector/modifiers/insert/insert_range.cc:\n\tNew test.\n```\n\nThe full and up to date discussion can be found at https://forge.sourceware.org/gcc/gcc-TEST/pulls/5\n\nThe merge request has been closed without being merged directly on the forge repository.\n\nOn 2024-10-25 13:44:34+00:00, (ppalka) <ppalka@gcc.gnu.org> commented on the code:\n\n\n\nOn 2024-10-25 13:44:58+00:00, (ppalka) <ppalka@gcc.gnu.org> requested changes to the code:\nLGTM besides a couple of stylistic remarks.\n\nAnd I think we want to define `__cpp_lib_containers_ranges` from `<vector>` now?\n\n> +++ libstdc++-v3/include/bits/stl_uninitialized.h\n> @@ -599,0 +614,4 @@\n> +\t    return std::__do_uninit_copy(std::move(__first), __last, __result);\n> +\t}\n> +      else\n> +\treturn std::uninitialized_copy(std::move(__first), std::move(__last),\nMoving `__last` only here seems inconsistent/unnecessary?\n> +++ libstdc++-v3/include/bits/stl_uninitialized.h\n> @@ -599,0 +614,4 @@\n> +\t    return std::__do_uninit_copy(std::move(__first), __last, __result);\n> +\t}\n> +      else\n> +\treturn std::uninitialized_copy(std::move(__first), std::move(__last),\nAh yeah, sentinels must be copyable, even for a common range (implying that common ranges cannot use move-only iterators).\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -895,0 +911,4 @@\n> +\t    {\n> +\t      auto __first = ranges::begin(__rg);\n> +\t      const auto __last = ranges::end(__rg);\n> +\t      for (; __first != __last; ++__first)\nFWIW we could use a range for loop here and for some of the other `emplace_back` loops.\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -895,0 +911,4 @@\n> +\t    {\n> +\t      auto __first = ranges::begin(__rg);\n> +\t      const auto __last = ranges::end(__rg);\n> +\t      for (; __first != __last; ++__first)\nThat's what I did at first, but it needs to be quite ugly:\n\n```\nfor (auto&& __e : __rg)\n  emplace_back(std::forward<decltype(__e)>(__e));\n```\n\nBecause in theory it could be a range where the reference type is an rvalue reference, and the value type has:\n\n```\noperator bool() const & = delete;\noperator bool() && { return true; }\n```\n\n\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -895,0 +911,4 @@\n> +\t    {\n> +\t      auto __first = ranges::begin(__rg);\n> +\t      const auto __last = ranges::end(__rg);\n> +\t      for (; __first != __last; ++__first)\nI suppose it's a matter of taste whether those two lines with the ugly `forward<decltype(__e)>` are worse than the four lines I used instead.\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -895,0 +911,4 @@\n> +\t    {\n> +\t      auto __first = ranges::begin(__rg);\n> +\t      const auto __last = ranges::end(__rg);\n> +\t      for (; __first != __last; ++__first)\nWhichever form we use, I should add a test with such a troublesome type.\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -895,0 +911,4 @@\n> +\t    {\n> +\t      auto __first = ranges::begin(__rg);\n> +\t      const auto __last = ranges::end(__rg);\n> +\t      for (; __first != __last; ++__first)\nEek, never mind then.\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -895,0 +911,4 @@\n> +\t    {\n> +\t      auto __first = ranges::begin(__rg);\n> +\t      const auto __last = ranges::end(__rg);\n> +\t      for (; __first != __last; ++__first)\n> Whichever form we use, I should add a test with such a troublesome type.\n\nI added such a test, and it revealed a latent bug in `vector<bool>::emplace_back`:\n\n```c++\n\templace_back(_Args&&... __args)\n\t{\n\t  push_back(bool(__args...));\n#if __cplusplus > 201402L\n\t  return back();\n#endif\n\t}\n```\n\nThis should be `bool(std::forward<_Args>(__args)...)`\n\nOn 2024-10-25 14:19:56+00:00, (ppalka) <ppalka@gcc.gnu.org> commented on the code:\n\n\n> +++ libstdc++-v3/include/bits/stl_vector.h\n> @@ -862,0 +957,4 @@\n> +\t\t\t\t\t\t      ranges::end(__rg)));\n> +\t      _GLIBCXX_ASAN_ANNOTATE_GREW(__diff);\n> +\t    }\n> +\t  else // input_range<_Rg>\n`// input_range<_Rg> && !sized_range<_Rg>` ?\n\nOn 2024-10-25 14:23:56+00:00, (ppalka) <ppalka@gcc.gnu.org> commented on the code:\n\n\n> +++ libstdc++-v3/include/bits/vector.tcc\n> @@ -977,0 +991,4 @@\n> +\tauto __first = ranges::begin(__rg);\n> +\tconst auto __last = ranges::end(__rg);\n> +\n> +\tif constexpr (ranges::forward_range<_Rg>)\nCan we also use this code path for a sized input range?\n> +++ libstdc++-v3/include/bits/vector.tcc\n> @@ -977,0 +991,4 @@\n> +\tauto __first = ranges::begin(__rg);\n> +\tconst auto __last = ranges::end(__rg);\n> +\n> +\tif constexpr (ranges::forward_range<_Rg>)\nI think the use of `ranges::next` to find the mid-point isn't valid for an input range:\n\n```\nauto __mid = ranges::next(__first, __elems_after);\n_Base::_M_append_range(ranges::subrange(__mid, __last));\n...\nranges::copy(__first, __mid, __ins);\n```\n> +++ libstdc++-v3/include/bits/vector.tcc\n> @@ -977,0 +991,4 @@\n> +\tauto __first = ranges::begin(__rg);\n> +\tconst auto __last = ranges::end(__rg);\n> +\n> +\tif constexpr (ranges::forward_range<_Rg>)\nOr rather, it's valid to use `ranges::next`, but then we can't use `__first` again later.\n> +++ libstdc++-v3/include/bits/vector.tcc\n> @@ -977,0 +991,4 @@\n> +\tauto __first = ranges::begin(__rg);\n> +\tconst auto __last = ranges::end(__rg);\n> +\n> +\tif constexpr (ranges::forward_range<_Rg>)\nOops, no, because it's not single-pass:\n`\t\t    auto __mid = ranges::next(__first, __elems_after); `\n...\n`\t\t    ranges::copy(__first, __mid, __ins); `.\n\n\nOn 2024-10-25 15:20:33+00:00, Jonathan Wakely (redi) wrote:\n\n> And I think we want to define `__cpp_lib_containers_ranges` from `<vector>` now?\n\nI suppose we could define it only in `<vector>`, and not in `<version>` (because we don't implement these new functions for the other containers yet). My thinking was that if a program includes both `<vector>` and `<list>` and tests that the macro is defined, they can't tell that we mean \"only for one header\".\n\n\nOn 2024-10-25 15:32:13+00:00, (ppalka) wrote:\n\n> > And I think we want to define `__cpp_lib_containers_ranges` from `<vector>` now?\n> \n> I suppose we could define it only in `<vector>`, and not in `<version>` (because we don't implement these new functions for the other containers yet). My thinking was that if a program includes both `<vector>` and `<list>` and tests that the macro is defined, they can't tell that we mean \"only for one header\".\n\nAh makes sense, never mind then.\n\nOn 2024-10-25 15:43:15+00:00, (ppalka) <ppalka@gcc.gnu.org> commented on the code:\n\n\n> +++ libstdc++-v3/include/bits/vector.tcc\n> @@ -977,0 +989,4 @@\n> +\t  }\n> +\n> +\tauto __first = ranges::begin(__rg);\n> +\tconst auto __last = ranges::end(__rg);\nOne last thing (promise), I think we can sink these variables into the `if`.\n\n\nOn 2024-10-26 11:57:29+00:00, Jonathan Wakely (redi) wrote:\n\nI think I've addressed all the issues now.\n\nOn 2024-10-26 18:09:29+00:00, (ppalka) <ppalka@gcc.gnu.org> approved the changes:\nLGTM\n\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -1344,3 +1464,3 @@\n>  \templace_back(_Args&&... __args)\n>  \t{\n> -\t  push_back(bool(__args...));\n> +\t  push_back(bool(std::forward<_Args>(__args)...));\nFWIW it seems `emplace(const_iterator __pos, _Args&&... __args)` has the same latent bug.\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -1344,3 +1464,3 @@\n>  \templace_back(_Args&&... __args)\n>  \t{\n> -\t  push_back(bool(__args...));\n> +\t  push_back(bool(std::forward<_Args>(__args)...));\nMaybe I'll fix those latent bugs separately first, so that can be backported more easily.\n\n\nOn 2024-10-27 20:11:21+00:00, Jonathan Wakely (redi) wrote:\n\nPushed upstream as b281e13ecad12d07209924a7282c53be3a1c3774\n\nOn 2024-10-28 12:34:46+00:00, (ppalka) <ppalka@gcc.gnu.org> requested changes to the code:\n\n\n> +++ libstdc++-v3/include/bits/ranges_base.h\n> @@ -1082,0 +1084,4 @@\n> +namespace __detail\n> +{\n> +  template<typename _Rg, typename _Tp>\n> +    concept __container_compatible_range\nTesting closing my own review threads\n> +++ libstdc++-v3/include/bits/ranges_base.h\n> @@ -1082,0 +1084,4 @@\n> +namespace __detail\n> +{\n> +  template<typename _Rg, typename _Tp>\n> +    concept __container_compatible_range\nCan't self-resolve ☹️\n> +++ libstdc++-v3/include/bits/stl_bvector.h\n> @@ -895,0 +901,4 @@\n> +\tconstexpr\n> +\tvector(from_range_t, _Rg&& __rg, const _Alloc& __a = _Alloc())\n> +\t: _Base(__a)\n> +\t{\nAnother one\n\n\nOn 2026-04-22 09:02:00+00:00, Lichenor Forgejo Bot (forge-bot) wrote:\n\n<!-- pr-new-version -->\nVersion 1 of this pull request has been stored. It includes the following commits:\n- libstdc++: Add P1206R7 from_range members to std::vector [PR111055] - f53e3738a0f3b46f76d2c169a24fe65d3c862667\n\n\n\nOn 2026-04-22 09:02:27+00:00, Lichenor Forgejo Bot (forge-bot) wrote:\n\nSent patch series version 1 containing 1 patches to gcc-patches mailing list <gcc-patches@gcc.gnu.org>.\n[Cover letter](https://inbox.sourceware.org/gcc-patches/bmm.hhu8xfp4me.gcc.gcc-TEST.redi.5.1.0@forge-stage.sourceware.org)","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 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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org","sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org","server2.sourceware.org;\n arc=none smtp.remote-ip=38.145.34.39"],"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 4g0tmP6WPSz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 19:12:53 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id B04E14B9DB7D\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 09:12:51 +0000 (GMT)","from forge-stage.sourceware.org (vm08.sourceware.org [38.145.34.39])\n by sourceware.org (Postfix) with ESMTPS id E1C554BAE7CB\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:34 +0000 (GMT)","from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id BCB1040539\n for <gcc-patches@gcc.gnu.org>; Wed, 22 Apr 2026 09:02:34 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org B04E14B9DB7D","OpenDKIM Filter v2.11.0 sourceware.org E1C554BAE7CB"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org E1C554BAE7CB","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org E1C554BAE7CB","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776848555; cv=none;\n b=IAuHXg7hwTayRCiyR+AZLOgfiFmucYTBEfyBZDeaAW68d5r+uGl+U62H5eivA99CWDkwRjPp5efwGyz3QWsR1T6oafLeGH5/4Bd3jB8PsdkbIKh+jIaxarrpwZEe2BnoVThWDAYKk2ny7C4yZIFfvRFrkUT+PC3z2EizMm47YVk=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776848555; c=relaxed/simple;\n bh=qcqcB8X9p0FpGgfmOcMdmkhKK9Lcz56S0uLLiOzgsqY=;\n h=Subject:From:To:Message-ID:MIME-Version:Date;\n b=XsnFUzDpFlT4YkJZq58jLK/stGnsXfQ1evhgBtn0YoRapuktNAE4fzSpbMW3nb9EZfR+MMgQ/AWDqdQbLyEz+DLGJGOgm/RhhpUVtOpabOW8BUeE6O5uwASJhw7x7Faz6WFy/2mrXFtduVLVoYRvgNDzoVwLCsgYoImSf9N+lh8=","ARC-Authentication-Results":"i=1; server2.sourceware.org","Subject":"[SUMMARY] Re: [PATCH v1 0/1] libstdc++: Add P1206R7 from_range\n members to std::vector [PR111055]","From":"Jonathan Wakely via Sourceware Forge\n <forge-bot+redi@forge-stage.sourceware.org>","To":"gcc-patches mailing list <gcc-patches@gcc.gnu.org>","In-Reply-To":"\n <bmm.hhu8xfp4me.gcc.gcc-TEST.redi.5.1.0@forge-stage.sourceware.org>","Message-ID":"\n <bmm.hhu8yh2acm.gcc.gcc-TEST.redi.5.1.SUMMARY@forge-stage.sourceware.org>","X-Mailer":"batrachomyomachia","X-Requested-Reviewer":"ppalka","X-Pull-Request-Organization":"gcc","X-Pull-Request-Repository":"gcc-TEST","X-Pull-Request":"https://forge.sourceware.org/gcc/gcc-TEST/pulls/5","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","Date":"Wed, 22 Apr 2026 09:02:34 +0000 (UTC)","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"}}]