get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2196402,
    "url": "http://patchwork.ozlabs.org/api/patches/2196402/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260213180223.872937-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": "<20260213180223.872937-1-ppalka@redhat.com>",
    "list_archive_url": null,
    "date": "2026-02-13T18:02:23",
    "name": "c++: void(concept-id) evaluation [PR121822]",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "21cd72f4765882eb4f806cb93d96d74b02fd3a0b",
    "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/20260213180223.872937-1-ppalka@redhat.com/mbox/",
    "series": [
        {
            "id": 492128,
            "url": "http://patchwork.ozlabs.org/api/series/492128/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=492128",
            "date": "2026-02-13T18:02:23",
            "name": "c++: void(concept-id) evaluation [PR121822]",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/492128/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2196402/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2196402/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=cInAXlTe;\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=cInAXlTe",
            "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\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 4fCKll64HWz1xvQ\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 14 Feb 2026 05:03:15 +1100 (AEDT)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id AE3184B9DB7E\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 13 Feb 2026 18:03:08 +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 E2A3B4B9DB75\n for <gcc-patches@gcc.gnu.org>; Fri, 13 Feb 2026 18:02:28 +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-158-CnfVcLSVOLKl9PIDEv28RA-1; Fri, 13 Feb 2026 13:02:27 -0500",
            "by mail-qt1-f198.google.com with SMTP id\n d75a77b69052e-506a3552598so5507141cf.2\n for <gcc-patches@gcc.gnu.org>; Fri, 13 Feb 2026 10:02:27 -0800 (PST)",
            "from idea ([2600:4040:aa66:bf00:9e8e:99ff:fed1:71f])\n by smtp.gmail.com with ESMTPSA id\n d75a77b69052e-506b2d99a13sm7083241cf.20.2026.02.13.10.02.24\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 13 Feb 2026 10:02:24 -0800 (PST)"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org AE3184B9DB7E",
            "OpenDKIM Filter v2.11.0 sourceware.org E2A3B4B9DB75"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org E2A3B4B9DB75",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org E2A3B4B9DB75",
        "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1771005749; cv=none;\n b=a7Za3bx3nzjGltPbjQi021e/7xGM9AITWgpUMFjfELJoP9TSoAFEjiuRZRFLxG17hmyXiqdgTdwdnua4c2pKxyKzd/C+HVf4R7Dbz3/FAw6Vc4E09K/Sg+hxx7QCLJKXhyTuklYr77vl/YbKZX5aAElJcISiwETJ1m6PIrkLskg=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1771005749; c=relaxed/simple;\n bh=SN2rOYGKnq140hYsNZ2OvqVmDZlOi2IqudRQkrGdMvE=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=mtslRRYmni2P0+FmyQt3nIVA9nIJi0vdZT0IvQTWi8bOvRSS9W7zhbz/RMVV77OqvvjQvoyb/B88avHWx4BPNSY7hbBmdMU/kA61rljJlNqyqJROT2Egpp+05MNISnhOT8zWRZ62izYmusPhGubqA55BJAz8sILZUY5OgIrZqwo=",
        "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=1771005748;\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=95nH3F7ZWl+84i6Al+EFQwovzRDR9oZ0H3D9uH+cMDs=;\n b=cInAXlTeFYaJuTOmTdSrkpo01ts5N/AecVr5QVVNUCkyLNpCpPZc0b+2rKU4gZ24brPJzt\n Ji3LkNNeLndedYJWFNRrLuhqXDN5eYYWuEY/4H9o699lhllx/Q/l+gHchU7ZSOnEmZvAgT\n urgYqnJIrpBVPeM5W9m+xltTW3EX9sw=",
        "X-MC-Unique": "CnfVcLSVOLKl9PIDEv28RA-1",
        "X-Mimecast-MFC-AGG-ID": "CnfVcLSVOLKl9PIDEv28RA_1771005746",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1771005746; x=1771610546;\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=95nH3F7ZWl+84i6Al+EFQwovzRDR9oZ0H3D9uH+cMDs=;\n b=NN+RY2DG0zHpa+Ot+m+mOXwxF/6QvfYzYh4FDKWJOGecM2F8BhLBo99VDkytou9YMj\n Fgr0hD2i9HTcidWAQDents6gjW+sIdJxFOQCUCXDpYrViK+AvGwELOv2XIdt0ghOMruV\n 22ojQJiQG44gQxSunJMaoNwAN+M50NNFcZ4f80fGVQmAWMBC1UzoQ2UuA0HT5It1MR4C\n AVjpm6ukWDOwBic9iT5l3eU2vfes0tCtPFzIGs9WaaP5gi5ugbjKe/YNfjp3kDHNB4A2\n T4ZVmaO3ibGMSBy5C16nlhNcbsK2UJElhqmUQz8ZYSL/H2NLuXsCvea+caB6s6AuKq9W\n h2Rw==",
        "X-Gm-Message-State": "AOJu0YzDJCixXDiWh/oQyLCgftbEDzkU8UYunqDYD0D9WY7W6eZoyeYr\n H/yfRhuyHMKqbQtX7M29DVeRS7McH802Vew/YYMWSdl+iP0m0UReOC3LyrxeIX/7sVbcCxq12r8\n rYHXiw6lw+x2PVvHfRmZqv2dcWORlDqs/C2ZR66b1/V5F/nXwhuBBSSt3iN7/vuCCLZlYRO3m5N\n T7CYQEwSElZs0qCj+7gyDg9w+b10N4ZuxjNNKClm1n",
        "X-Gm-Gg": "AZuq6aIQe0Y6Vq+snla7OA5CvRH6dYcCVQrSKFV0+gjIP7lDQT6IZGor1MQWCdajECg\n 81Vxv4u8+a91oESjjyNGqLFnLkU1As+Tv8qw3MxLusaaxKjTDqPEruIipdbni6F8V2BUIm1fSBb\n VN3892HzHGX8gJUcK8DYCtC/lt9yxctCXgPbzIqeh6BtKU4cGCa5OiWLKwJox7tJ4xbUJ8G6hhi\n t/UKzp795ZGiW/2JDtQtUeFn0mj6JFKf97z0FQIMRZn3XAyHZ610cIXyZt/nFnPDMFYYwnHCLow\n 2rX+PxhJtdWQ7ABhqxfMb6NLmm+2sl8X0+Sm+qrJbyFnXsPGdiBH1WG6eAwtO0Dm2kBq5330Pfy\n jvO8JDc/+TJQ=",
        "X-Received": [
            "by 2002:a05:622a:1109:b0:506:a22b:225 with SMTP id\n d75a77b69052e-506a666e2ccmr32925261cf.0.1771005745836;\n Fri, 13 Feb 2026 10:02:25 -0800 (PST)",
            "by 2002:a05:622a:1109:b0:506:a22b:225 with SMTP id\n d75a77b69052e-506a666e2ccmr32924591cf.0.1771005745018;\n Fri, 13 Feb 2026 10:02:25 -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++: void(concept-id) evaluation [PR121822]",
        "Date": "Fri, 13 Feb 2026 13:02:23 -0500",
        "Message-ID": "<20260213180223.872937-1-ppalka@redhat.com>",
        "X-Mailer": "git-send-email 2.53.0.80.g6fcee47852",
        "MIME-Version": "1.0",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-MFC-PROC-ID": "8e8T9EjZGGNMylgeY_edioWVRYkp7sTqJdWrswTTSdc_1771005746",
        "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\nlook OK for trunk/backports?  Not sure if  we want to do this for\nevery choice of impl_conv_void, or just for ICV_CAST?\n\n-- >8 --\n\nSimilar to r16-7056-g22f51c0f5e62a4, here the expression within\nthe decltype void(Derived<T>) is non-dependent enough that we\ninstantiate/fold it immediately, during which however convert_to_void\ntries to evaluate the concept-id, which fails.  When in an\nunevaluated context such as decltype I don't think covert_to_void\nshould be evaluating concept-ids.\n\n\tPR c++/121822\n\ngcc/cp/ChangeLog:\n\n\t* cvt.cc (convert_to_void): Don't evaluate a concept-id\n\tin an unevaluated context.\n\ngcc/testsuite/ChangeLog:\n\n\t* g++.dg/cpp2a/concepts-decltype6.C: New test.\n---\n gcc/cp/cvt.cc                                   |  2 +-\n gcc/testsuite/g++.dg/cpp2a/concepts-decltype6.C | 16 ++++++++++++++++\n 2 files changed, 17 insertions(+), 1 deletion(-)\n create mode 100644 gcc/testsuite/g++.dg/cpp2a/concepts-decltype6.C",
    "diff": "diff --git a/gcc/cp/cvt.cc b/gcc/cp/cvt.cc\nindex fe9b9dc6dd18..4042938da5e9 100644\n--- a/gcc/cp/cvt.cc\n+++ b/gcc/cp/cvt.cc\n@@ -1210,7 +1210,7 @@ convert_to_void (tree expr, impl_conv_void implicit, tsubst_flags_t complain)\n \n   /* Explicitly evaluate void-converted concept checks since their\n      satisfaction may produce ill-formed programs.  */\n-   if (concept_check_p (expr))\n+   if (concept_check_p (expr) && !cp_unevaluated_operand)\n      expr = evaluate_concept_check (expr);\n \n   /* Detect using expressions of consteval-only types outside manifestly\ndiff --git a/gcc/testsuite/g++.dg/cpp2a/concepts-decltype6.C b/gcc/testsuite/g++.dg/cpp2a/concepts-decltype6.C\nnew file mode 100644\nindex 000000000000..3af2697b95d1\n--- /dev/null\n+++ b/gcc/testsuite/g++.dg/cpp2a/concepts-decltype6.C\n@@ -0,0 +1,16 @@\n+// PR c++/121822\n+// { dg-do compile { target c++20 } }\n+\n+template<class...>\n+using void_t = void;\n+\n+template<class T>\n+concept Derived = requires {typename T::derived_type; };\n+\n+template<class T, class = void>\n+struct Wrapper;\n+\n+template<class T>\n+struct Wrapper<T, void_t<decltype(void(Derived<T>))>> { };\n+\n+Wrapper<int> x;\n",
    "prefixes": []
}