Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2220927/?format=api
{ "id": 2220927, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2220927/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260408121941.4047772-1-ppalka@redhat.com/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/1.1/projects/17/?format=api", "name": "GNU Compiler Collection", "link_name": "gcc", "list_id": "gcc-patches.gcc.gnu.org", "list_email": "gcc-patches@gcc.gnu.org", "web_url": null, "scm_url": null, "webscm_url": null }, "msgid": "<20260408121941.4047772-1-ppalka@redhat.com>", "date": "2026-04-08T12:19:41", "name": "libstdc++/ranges: Implement LWG 3599 change to lazy_split_view", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "12f6553e3768a279502af0af699ac6f1c651fe42", "submitter": { "id": 78319, "url": "http://patchwork.ozlabs.org/api/1.1/people/78319/?format=api", "name": "Patrick Palka", "email": "ppalka@redhat.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260408121941.4047772-1-ppalka@redhat.com/mbox/", "series": [ { "id": 499132, "url": "http://patchwork.ozlabs.org/api/1.1/series/499132/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=499132", "date": "2026-04-08T12:19:41", "name": "libstdc++/ranges: Implement LWG 3599 change to lazy_split_view", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/499132/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2220927/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2220927/checks/", "tags": {}, "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=iasugizT;\n\tdkim-atps=neutral", "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;\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=iasugizT", "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\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 4frMbN3rSsz1yD6\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 08 Apr 2026 22:20:32 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 79D7F4BA2E24\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 8 Apr 2026 12:20:30 +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 9A01B4BA2E0E\n for <gcc-patches@gcc.gnu.org>; Wed, 8 Apr 2026 12:19:53 +0000 (GMT)", "from mail-qt1-f200.google.com (mail-qt1-f200.google.com\n [209.85.160.200]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-249-KiiJHfo3Mm2DKMlRKyAxXA-1; Wed, 08 Apr 2026 08:19:52 -0400", "by mail-qt1-f200.google.com with SMTP id\n d75a77b69052e-50b2955cc1eso9915881cf.2\n for <gcc-patches@gcc.gnu.org>; Wed, 08 Apr 2026 05:19:52 -0700 (PDT)", "from idea ([2600:4040:aa66:bf00:9e8e:99ff:fed1:71f])\n by smtp.gmail.com with ESMTPSA id\n d75a77b69052e-50d712c2617sm124767011cf.31.2026.04.08.05.19.48\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 08 Apr 2026 05:19:49 -0700 (PDT)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 79D7F4BA2E24", "OpenDKIM Filter v2.11.0 sourceware.org 9A01B4BA2E0E" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 9A01B4BA2E0E", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 9A01B4BA2E0E", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1775650793; cv=none;\n b=pVcWpIg1PPzeStAYfnvOzRM8iWKEQTJrR2iEpvRfd80SoVfjPLgVq1p7SHvQjuZcLij0UFieKiIubWny+ROohdGJRzSPC4OXTtM2FrFDtchDv4r7O4aiSyZ9RTlVAV971ImvGsWWA6k5H4HHA7aNs6SinjMkyFtH1XesKwcIUw0=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1775650793; c=relaxed/simple;\n bh=4EnXe73kz881ODAzjZlZC6MhwGcchpdBFSEoqCdXsoc=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=JgpZ7dSKP68W5W0KMIsR7EhHIGLeWc1J9e3O3OTpbcKWqrTdRsaR2EQv6xVJphpvKFBvh/tBZgVnECthoiITTmDH5BJr4w5WF1blz7pNSbuXfWdmYQgtFEGsdR2GF5pqN3jQeSrAEFhCiWa1n5JuEvzjAY9I+WkMac3xlbcUd+M=", "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=1775650793;\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 content-transfer-encoding:content-transfer-encoding;\n bh=iJbgSa4qRIUauyIkkmJy7uWqsrttqONd0QtoJgIEVi4=;\n b=iasugizTG5RZUOEg4xiwF3Dp8otukJqSQtpmLLo2fn2KKdBegCQyWTj/vBLLmjhQwdZaMA\n pli9+PqIRXPQ6STp9FvE6kEQnhIBiwhDqpy/HhnLG6zcwInkCM8tkTOVvr9IHszyDhGN7m\n XCImOrlTbE4xcFPyaml7W5q2b1dMTMk=", "X-MC-Unique": "KiiJHfo3Mm2DKMlRKyAxXA-1", "X-Mimecast-MFC-AGG-ID": "KiiJHfo3Mm2DKMlRKyAxXA_1775650792", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775650791; x=1776255591;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=iJbgSa4qRIUauyIkkmJy7uWqsrttqONd0QtoJgIEVi4=;\n b=Iz/lQkmZgva/J85xF74+t+yyrKqTiJcbdrPlwXlLar485wpds3mwFg4usYxSXS7eWs\n CXiGhJ1gv+FnxJ03vTlz/hP6nlfD8SnKYQaWJevdwAN/DxtWqh7uJzsdYjuGpHumUySE\n P0N1fQmb6lLnIG3FAqBJhr2pbdMAEjzImOz60uGx6o1J0gFKOz9u2BAJackKFTpYbSnG\n j8jUzWEmB/nfqxEaJWMzc+us5lzO0XG1cGwgMaHDPinO/9Mzy2ScPllRfrXXLL7oYzbL\n sc+ODydFy61HvqUbr7FzbveY2Q2QswvwXdv5fE/MEYeT70isQdndkh7d6FMj/okmT7LL\n FEAg==", "X-Gm-Message-State": "AOJu0YwkVFjT6gdUtB8yjdk5FppOZ31OPbNqUNentAMpNIryDTPgurjo\n tztk9YsavB7F26dFyxCQJsTt7kXmWSg5X3O6rbLLqkjt+v2atnx3R2PMX3ht1pz+OZX1BmHOdTx\n aZUhwgmJQVkJQqYEN6MI5MSrr81pZdZfb4iClkLmV3L3kaz7ySvo8i+H8sfaP8tLbwGzS82RoMO\n EYhoo44APCBE1WX1H8V4euyIRVGq9lD+bVvOsnO2I+", "X-Gm-Gg": "AeBDiesNMveDJ2SM/H5e2NAU3rZ0IRrsga5oljC14tZpmnfg508o7VAeBy5tr+SquLG\n t+qplk4/3r95JC8LfON6aAHKE2mfak44npjxPOrXL2vYW3WDUWUNXkZAfUHCuhlHGDBoHToVSUb\n 7uzrKyxk5Y5giJT3IXQK9B5N9XyCVENkRlNKf9W+R7OG1XPBgtuBcH4sKzcNQBVFErJxySthEcL\n KHOdnmXySqiHMQ288T7IA4M6JKtrphBfEhGH736lb9AjF3ewu8PojUM9trkbHDG1aKadciFA+bh\n iOg8t0D5uWoAThN51PbDCn7D6nZq5r4/GK/hdPA8wExu+dWFPcyc03qMR943TlZz7eOksxqPrfe\n K/dTTHmBfZ7Ga", "X-Received": [ "by 2002:ac8:7d4d:0:b0:50b:8ccc:a41f with SMTP id\n d75a77b69052e-50db02d5f1dmr37236971cf.6.1775650790728;\n Wed, 08 Apr 2026 05:19:50 -0700 (PDT)", "by 2002:ac8:7d4d:0:b0:50b:8ccc:a41f with SMTP id\n d75a77b69052e-50db02d5f1dmr37236471cf.6.1775650790196;\n Wed, 08 Apr 2026 05:19:50 -0700 (PDT)" ], "From": "Patrick Palka <ppalka@redhat.com>", "To": "gcc-patches@gcc.gnu.org", "Cc": "libstdc++@gcc.gnu.org,\n\tPatrick Palka <ppalka@redhat.com>", "Subject": "[PATCH] libstdc++/ranges: Implement LWG 3599 change to\n lazy_split_view", "Date": "Wed, 8 Apr 2026 08:19:41 -0400", "Message-ID": "<20260408121941.4047772-1-ppalka@redhat.com>", "X-Mailer": "git-send-email 2.54.0.rc0.180.g7c4e9e957a", "MIME-Version": "1.0", "X-Mimecast-Spam-Score": "0", "X-Mimecast-MFC-PROC-ID": "XZsD37jQCO_HOf85qErWgAsYBgo8kpJbzpVewFyiVdA_1775650792", "X-Mimecast-Originator": "redhat.com", "Content-Transfer-Encoding": "8bit", "content-type": "text/plain; charset=\"US-ASCII\"; x-default=true", "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" }, "content": "Tested on x86_64-pc-linux-gnu, does this look OK for trunk/backports?\n\n-- >8 --\n\nlibstdc++-v3/ChangeLog:\n\n\t* include/std/ranges (lazy_split_view::begin): Add\n\tconst _Pattern contraint on const overload as per LWG 3599.\n\t(lazy_split_view::end): Likewise.\n\t* testsuite/std/ranges/adaptors/lazy_split.cc (test14): New\n\ttest.\n---\n libstdc++-v3/include/std/ranges | 4 +++-\n .../testsuite/std/ranges/adaptors/lazy_split.cc | 10 ++++++++++\n 2 files changed, 13 insertions(+), 1 deletion(-)", "diff": "diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges\nindex 0aa4191e04f6..41175fd45e4b 100644\n--- a/libstdc++-v3/include/std/ranges\n+++ b/libstdc++-v3/include/std/ranges\n@@ -3809,6 +3809,7 @@ namespace views::__adaptor\n \n constexpr auto\n begin() const requires forward_range<_Vp> && forward_range<const _Vp>\n+\t&& forward_range<const _Pattern>\n {\n \treturn _OuterIter<true>{this, ranges::begin(_M_base)};\n }\n@@ -3826,7 +3827,8 @@ namespace views::__adaptor\n {\n \tif constexpr (forward_range<_Vp>\n \t\t && forward_range<const _Vp>\n-\t\t && common_range<const _Vp>)\n+\t\t && common_range<const _Vp>\n+\t\t && forward_range<const _Pattern>)\n \t return _OuterIter<true>{this, ranges::end(_M_base)};\n \telse\n \t return default_sentinel;\ndiff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split.cc\nindex 60ee7d70580e..1c69b8f27cfd 100644\n--- a/libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split.cc\n+++ b/libstdc++-v3/testsuite/std/ranges/adaptors/lazy_split.cc\n@@ -239,6 +239,15 @@ test13()\n constexpr decltype(views::lazy_split(views::single(0), 0).begin()) it;\n }\n \n+void\n+test14()\n+{\n+ // LWG 3599\n+ auto p = views::iota(0) | views::take(1) | views::reverse;\n+ auto r = views::single(42) | views::lazy_split(p);\n+ auto f = r.front();\n+}\n+\n int\n main()\n {\n@@ -255,4 +264,5 @@ main()\n test11();\n static_assert(test12());\n test13();\n+ test14();\n }\n", "prefixes": [] }