get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2197084/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2197084,
    "url": "http://patchwork.ozlabs.org/api/patches/2197084/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260217024504.1903147-1-ppalka@redhat.com/",
    "project": {
        "id": 17,
        "url": "http://patchwork.ozlabs.org/api/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,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260217024504.1903147-1-ppalka@redhat.com>",
    "list_archive_url": null,
    "date": "2026-02-17T02:45:04",
    "name": "c++: unifying LAMBDA_EXPR [PR122318]",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "82edd2446c8534d8329af1a0bb50d36e22f55ca5",
    "submitter": {
        "id": 78319,
        "url": "http://patchwork.ozlabs.org/api/people/78319/?format=api",
        "name": "Patrick Palka",
        "email": "ppalka@redhat.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260217024504.1903147-1-ppalka@redhat.com/mbox/",
    "series": [
        {
            "id": 492364,
            "url": "http://patchwork.ozlabs.org/api/series/492364/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=492364",
            "date": "2026-02-17T02:45:04",
            "name": "c++: unifying LAMBDA_EXPR [PR122318]",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/492364/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2197084/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2197084/checks/",
    "tags": {},
    "related": [],
    "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+uXIkCT;\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+uXIkCT",
            "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.133.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 4fFPC85JcXz1xwC\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Feb 2026 13:45:40 +1100 (AEDT)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 304CC4BAD155\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Feb 2026 02:45:38 +0000 (GMT)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by sourceware.org (Postfix) with ESMTP id 2EBB14BA23F2\n for <gcc-patches@gcc.gnu.org>; Tue, 17 Feb 2026 02:45:10 +0000 (GMT)",
            "from mail-qk1-f197.google.com (mail-qk1-f197.google.com\n [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-678-R1jeFmKdPkSD1v-hsikKWQ-1; Mon, 16 Feb 2026 21:45:08 -0500",
            "by mail-qk1-f197.google.com with SMTP id\n af79cd13be357-8c710279d57so275686785a.3\n for <gcc-patches@gcc.gnu.org>; Mon, 16 Feb 2026 18:45:08 -0800 (PST)",
            "from idea ([2600:4040:aa66:bf00:9e8e:99ff:fed1:71f])\n by smtp.gmail.com with ESMTPSA id\n 6a1803df08f44-8971cd8baa2sm162307586d6.31.2026.02.16.18.45.05\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 16 Feb 2026 18:45:05 -0800 (PST)"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org 304CC4BAD155",
            "OpenDKIM Filter v2.11.0 sourceware.org 2EBB14BA23F2"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 2EBB14BA23F2",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 2EBB14BA23F2",
        "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1771296310; cv=none;\n b=gb/G/lgoA+ll9lQz+0KwZOITUWMtYGm4qF/gBiLy3pN6id6k6oSEPplkmdi2tsG6+D898mTgFe8539YAXR4g0Y+9qBj9nZbVtat5zxxbazlXJycQGsCm+RtFZzax22kOmVGeYxlRU5EiZFJAolBbhOEAtcBDs5gmtXom4ruu1GM=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1771296310; c=relaxed/simple;\n bh=j3wT3hRg7sRmtT3dyA1VwuAN7azME1ZumDbMPL1yvrw=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=JzAI5PHjcklwttASEU0zakvR1IqAIlfJEmzERpZp3BiuF2eSjAGQWH6Ku7qENyn07Dg1XK7QOE7paHA/E94nWEzjhFF+NG2bwmQQaeUmv0P53tHE9kZtnm9+M2AskxI1Ht58rI+0E9hLEh0UhyIyBXcpp+rzQPW+9K4McxRICZo=",
        "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=1771296309;\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=Ss8LeQoBQNaQKFPUwe83oX8kQ6MIEOYKN0W8HOJmOZg=;\n b=H+uXIkCTpj6vZExlmdXOpOVja022iWTJhUwSgD6NuO10NxSQ28HYvBDxHhMN+E01cRhAvf\n ZBHcIkhYLmWRveQJRytHkASJ/WzzSAXTXjWHQi9zGBo3jTo7wFkGGkXVfS1xmL3IQQgiYJ\n Eok/D4Ks/+SNf3dLb8fIzAttKz3tUA0=",
        "X-MC-Unique": "R1jeFmKdPkSD1v-hsikKWQ-1",
        "X-Mimecast-MFC-AGG-ID": "R1jeFmKdPkSD1v-hsikKWQ_1771296308",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1771296307; x=1771901107;\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=Ss8LeQoBQNaQKFPUwe83oX8kQ6MIEOYKN0W8HOJmOZg=;\n b=f8UUfdCjSbNcqcLWSENfo2TUiHu8S9KhhhX0DQeV/byAY3rK1JSADc4UXBAPZHNKRp\n B2oWLnuvk/6t5y1kaJp0QPAyvav7f1xb6252arziPuTIFaQcGOz877sZODJXa4xlSA2T\n 2yfg+PxV52PWRjWBnpRh1yT9O2vkPHZ/iO1V8poXNmOCqrHtyeeu11m/+HHO3mGoj1f4\n rBbvu9sr75QLjveKMq4zRQWdV3x61e/UrMt6Enc9XY8btw0jESrCURN7U8Z6x8NToNiQ\n HjCTs2ekbhHyMcPfLzZ9fjATDEeJKKgH1w7sqRNvqY0ITLqEkdUgPzMWGnOOpmxKaHER\n azLw==",
        "X-Gm-Message-State": "AOJu0Yzp+P9a0VXGdanbU1TS/SM2rdAu7ioQCOYExRwMhiNjmLGb0u7C\n Pdnb5Dp+RI92TyXiWZ8rc2xElfom2LR43yjTVRwyW4JFHL0XYDNejybsqRql4vm6sfZY70XN03A\n 43BOG42aavLY+79cyOfkiw2lqAD/ejjZsU/8R0D7qjQS63GfPg8Fph2NK4Ue9mSyHsX+l8KpwEC\n Zn3vv0womOkXHzE6vrzTbJwJeWdHoHiq2tZ2KXtNHn",
        "X-Gm-Gg": "AZuq6aKOW+EzZqYPsG6oyjVKIsWXixw5hqAkRcb4u/3oGmaQ71uu2yYc7nW71sV+R7D\n 34h6CWlAiEcLybqmTBhFQ3yta+QJsARM1oFKKQWpExqFk3iseLS3ZANStOXhKCKm2fIN8Rp/Cn7\n XD4/H9UNuX8yVT9PFwCQL6ws4VD82yBnDr1u1/eccyDj9swQtP1zFyzm1k60Mb5ve+96AQBUyhs\n SLFsdE5/37o7UyF09I2RIgWB627a8bsZc9Y4nR7NhMcYiwdSt5YlmU00PBA5oMgPQyk68p6yFME\n vpMSRlwkqa4HDfwVgYJjzqktFH4A6U2gDrfPV5v/gHGD+5U40EGpQWGQ7yYQfR+63Bcp31jRyDT\n 5An5FLtJKqG8=",
        "X-Received": [
            "by 2002:a05:620a:2988:b0:8cb:3a1d:79fc with SMTP id\n af79cd13be357-8cb4080809amr1192825185a.2.1771296306963;\n Mon, 16 Feb 2026 18:45:06 -0800 (PST)",
            "by 2002:a05:620a:2988:b0:8cb:3a1d:79fc with SMTP id\n af79cd13be357-8cb4080809amr1192822785a.2.1771296306404;\n Mon, 16 Feb 2026 18:45:06 -0800 (PST)"
        ],
        "From": "Patrick Palka <ppalka@redhat.com>",
        "To": "gcc-patches@gcc.gnu.org",
        "Cc": "jason@redhat.com,\n\tPatrick Palka <ppalka@redhat.com>",
        "Subject": "[PATCH] c++: unifying LAMBDA_EXPR [PR122318]",
        "Date": "Mon, 16 Feb 2026 21:45:04 -0500",
        "Message-ID": "<20260217024504.1903147-1-ppalka@redhat.com>",
        "X-Mailer": "git-send-email 2.53.0.118.g852829b3dd",
        "MIME-Version": "1.0",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-MFC-PROC-ID": "Y1V3jaq22-13PWw6Hl6ZQqpB1dDndat6p1zVf1Py4rU_1771296308",
        "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": "Bootstrapped and regtested on x86_64-pc-linux-gnu, does this look\nOK for trunk/15/14?\n\n-- >8 --\n\nThis patch makes the default case of unify accept LAMBDA_EXPR P/A pairs,\nwhich we can legitimately hit during alias CTAD guide overload resolution.\nWe can also less legimitately hit this during partial specialization\nmatching (likely IFNDR).\n\n\tPR c++/122318\n\tPR c++/101670\n\ngcc/cp/ChangeLog:\n\n\t* pt.cc (unify) <default>: Handle LAMBDA_EXPR.\n\ngcc/testsuite/ChangeLog:\n\n\t* g++.dg/cpp2a/class-deduction-alias27.C: New test.\n---\n gcc/cp/pt.cc                               |  1 +\n gcc/testsuite/g++.dg/cpp2a/lambda-targ20.C | 14 ++++++++++++++\n gcc/testsuite/g++.dg/cpp2a/lambda-targ21.C | 10 ++++++++++\n 3 files changed, 25 insertions(+)\n create mode 100644 gcc/testsuite/g++.dg/cpp2a/lambda-targ20.C\n create mode 100644 gcc/testsuite/g++.dg/cpp2a/lambda-targ21.C",
    "diff": "diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc\nindex 1d11b07d567d..5db46cd707f1 100644\n--- a/gcc/cp/pt.cc\n+++ b/gcc/cp/pt.cc\n@@ -26650,6 +26650,7 @@ unify (tree tparms, tree targs, tree parm, tree arg, int strict,\n \treturn unify_success (explain_p);\n       gcc_assert (EXPR_P (parm)\n \t\t  || TREE_CODE (parm) == CONSTRUCTOR\n+\t\t  || TREE_CODE (parm) == LAMBDA_EXPR\n \t\t  || TREE_CODE (parm) == TRAIT_EXPR);\n     expr:\n       /* We must be looking at an expression.  This can happen with\ndiff --git a/gcc/testsuite/g++.dg/cpp2a/lambda-targ20.C b/gcc/testsuite/g++.dg/cpp2a/lambda-targ20.C\nnew file mode 100644\nindex 000000000000..4d444bbe1121\n--- /dev/null\n+++ b/gcc/testsuite/g++.dg/cpp2a/lambda-targ20.C\n@@ -0,0 +1,14 @@\n+// PR c++/122318\n+// { dg-do compile { target c++20 } }\n+\n+template<class T, auto V>\n+struct A {\n+  A() { }\n+  A(T) { }\n+};\n+\n+template<class T>\n+using AT = A<T, []{}>;\n+\n+AT<int> a;\n+AT b = a;\ndiff --git a/gcc/testsuite/g++.dg/cpp2a/lambda-targ21.C b/gcc/testsuite/g++.dg/cpp2a/lambda-targ21.C\nnew file mode 100644\nindex 000000000000..73656422333f\n--- /dev/null\n+++ b/gcc/testsuite/g++.dg/cpp2a/lambda-targ21.C\n@@ -0,0 +1,10 @@\n+// PR c++/101670\n+// { dg-do compile { target c++20 } }\n+\n+template<int, auto = []{}>\n+struct A;\n+\n+template<int N>\n+struct A<N> { }; // Partial specialization unusable due to lambda uniqueness\n+\n+A<0> a; // { dg-error \"incomplete\" }\n",
    "prefixes": []
}