get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2217536,
    "url": "http://patchwork.ozlabs.org/api/patches/2217536/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/acoN1uBOXGmJ4IAw@tucnak/",
    "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": "<acoN1uBOXGmJ4IAw@tucnak>",
    "list_archive_url": null,
    "date": "2026-03-30T05:44:54",
    "name": "c++, libstdc++: Remove is_consteval_only* traits",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "c60953ca442525e850fe43e80a7e6daac5303314",
    "submitter": {
        "id": 671,
        "url": "http://patchwork.ozlabs.org/api/people/671/?format=api",
        "name": "Jakub Jelinek",
        "email": "jakub@redhat.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/acoN1uBOXGmJ4IAw@tucnak/mbox/",
    "series": [
        {
            "id": 497955,
            "url": "http://patchwork.ozlabs.org/api/series/497955/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=497955",
            "date": "2026-03-30T05:44:54",
            "name": "c++, libstdc++: Remove is_consteval_only* traits",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/497955/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2217536/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2217536/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=e7id4jPg;\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=e7id4jPg",
            "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 4fkgG21SFZz1y1q\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 30 Mar 2026 16:45:44 +1100 (AEDT)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id AB52E4BA23C2\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 30 Mar 2026 05:45:39 +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 7C66A4BA23C2\n for <gcc-patches@gcc.gnu.org>; Mon, 30 Mar 2026 05:45:02 +0000 (GMT)",
            "from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-470--MpEXhuCOwu1Ey0HlDUtOw-1; Mon,\n 30 Mar 2026 01:44:59 -0400",
            "from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id 17F281956048\n for <gcc-patches@gcc.gnu.org>; Mon, 30 Mar 2026 05:44:59 +0000 (UTC)",
            "from tucnak.zalov.cz (unknown [10.44.32.9])\n by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with\n ESMTPS\n id E7FA630001A1; Mon, 30 Mar 2026 05:44:57 +0000 (UTC)",
            "from tucnak.zalov.cz (localhost [127.0.0.1])\n by tucnak.zalov.cz (8.18.1/8.18.1) with ESMTPS id 62U5it2H501937\n (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT);\n Mon, 30 Mar 2026 07:44:55 +0200",
            "(from jakub@localhost)\n by tucnak.zalov.cz (8.18.1/8.18.1/Submit) id 62U5isDJ501936;\n Mon, 30 Mar 2026 07:44:54 +0200"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org AB52E4BA23C2",
            "OpenDKIM Filter v2.11.0 sourceware.org 7C66A4BA23C2"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 7C66A4BA23C2",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 7C66A4BA23C2",
        "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1774849502; cv=none;\n b=Bx/HVGoHiDq5Zbg3MO9/SAC9tm0NtYT3zluEZ+F19MgWrCgguHXkZkvdkwXuI/TMg9bE2coUiP7YYnRlsdUfOsEEKpMR7YqItTvdv0XXhsPfRb7I+OAZun0e37bXU7u0z0V4yGoxa6u0QT+stDj8g51aEq9qvvuL7BY22M6eUNw=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1774849502; c=relaxed/simple;\n bh=BDVnwvanJp92DQxuY9yBSKWlTJfyEcp5MNo1oXBYgyQ=;\n h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version;\n b=Nos3Gpum/ovV13bKRxhrS4ogrXRgcw6IP4sQxk/pxQcMGvb8sfGwWSu+Ir33OvfV0/jKANCeMT+bpK+XccZUydr0VrdEvNcyMDUUFJYMOS1vSFiaBW4VZpYi3iUGUCpHzakHB/ryagPYUMQcU5XmnQaZYA10Tgu5dU1Cb0Th4z0=",
        "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=1774849502;\n h=from:from:reply-to:reply-to:subject:subject:date:date:\n message-id:message-id:to:to:cc:cc:mime-version:mime-version:\n content-type:content-type; bh=iYxFIksjGPnj6b6CUQZ/ctHP0aG+dZSvrMq/pM+NurI=;\n b=e7id4jPgmaqzsPDe3JsFgrKoCpEVdKtIL3r8xiVyd29r90m/nqOGl/UA2tB/OHDRYc0epv\n IeOFWiJ7XnPH8snAv/1BZ9wUImB7V56soLOhXrba4ky+q1SiSZNlr6xFGPXAnHgvtIM+RD\n gdA2mf/Vjg3Gwr9yusS75RaISmFHkvw=",
        "X-MC-Unique": "-MpEXhuCOwu1Ey0HlDUtOw-1",
        "X-Mimecast-MFC-AGG-ID": "-MpEXhuCOwu1Ey0HlDUtOw_1774849499",
        "Date": "Mon, 30 Mar 2026 07:44:54 +0200",
        "From": "Jakub Jelinek <jakub@redhat.com>",
        "To": "Jason Merrill <jason@redhat.com>, Marek Polacek <polacek@redhat.com>,\n Jonathan Wakely <jwakely@redhat.com>",
        "Cc": "gcc-patches@gcc.gnu.org",
        "Subject": "[PATCH] c++, libstdc++: Remove is_consteval_only* traits",
        "Message-ID": "<acoN1uBOXGmJ4IAw@tucnak>",
        "MIME-Version": "1.0",
        "X-Scanned-By": "MIMEDefang 3.4.1 on 10.30.177.4",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-MFC-PROC-ID": "elWBuKKqxt4O1F52IpvX1ArRD6PmO3CpyEMo9hYsLG4_1774849499",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Type": "text/plain; charset=us-ascii",
        "Content-Disposition": "inline",
        "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>",
        "Reply-To": "Jakub Jelinek <jakub@redhat.com>",
        "Errors-To": "gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"
    },
    "content": "Hi!\n\nThe following patch implements LWG4555.\n\nBootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?\n\n2026-03-30  Jakub Jelinek  <jakub@redhat.com>\n\ngcc/cp/\n\t* constraint.cc (diagnose_trait_expr): Remove CPTK_IS_CONSTEVAL_ONLY\n\thandling.\n\t* metafns.gperf (enum metafn_code): Remove\n\tMETAFN_IS_CONSTEVAL_ONLY_TYPE.\n\t(is_consteval_only_type): Remove.\n\t* semantics.cc (trait_expr_value, finish_trait_expr): Remove\n\tCPTK_IS_CONSTEVAL_ONLY handling.\n\t* cp-trait.def (__builtin_is_consteval_only): Remove.\n\t* metafns.h: Regenerate.\n\t* reflect.cc (eval_is_consteval_only_type): Remove.\n\t(process_metafunction): Don't handle METAFN_IS_CONSTEVAL_ONLY_TYPE.\ngcc/testsuite/\n\t* g++.dg/reflect/is_consteval_only1.C: Remove.\n\t* g++.dg/reflect/eh1.C: Remove is_consteval_only_type tests.\n\t* g++.dg/reflect/eh2.C: Likewise.\n\t* g++.dg/reflect/type_trait5.C: Likewise.\nlibstdc++-v3/\n\t* include/std/type_traits (std::is_consteval_only,\n\tstd::is_consteval_only_v): Remove.\n\t* include/std/meta (std::meta::is_consteval_only_type): Remove.\n\t* src/c++23/std.cc.in: Don't export std::is_consteval_only,\n\tstd::is_consteval_only_v and std::meta::is_consteval_only_type.\n\t* testsuite/20_util/is_consteval_only/requirements/explicit_instantiation.cc:\n\tRemove.\n\t* testsuite/20_util/is_consteval_only/requirements/typedefs.cc:\n\tRemove.\n\t* testsuite/20_util/is_consteval_only/value.cc: Remove.\n\t* testsuite/20_util/variable_templates_for_traits.cc: Remove\n\tis_consteval_only_v tests.\n\n\n\tJakub",
    "diff": "--- gcc/cp/constraint.cc.jj\t2026-03-29 19:50:27.020010287 +0200\n+++ gcc/cp/constraint.cc\t2026-03-29 19:51:08.738364941 +0200\n@@ -3354,9 +3354,6 @@ diagnose_trait_expr (location_t loc, tre\n     case CPTK_IS_VOLATILE:\n       inform (loc, \"%qT is not a volatile type\", t1);\n       break;\n-    case CPTK_IS_CONSTEVAL_ONLY:\n-      inform (decl_loc, \"%qT is not consteval-only\", t1);\n-      break;\n     case CPTK_IS_STRUCTURAL:\n       inform (decl_loc, \"%qT is not a structural type\", t1);\n       structural_type_p (t1, /*explain=*/true);\n--- gcc/cp/metafns.gperf.jj\t2026-03-29 19:50:27.020246940 +0200\n+++ gcc/cp/metafns.gperf\t2026-03-29 19:51:42.277802736 +0200\n@@ -171,7 +171,6 @@ enum metafn_code {\n   METAFN_IS_ABSTRACT_TYPE,\n   METAFN_IS_FINAL_TYPE,\n   METAFN_IS_AGGREGATE_TYPE,\n-  METAFN_IS_CONSTEVAL_ONLY_TYPE,\n   METAFN_IS_STRUCTURAL_TYPE,\n   METAFN_IS_SIGNED_TYPE,\n   METAFN_IS_UNSIGNED_TYPE,\n@@ -607,7 +606,6 @@ is_polymorphic_type, METAFN_IS_POLYMORPH\n is_abstract_type, METAFN_IS_ABSTRACT_TYPE, METAFN_KIND_BOOL_TINFO,\n is_final_type, METAFN_IS_FINAL_TYPE, METAFN_KIND_BOOL_TINFO,\n is_aggregate_type, METAFN_IS_AGGREGATE_TYPE, METAFN_KIND_BOOL_TINFO,\n-is_consteval_only_type, METAFN_IS_CONSTEVAL_ONLY_TYPE, METAFN_KIND_BOOL_TINFO,\n is_structural_type, METAFN_IS_STRUCTURAL_TYPE, METAFN_KIND_BOOL_TINFO,\n is_signed_type, METAFN_IS_SIGNED_TYPE, METAFN_KIND_BOOL_TINFO,\n is_unsigned_type, METAFN_IS_UNSIGNED_TYPE, METAFN_KIND_BOOL_TINFO,\n--- gcc/cp/semantics.cc.jj\t2026-03-29 19:50:27.019243777 +0200\n+++ gcc/cp/semantics.cc\t2026-03-29 19:52:30.059003151 +0200\n@@ -14170,9 +14170,6 @@ trait_expr_value (cp_trait_kind kind, tr\n     case CPTK_IS_DEDUCIBLE:\n       return type_targs_deducible_from (type1, type2);\n \n-    case CPTK_IS_CONSTEVAL_ONLY:\n-      return consteval_only_p (type1);\n-\n     case CPTK_IS_STRUCTURAL:\n       return structural_type_p (type1);\n \n@@ -14356,7 +14353,6 @@ finish_trait_expr (location_t loc, cp_tr\n     case CPTK_IS_STD_LAYOUT:\n     case CPTK_IS_TRIVIAL:\n     case CPTK_IS_TRIVIALLY_COPYABLE:\n-    case CPTK_IS_CONSTEVAL_ONLY:\n     case CPTK_IS_STRUCTURAL:\n     case CPTK_HAS_UNIQUE_OBJ_REPRESENTATIONS:\n       if (!check_trait_type (type1, /* kind = */ 2))\n--- gcc/cp/cp-trait.def.jj\t2026-03-29 19:50:27.018581875 +0200\n+++ gcc/cp/cp-trait.def\t2026-03-29 19:51:23.560115964 +0200\n@@ -69,7 +69,6 @@ DEFTRAIT_EXPR (IS_BASE_OF, \"__is_base_of\n DEFTRAIT_EXPR (IS_BOUNDED_ARRAY, \"__is_bounded_array\", 1)\n DEFTRAIT_EXPR (IS_CLASS, \"__is_class\", 1)\n DEFTRAIT_EXPR (IS_CONST, \"__is_const\", 1)\n-DEFTRAIT_EXPR (IS_CONSTEVAL_ONLY, \"__builtin_is_consteval_only\", 1)\n DEFTRAIT_EXPR (IS_CONSTRUCTIBLE, \"__is_constructible\", -1)\n DEFTRAIT_EXPR (IS_CONVERTIBLE, \"__is_convertible\", 2)\n DEFTRAIT_EXPR (IS_DESTRUCTIBLE, \"__is_destructible\", 1)\n--- gcc/cp/metafns.h.jj\t2026-03-29 19:50:27.023033266 +0200\n+++ gcc/cp/metafns.h\t2026-03-29 19:51:54.873368136 +0200\n@@ -199,7 +199,6 @@ enum metafn_code {\n   METAFN_IS_ABSTRACT_TYPE,\n   METAFN_IS_FINAL_TYPE,\n   METAFN_IS_AGGREGATE_TYPE,\n-  METAFN_IS_CONSTEVAL_ONLY_TYPE,\n   METAFN_IS_STRUCTURAL_TYPE,\n   METAFN_IS_SIGNED_TYPE,\n   METAFN_IS_UNSIGNED_TYPE,\n@@ -473,7 +472,7 @@ enum metafn_kind {\n     = (METAFN_KIND_ARGS_INPUT_RANGE << METAFN_KIND_SHIFT)\n       | METAFN_KIND_RET_U8STRING_VIEW\n };\n-#line 449 \"metafns.gperf\"\n+#line 448 \"metafns.gperf\"\n struct metafn_info\n {\n   /* A name within \"std::meta::\" (or \"std::meta::access_context::\").  */\n@@ -584,7 +583,7 @@ metafn_lookup::find (const char *str, si\n {\n   enum\n     {\n-      TOTAL_KEYWORDS = 235,\n+      TOTAL_KEYWORDS = 234,\n       MIN_WORD_LENGTH = 4,\n       MAX_WORD_LENGTH = 40,\n       MIN_HASH_VALUE = 36,\n@@ -597,475 +596,473 @@ metafn_lookup::find (const char *str, si\n #endif\n   static const struct metafn_info wordlist[] =\n     {\n-#line 498 \"metafns.gperf\"\n+#line 497 \"metafns.gperf\"\n       {\"has_module_linkage\", METAFN_HAS_MODULE_LINKAGE, METAFN_KIND_BOOL_INFO,},\n-#line 650 \"metafns.gperf\"\n+#line 648 \"metafns.gperf\"\n       {\"rank\", METAFN_RANK, METAFN_KIND_SIZE_T_TINFO,},\n-#line 579 \"metafns.gperf\"\n+#line 578 \"metafns.gperf\"\n       {\"is_void_type\", METAFN_IS_VOID_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 584 \"metafns.gperf\"\n+#line 583 \"metafns.gperf\"\n       {\"is_pointer_type\", METAFN_IS_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 490 \"metafns.gperf\"\n+#line 489 \"metafns.gperf\"\n       {\"is_volatile\", METAFN_IS_VOLATILE, METAFN_KIND_BOOL_INFO,},\n-#line 536 \"metafns.gperf\"\n+#line 535 \"metafns.gperf\"\n       {\"is_value\", METAFN_IS_VALUE, METAFN_KIND_BOOL_INFO,},\n-#line 543 \"metafns.gperf\"\n+#line 542 \"metafns.gperf\"\n       {\"is_base\", METAFN_IS_BASE, METAFN_KIND_BOOL_INFO,},\n-#line 504 \"metafns.gperf\"\n+#line 503 \"metafns.gperf\"\n       {\"is_variable\", METAFN_IS_VARIABLE, METAFN_KIND_BOOL_INFO,},\n-#line 656 \"metafns.gperf\"\n+#line 654 \"metafns.gperf\"\n       {\"is_nothrow_convertible_type\", METAFN_IS_NOTHROW_CONVERTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},\n-#line 635 \"metafns.gperf\"\n+#line 633 \"metafns.gperf\"\n       {\"is_nothrow_constructible_type\", METAFN_IS_NOTHROW_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},\n-#line 661 \"metafns.gperf\"\n+#line 659 \"metafns.gperf\"\n       {\"is_nothrow_invocable_type\", METAFN_IS_NOTHROW_INVOCABLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},\n-#line 640 \"metafns.gperf\"\n+#line 638 \"metafns.gperf\"\n       {\"is_nothrow_copy_assignable_type\", METAFN_IS_NOTHROW_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 662 \"metafns.gperf\"\n+#line 660 \"metafns.gperf\"\n       {\"is_nothrow_invocable_r_type\", METAFN_IS_NOTHROW_INVOCABLE_R_TYPE, METAFN_KIND_BOOL_TINFO_TINFO_REFLECTION_RANGET,},\n-#line 637 \"metafns.gperf\"\n+#line 635 \"metafns.gperf\"\n       {\"is_nothrow_copy_constructible_type\", METAFN_IS_NOTHROW_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 653 \"metafns.gperf\"\n+#line 651 \"metafns.gperf\"\n       {\"is_base_of_type\", METAFN_IS_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},\n-#line 641 \"metafns.gperf\"\n+#line 639 \"metafns.gperf\"\n       {\"is_nothrow_move_assignable_type\", METAFN_IS_NOTHROW_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 638 \"metafns.gperf\"\n+#line 636 \"metafns.gperf\"\n       {\"is_nothrow_move_constructible_type\", METAFN_IS_NOTHROW_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 528 \"metafns.gperf\"\n+#line 527 \"metafns.gperf\"\n       {\"is_variable_template\", METAFN_IS_VARIABLE_TEMPLATE, METAFN_KIND_BOOL_INFO,},\n-#line 688 \"metafns.gperf\"\n+#line 686 \"metafns.gperf\"\n       {\"variant_size\", METAFN_VARIANT_SIZE, METAFN_KIND_SIZE_T_TINFO,},\n-#line 580 \"metafns.gperf\"\n+#line 579 \"metafns.gperf\"\n       {\"is_null_pointer_type\", METAFN_IS_NULL_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 505 \"metafns.gperf\"\n+#line 504 \"metafns.gperf\"\n       {\"is_type\", METAFN_IS_TYPE, METAFN_KIND_BOOL_INFO,},\n-#line 496 \"metafns.gperf\"\n+#line 495 \"metafns.gperf\"\n       {\"has_automatic_storage_duration\", METAFN_HAS_AUTOMATIC_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,},\n-#line 473 \"metafns.gperf\"\n+#line 472 \"metafns.gperf\"\n       {\"is_public\", METAFN_IS_PUBLIC, METAFN_KIND_BOOL_INFO,},\n-#line 485 \"metafns.gperf\"\n+#line 484 \"metafns.gperf\"\n       {\"is_noexcept\", METAFN_IS_NOEXCEPT, METAFN_KIND_BOOL_INFO,},\n-#line 568 \"metafns.gperf\"\n+#line 567 \"metafns.gperf\"\n       {\"extract\", METAFN_EXTRACT, METAFN_KIND_TEMPLATE_PARM_INFO,},\n-#line 689 \"metafns.gperf\"\n+#line 687 \"metafns.gperf\"\n       {\"variant_alternative\", METAFN_VARIANT_ALTERNATIVE, METAFN_KIND_INFO_SIZE_T_TINFO,},\n-#line 545 \"metafns.gperf\"\n+#line 544 \"metafns.gperf\"\n       {\"has_parent\", METAFN_HAS_PARENT, METAFN_KIND_BOOL_INFO,},\n-#line 606 \"metafns.gperf\"\n+#line 605 \"metafns.gperf\"\n       {\"is_polymorphic_type\", METAFN_IS_POLYMORPHIC_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 475 \"metafns.gperf\"\n+#line 474 \"metafns.gperf\"\n       {\"is_private\", METAFN_IS_PRIVATE, METAFN_KIND_BOOL_INFO,},\n-#line 509 \"metafns.gperf\"\n+#line 508 \"metafns.gperf\"\n       {\"is_function\", METAFN_IS_FUNCTION, METAFN_KIND_BOOL_INFO,},\n-#line 506 \"metafns.gperf\"\n+#line 505 \"metafns.gperf\"\n       {\"is_namespace\", METAFN_IS_NAMESPACE, METAFN_KIND_BOOL_INFO,},\n-#line 658 \"metafns.gperf\"\n+#line 656 \"metafns.gperf\"\n       {\"is_pointer_interconvertible_base_of_type\", METAFN_IS_POINTER_INTERCONVERTIBLE_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},\n-#line 614 \"metafns.gperf\"\n+#line 612 \"metafns.gperf\"\n       {\"is_bounded_array_type\", METAFN_IS_BOUNDED_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 489 \"metafns.gperf\"\n+#line 488 \"metafns.gperf\"\n       {\"is_const\", METAFN_IS_CONST, METAFN_KIND_BOOL_INFO,},\n-#line 535 \"metafns.gperf\"\n+#line 534 \"metafns.gperf\"\n       {\"is_concept\", METAFN_IS_CONCEPT, METAFN_KIND_BOOL_INFO,},\n-#line 652 \"metafns.gperf\"\n+#line 650 \"metafns.gperf\"\n       {\"is_same_type\", METAFN_IS_SAME_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},\n-#line 559 \"metafns.gperf\"\n+#line 558 \"metafns.gperf\"\n       {\"bases_of\", METAFN_BASES_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},\n-#line 544 \"metafns.gperf\"\n+#line 543 \"metafns.gperf\"\n       {\"has_default_member_initializer\", METAFN_HAS_DEFAULT_MEMBER_INITIALIZER, METAFN_KIND_BOOL_INFO,},\n-#line 527 \"metafns.gperf\"\n+#line 526 \"metafns.gperf\"\n       {\"is_function_template\", METAFN_IS_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,},\n-#line 639 \"metafns.gperf\"\n+#line 637 \"metafns.gperf\"\n       {\"is_nothrow_assignable_type\", METAFN_IS_NOTHROW_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},\n-#line 510 \"metafns.gperf\"\n+#line 509 \"metafns.gperf\"\n       {\"is_conversion_function\", METAFN_IS_CONVERSION_FUNCTION, METAFN_KIND_BOOL_INFO,},\n-#line 644 \"metafns.gperf\"\n+#line 642 \"metafns.gperf\"\n       {\"is_nothrow_destructible_type\", METAFN_IS_NOTHROW_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 655 \"metafns.gperf\"\n+#line 653 \"metafns.gperf\"\n       {\"is_convertible_type\", METAFN_IS_CONVERTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},\n-#line 645 \"metafns.gperf\"\n+#line 643 \"metafns.gperf\"\n       {\"is_implicit_lifetime_type\", METAFN_IS_IMPLICIT_LIFETIME_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 524 \"metafns.gperf\"\n+#line 523 \"metafns.gperf\"\n       {\"has_default_argument\", METAFN_HAS_DEFAULT_ARGUMENT, METAFN_KIND_BOOL_INFO,},\n-#line 526 \"metafns.gperf\"\n+#line 525 \"metafns.gperf\"\n       {\"is_template\", METAFN_IS_TEMPLATE, METAFN_KIND_BOOL_INFO,},\n-#line 636 \"metafns.gperf\"\n+#line 634 \"metafns.gperf\"\n       {\"is_nothrow_default_constructible_type\", METAFN_IS_NOTHROW_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 569 \"metafns.gperf\"\n+#line 568 \"metafns.gperf\"\n       {\"can_substitute\", METAFN_CAN_SUBSTITUTE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,},\n-#line 531 \"metafns.gperf\"\n+#line 530 \"metafns.gperf\"\n       {\"is_conversion_function_template\", METAFN_IS_CONVERSION_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,},\n-#line 462 \"metafns.gperf\"\n+#line 461 \"metafns.gperf\"\n       {\"symbol_of\", METAFN_SYMBOL_OF, METAFN_KIND_STRING_VIEW_OPERATORS,},\n-#line 690 \"metafns.gperf\"\n+#line 688 \"metafns.gperf\"\n       {\"type_order\", METAFN_TYPE_ORDER, METAFN_KIND_STRONG_ORDERING_TINFO_TINFO,},\n-#line 619 \"metafns.gperf\"\n+#line 617 \"metafns.gperf\"\n       {\"is_copy_constructible_type\", METAFN_IS_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 501 \"metafns.gperf\"\n+#line 500 \"metafns.gperf\"\n       {\"has_linkage\", METAFN_HAS_LINKAGE, METAFN_KIND_BOOL_INFO,},\n-#line 525 \"metafns.gperf\"\n+#line 524 \"metafns.gperf\"\n       {\"has_ellipsis_parameter\", METAFN_HAS_ELLIPSIS_PARAMETER, METAFN_KIND_BOOL_INFO,},\n-#line 617 \"metafns.gperf\"\n+#line 615 \"metafns.gperf\"\n       {\"is_constructible_type\", METAFN_IS_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},\n-#line 470 \"metafns.gperf\"\n+#line 469 \"metafns.gperf\"\n       {\"type_of\", METAFN_TYPE_OF, METAFN_KIND_INFO_INFO,},\n-#line 622 \"metafns.gperf\"\n+#line 620 \"metafns.gperf\"\n       {\"is_copy_assignable_type\", METAFN_IS_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 686 \"metafns.gperf\"\n+#line 684 \"metafns.gperf\"\n       {\"tuple_size\", METAFN_TUPLE_SIZE, METAFN_KIND_SIZE_T_TINFO,},\n-#line 507 \"metafns.gperf\"\n+#line 506 \"metafns.gperf\"\n       {\"is_type_alias\", METAFN_IS_TYPE_ALIAS, METAFN_KIND_BOOL_INFO,},\n-#line 516 \"metafns.gperf\"\n+#line 515 \"metafns.gperf\"\n       {\"is_copy_constructor\", METAFN_IS_COPY_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,},\n-#line 552 \"metafns.gperf\"\n+#line 551 \"metafns.gperf\"\n       {\"variable_of\", METAFN_VARIABLE_OF, METAFN_KIND_INFO_INFO,},\n-#line 593 \"metafns.gperf\"\n+#line 592 \"metafns.gperf\"\n       {\"is_reflection_type\", METAFN_IS_REFLECTION_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 596 \"metafns.gperf\"\n+#line 595 \"metafns.gperf\"\n       {\"is_fundamental_type\", METAFN_IS_FUNDAMENTAL_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 657 \"metafns.gperf\"\n+#line 655 \"metafns.gperf\"\n       {\"is_layout_compatible_type\", METAFN_IS_LAYOUT_COMPATIBLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},\n-#line 567 \"metafns.gperf\"\n+#line 566 \"metafns.gperf\"\n       {\"bit_size_of\", METAFN_BIT_SIZE_OF, METAFN_KIND_SIZE_T_INFO,},\n-#line 519 \"metafns.gperf\"\n+#line 518 \"metafns.gperf\"\n       {\"is_copy_assignment\", METAFN_IS_COPY_ASSIGNMENT, METAFN_KIND_BOOL_INFO,},\n-#line 693 \"metafns.gperf\"\n+#line 691 \"metafns.gperf\"\n       {\"current\", METAFN_ACCESS_CONTEXT_CURRENT, METAFN_KIND_ACCESS_CONTEXT_VOID,},\n-#line 680 \"metafns.gperf\"\n+#line 678 \"metafns.gperf\"\n       {\"common_type\", METAFN_COMMON_TYPE, METAFN_KIND_INFO_REFLECTION_RANGET,},\n-#line 534 \"metafns.gperf\"\n+#line 533 \"metafns.gperf\"\n       {\"is_constructor_template\", METAFN_IS_CONSTRUCTOR_TEMPLATE, METAFN_KIND_BOOL_INFO,},\n-#line 681 \"metafns.gperf\"\n+#line 679 \"metafns.gperf\"\n       {\"common_reference\", METAFN_COMMON_REFERENCE, METAFN_KIND_INFO_REFLECTION_RANGET,},\n-#line 565 \"metafns.gperf\"\n+#line 564 \"metafns.gperf\"\n       {\"size_of\", METAFN_SIZE_OF, METAFN_KIND_SIZE_T_INFO,},\n-#line 687 \"metafns.gperf\"\n+#line 685 \"metafns.gperf\"\n       {\"tuple_element\", METAFN_TUPLE_ELEMENT, METAFN_KIND_INFO_SIZE_T_TINFO,},\n-#line 573 \"metafns.gperf\"\n+#line 572 \"metafns.gperf\"\n       {\"reflect_function\", METAFN_REFLECT_FUNCTION, METAFN_KIND_INFO_TEMPLATE_PARM_REF,},\n-#line 625 \"metafns.gperf\"\n+#line 623 \"metafns.gperf\"\n       {\"is_swappable_type\", METAFN_IS_SWAPPABLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 620 \"metafns.gperf\"\n+#line 618 \"metafns.gperf\"\n       {\"is_move_constructible_type\", METAFN_IS_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 514 \"metafns.gperf\"\n+#line 513 \"metafns.gperf\"\n       {\"is_constructor\", METAFN_IS_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,},\n-#line 643 \"metafns.gperf\"\n+#line 641 \"metafns.gperf\"\n       {\"is_nothrow_swappable_type\", METAFN_IS_NOTHROW_SWAPPABLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 594 \"metafns.gperf\"\n+#line 593 \"metafns.gperf\"\n       {\"is_reference_type\", METAFN_IS_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 642 \"metafns.gperf\"\n+#line 640 \"metafns.gperf\"\n       {\"is_nothrow_swappable_with_type\", METAFN_IS_NOTHROW_SWAPPABLE_WITH_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},\n-#line 600 \"metafns.gperf\"\n+#line 599 \"metafns.gperf\"\n       {\"is_member_pointer_type\", METAFN_IS_MEMBER_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 623 \"metafns.gperf\"\n+#line 621 \"metafns.gperf\"\n       {\"is_move_assignable_type\", METAFN_IS_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 517 \"metafns.gperf\"\n+#line 516 \"metafns.gperf\"\n       {\"is_move_constructor\", METAFN_IS_MOVE_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,},\n-#line 551 \"metafns.gperf\"\n+#line 550 \"metafns.gperf\"\n       {\"parameters_of\", METAFN_PARAMETERS_OF, METAFN_KIND_VECTOR_INFO_INFO,},\n-#line 520 \"metafns.gperf\"\n+#line 519 \"metafns.gperf\"\n       {\"is_move_assignment\", METAFN_IS_MOVE_ASSIGNMENT, METAFN_KIND_BOOL_INFO,},\n-#line 621 \"metafns.gperf\"\n+#line 619 \"metafns.gperf\"\n       {\"is_assignable_type\", METAFN_IS_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},\n-#line 539 \"metafns.gperf\"\n+#line 538 \"metafns.gperf\"\n       {\"is_class_member\", METAFN_IS_CLASS_MEMBER, METAFN_KIND_BOOL_INFO,},\n-#line 603 \"metafns.gperf\"\n+#line 602 \"metafns.gperf\"\n       {\"is_trivially_copyable_type\", METAFN_IS_TRIVIALLY_COPYABLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 518 \"metafns.gperf\"\n+#line 517 \"metafns.gperf\"\n       {\"is_assignment\", METAFN_IS_ASSIGNMENT, METAFN_KIND_BOOL_INFO,},\n-#line 540 \"metafns.gperf\"\n+#line 539 \"metafns.gperf\"\n       {\"is_namespace_member\", METAFN_IS_NAMESPACE_MEMBER, METAFN_KIND_BOOL_INFO,},\n-#line 558 \"metafns.gperf\"\n+#line 557 \"metafns.gperf\"\n       {\"members_of\", METAFN_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},\n-#line 627 \"metafns.gperf\"\n+#line 625 \"metafns.gperf\"\n       {\"is_trivially_constructible_type\", METAFN_IS_TRIVIALLY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},\n-#line 632 \"metafns.gperf\"\n+#line 630 \"metafns.gperf\"\n       {\"is_trivially_copy_assignable_type\", METAFN_IS_TRIVIALLY_COPY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 609 \"metafns.gperf\"\n+#line 608 \"metafns.gperf\"\n       {\"is_aggregate_type\", METAFN_IS_AGGREGATE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 629 \"metafns.gperf\"\n+#line 627 \"metafns.gperf\"\n       {\"is_trivially_copy_constructible_type\", METAFN_IS_TRIVIALLY_COPY_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 586 \"metafns.gperf\"\n+#line 585 \"metafns.gperf\"\n       {\"is_rvalue_reference_type\", METAFN_IS_RVALUE_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 646 \"metafns.gperf\"\n+#line 644 \"metafns.gperf\"\n       {\"has_virtual_destructor\", METAFN_HAS_VIRTUAL_DESTRUCTOR, METAFN_KIND_BOOL_TINFO,},\n-#line 651 \"metafns.gperf\"\n+#line 649 \"metafns.gperf\"\n       {\"extent\", METAFN_EXTENT, METAFN_KIND_SIZE_T_TINFO_UNSIGNED,},\n-#line 589 \"metafns.gperf\"\n+#line 588 \"metafns.gperf\"\n       {\"is_enum_type\", METAFN_IS_ENUM_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 549 \"metafns.gperf\"\n+#line 548 \"metafns.gperf\"\n       {\"template_of\", METAFN_TEMPLATE_OF, METAFN_KIND_INFO_INFO,},\n-#line 529 \"metafns.gperf\"\n+#line 528 \"metafns.gperf\"\n       {\"is_class_template\", METAFN_IS_CLASS_TEMPLATE, METAFN_KIND_BOOL_INFO,},\n-#line 513 \"metafns.gperf\"\n+#line 512 \"metafns.gperf\"\n       {\"is_special_member_function\", METAFN_IS_SPECIAL_MEMBER_FUNCTION, METAFN_KIND_BOOL_INFO,},\n-#line 474 \"metafns.gperf\"\n+#line 473 \"metafns.gperf\"\n       {\"is_protected\", METAFN_IS_PROTECTED, METAFN_KIND_BOOL_INFO,},\n-#line 585 \"metafns.gperf\"\n+#line 584 \"metafns.gperf\"\n       {\"is_lvalue_reference_type\", METAFN_IS_LVALUE_REFERENCE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 541 \"metafns.gperf\"\n+#line 540 \"metafns.gperf\"\n       {\"is_nonstatic_data_member\", METAFN_IS_NONSTATIC_DATA_MEMBER, METAFN_KIND_BOOL_INFO,},\n-#line 503 \"metafns.gperf\"\n+#line 502 \"metafns.gperf\"\n       {\"is_enumerable_type\", METAFN_IS_ENUMERABLE_TYPE, METAFN_KIND_BOOL_INFO,},\n-#line 494 \"metafns.gperf\"\n+#line 493 \"metafns.gperf\"\n       {\"has_static_storage_duration\", METAFN_HAS_STATIC_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,},\n-#line 595 \"metafns.gperf\"\n+#line 594 \"metafns.gperf\"\n       {\"is_arithmetic_type\", METAFN_IS_ARITHMETIC_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 546 \"metafns.gperf\"\n+#line 545 \"metafns.gperf\"\n       {\"parent_of\", METAFN_PARENT_OF, METAFN_KIND_INFO_INFO,},\n-#line 477 \"metafns.gperf\"\n+#line 476 \"metafns.gperf\"\n       {\"is_pure_virtual\", METAFN_IS_PURE_VIRTUAL, METAFN_KIND_BOOL_INFO,},\n-#line 677 \"metafns.gperf\"\n+#line 675 \"metafns.gperf\"\n       {\"add_pointer\", METAFN_ADD_POINTER, METAFN_KIND_INFO_TINFO,},\n-#line 618 \"metafns.gperf\"\n+#line 616 \"metafns.gperf\"\n       {\"is_default_constructible_type\", METAFN_IS_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 522 \"metafns.gperf\"\n+#line 521 \"metafns.gperf\"\n       {\"is_function_parameter\", METAFN_IS_FUNCTION_PARAMETER, METAFN_KIND_BOOL_INFO,},\n-#line 624 \"metafns.gperf\"\n+#line 622 \"metafns.gperf\"\n       {\"is_swappable_with_type\", METAFN_IS_SWAPPABLE_WITH_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},\n-#line 499 \"metafns.gperf\"\n+#line 498 \"metafns.gperf\"\n       {\"has_external_linkage\", METAFN_HAS_EXTERNAL_LINKAGE, METAFN_KIND_BOOL_INFO,},\n-#line 598 \"metafns.gperf\"\n+#line 597 \"metafns.gperf\"\n       {\"is_scalar_type\", METAFN_IS_SCALAR_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 671 \"metafns.gperf\"\n+#line 669 \"metafns.gperf\"\n       {\"add_rvalue_reference\", METAFN_ADD_RVALUE_REFERENCE, METAFN_KIND_INFO_TINFO,},\n-#line 491 \"metafns.gperf\"\n+#line 490 \"metafns.gperf\"\n       {\"is_mutable_member\", METAFN_IS_MUTABLE_MEMBER, METAFN_KIND_BOOL_INFO,},\n-#line 508 \"metafns.gperf\"\n+#line 507 \"metafns.gperf\"\n       {\"is_namespace_alias\", METAFN_IS_NAMESPACE_ALIAS, METAFN_KIND_BOOL_INFO,},\n-#line 684 \"metafns.gperf\"\n+#line 682 \"metafns.gperf\"\n       {\"unwrap_reference\", METAFN_UNWRAP_REFERENCE, METAFN_KIND_INFO_TINFO,},\n-#line 633 \"metafns.gperf\"\n+#line 631 \"metafns.gperf\"\n       {\"is_trivially_move_assignable_type\", METAFN_IS_TRIVIALLY_MOVE_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 630 \"metafns.gperf\"\n+#line 628 \"metafns.gperf\"\n       {\"is_trivially_move_constructible_type\", METAFN_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 515 \"metafns.gperf\"\n+#line 514 \"metafns.gperf\"\n       {\"is_default_constructor\", METAFN_IS_DEFAULT_CONSTRUCTOR, METAFN_KIND_BOOL_INFO,},\n-#line 487 \"metafns.gperf\"\n+#line 486 \"metafns.gperf\"\n       {\"is_enumerator\", METAFN_IS_ENUMERATOR, METAFN_KIND_BOOL_INFO,},\n-#line 537 \"metafns.gperf\"\n+#line 536 \"metafns.gperf\"\n       {\"is_object\", METAFN_IS_OBJECT, METAFN_KIND_BOOL_INFO,},\n-#line 682 \"metafns.gperf\"\n+#line 680 \"metafns.gperf\"\n       {\"underlying_type\", METAFN_UNDERLYING_TYPE, METAFN_KIND_INFO_TINFO,},\n-#line 521 \"metafns.gperf\"\n+#line 520 \"metafns.gperf\"\n       {\"is_destructor\", METAFN_IS_DESTRUCTOR, METAFN_KIND_BOOL_INFO,},\n-#line 605 \"metafns.gperf\"\n+#line 604 \"metafns.gperf\"\n       {\"is_empty_type\", METAFN_IS_EMPTY_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 588 \"metafns.gperf\"\n+#line 587 \"metafns.gperf\"\n       {\"is_member_function_pointer_type\", METAFN_IS_MEMBER_FUNCTION_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 465 \"metafns.gperf\"\n+#line 464 \"metafns.gperf\"\n       {\"identifier_of\", METAFN_IDENTIFIER_OF, METAFN_KIND_STRING_VIEW_INFO,},\n-#line 597 \"metafns.gperf\"\n+#line 596 \"metafns.gperf\"\n       {\"is_object_type\", METAFN_IS_OBJECT_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 602 \"metafns.gperf\"\n+#line 601 \"metafns.gperf\"\n       {\"is_volatile_type\", METAFN_IS_VOLATILE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 668 \"metafns.gperf\"\n+#line 666 \"metafns.gperf\"\n       {\"add_cv\", METAFN_ADD_CV, METAFN_KIND_INFO_TINFO,},\n-#line 574 \"metafns.gperf\"\n+#line 573 \"metafns.gperf\"\n       {\"reflect_constant_string\", METAFN_REFLECT_CONSTANT_STRING, METAFN_KIND_INFO_INPUT_RANGE,},\n-#line 571 \"metafns.gperf\"\n+#line 570 \"metafns.gperf\"\n       {\"reflect_constant\", METAFN_REFLECT_CONSTANT, METAFN_KIND_INFO_TEMPLATE_PARM,},\n-#line 631 \"metafns.gperf\"\n+#line 629 \"metafns.gperf\"\n       {\"is_trivially_assignable_type\", METAFN_IS_TRIVIALLY_ASSIGNABLE_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},\n-#line 670 \"metafns.gperf\"\n+#line 668 \"metafns.gperf\"\n       {\"add_lvalue_reference\", METAFN_ADD_LVALUE_REFERENCE, METAFN_KIND_INFO_TINFO,},\n-#line 667 \"metafns.gperf\"\n+#line 665 \"metafns.gperf\"\n       {\"add_volatile\", METAFN_ADD_VOLATILE, METAFN_KIND_INFO_TINFO,},\n-#line 673 \"metafns.gperf\"\n+#line 671 \"metafns.gperf\"\n       {\"make_unsigned\", METAFN_MAKE_UNSIGNED, METAFN_KIND_INFO_TINFO,},\n-#line 563 \"metafns.gperf\"\n+#line 562 \"metafns.gperf\"\n       {\"enumerators_of\", METAFN_ENUMERATORS_OF, METAFN_KIND_VECTOR_INFO_INFO,},\n-#line 626 \"metafns.gperf\"\n+#line 624 \"metafns.gperf\"\n       {\"is_destructible_type\", METAFN_IS_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 550 \"metafns.gperf\"\n+#line 549 \"metafns.gperf\"\n       {\"template_arguments_of\", METAFN_TEMPLATE_ARGUMENTS_OF, METAFN_KIND_VECTOR_INFO_INFO,},\n-#line 659 \"metafns.gperf\"\n+#line 657 \"metafns.gperf\"\n       {\"is_invocable_type\", METAFN_IS_INVOCABLE_TYPE, METAFN_KIND_BOOL_TINFO_REFLECTION_RANGET,},\n-#line 666 \"metafns.gperf\"\n+#line 664 \"metafns.gperf\"\n       {\"add_const\", METAFN_ADD_CONST, METAFN_KIND_INFO_TINFO,},\n-#line 570 \"metafns.gperf\"\n+#line 569 \"metafns.gperf\"\n       {\"substitute\", METAFN_SUBSTITUTE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,},\n-#line 530 \"metafns.gperf\"\n+#line 529 \"metafns.gperf\"\n       {\"is_alias_template\", METAFN_IS_ALIAS_TEMPLATE, METAFN_KIND_BOOL_INFO,},\n-#line 601 \"metafns.gperf\"\n+#line 600 \"metafns.gperf\"\n       {\"is_const_type\", METAFN_IS_CONST_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 634 \"metafns.gperf\"\n+#line 632 \"metafns.gperf\"\n       {\"is_trivially_destructible_type\", METAFN_IS_TRIVIALLY_DESTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 484 \"metafns.gperf\"\n+#line 483 \"metafns.gperf\"\n       {\"is_explicit\", METAFN_IS_EXPLICIT, METAFN_KIND_BOOL_INFO,},\n-#line 554 \"metafns.gperf\"\n+#line 553 \"metafns.gperf\"\n       {\"is_accessible\", METAFN_IS_ACCESSIBLE, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,},\n-#line 660 \"metafns.gperf\"\n+#line 658 \"metafns.gperf\"\n       {\"is_invocable_r_type\", METAFN_IS_INVOCABLE_R_TYPE, METAFN_KIND_BOOL_TINFO_TINFO_REFLECTION_RANGET,},\n-#line 502 \"metafns.gperf\"\n+#line 501 \"metafns.gperf\"\n       {\"is_complete_type\", METAFN_IS_COMPLETE_TYPE, METAFN_KIND_BOOL_INFO,},\n-#line 611 \"metafns.gperf\"\n+#line 609 \"metafns.gperf\"\n       {\"is_structural_type\", METAFN_IS_STRUCTURAL_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 628 \"metafns.gperf\"\n+#line 626 \"metafns.gperf\"\n       {\"is_trivially_default_constructible_type\", METAFN_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 478 \"metafns.gperf\"\n+#line 477 \"metafns.gperf\"\n       {\"is_override\", METAFN_IS_OVERRIDE, METAFN_KIND_BOOL_INFO,},\n-#line 461 \"metafns.gperf\"\n+#line 460 \"metafns.gperf\"\n       {\"operator_of\", METAFN_OPERATOR_OF, METAFN_KIND_OPERATORS_INFO,},\n-#line 592 \"metafns.gperf\"\n+#line 591 \"metafns.gperf\"\n       {\"is_function_type\", METAFN_IS_FUNCTION_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 665 \"metafns.gperf\"\n+#line 663 \"metafns.gperf\"\n       {\"remove_cv\", METAFN_REMOVE_CV, METAFN_KIND_INFO_TINFO,},\n-#line 616 \"metafns.gperf\"\n+#line 614 \"metafns.gperf\"\n       {\"is_scoped_enum_type\", METAFN_IS_SCOPED_ENUM_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 538 \"metafns.gperf\"\n+#line 537 \"metafns.gperf\"\n       {\"is_structured_binding\", METAFN_IS_STRUCTURED_BINDING, METAFN_KIND_BOOL_INFO,},\n-#line 562 \"metafns.gperf\"\n+#line 561 \"metafns.gperf\"\n       {\"subobjects_of\", METAFN_SUBOBJECTS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},\n-#line 564 \"metafns.gperf\"\n+#line 563 \"metafns.gperf\"\n       {\"offset_of\", METAFN_OFFSET_OF, METAFN_KIND_MEMBER_OFFSET_INFO,},\n-#line 669 \"metafns.gperf\"\n+#line 667 \"metafns.gperf\"\n       {\"remove_reference\", METAFN_REMOVE_REFERENCE, METAFN_KIND_INFO_TINFO,},\n-#line 467 \"metafns.gperf\"\n+#line 466 \"metafns.gperf\"\n       {\"display_string_of\", METAFN_DISPLAY_STRING_OF, METAFN_KIND_STRING_VIEW_INFO,},\n-#line 523 \"metafns.gperf\"\n+#line 522 \"metafns.gperf\"\n       {\"is_explicit_object_parameter\", METAFN_IS_EXPLICIT_OBJECT_PARAMETER, METAFN_KIND_BOOL_INFO,},\n-#line 577 \"metafns.gperf\"\n+#line 576 \"metafns.gperf\"\n       {\"is_data_member_spec\", METAFN_IS_DATA_MEMBER_SPEC, METAFN_KIND_BOOL_INFO,},\n-#line 674 \"metafns.gperf\"\n+#line 672 \"metafns.gperf\"\n       {\"remove_extent\", METAFN_REMOVE_EXTENT, METAFN_KIND_INFO_TINFO,},\n-#line 488 \"metafns.gperf\"\n+#line 487 \"metafns.gperf\"\n       {\"is_annotation\", METAFN_IS_ANNOTATION, METAFN_KIND_BOOL_INFO,},\n-#line 493 \"metafns.gperf\"\n+#line 492 \"metafns.gperf\"\n       {\"is_rvalue_reference_qualified\", METAFN_IS_RVALUE_REFERENCE_QUALIFIED, METAFN_KIND_BOOL_INFO,},\n-#line 480 \"metafns.gperf\"\n+#line 479 \"metafns.gperf\"\n       {\"is_deleted\", METAFN_IS_DELETED, METAFN_KIND_BOOL_INFO,},\n-#line 468 \"metafns.gperf\"\n+#line 467 \"metafns.gperf\"\n       {\"u8display_string_of\", METAFN_U8DISPLAY_STRING_OF, METAFN_KIND_U8STRING_VIEW_INFO,},\n-#line 481 \"metafns.gperf\"\n+#line 480 \"metafns.gperf\"\n       {\"is_defaulted\", METAFN_IS_DEFAULTED, METAFN_KIND_BOOL_INFO,},\n-#line 587 \"metafns.gperf\"\n+#line 586 \"metafns.gperf\"\n       {\"is_member_object_pointer_type\", METAFN_IS_MEMBER_OBJECT_POINTER_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 582 \"metafns.gperf\"\n+#line 581 \"metafns.gperf\"\n       {\"is_floating_point_type\", METAFN_IS_FLOATING_POINT_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 492 \"metafns.gperf\"\n+#line 491 \"metafns.gperf\"\n       {\"is_lvalue_reference_qualified\", METAFN_IS_LVALUE_REFERENCE_QUALIFIED, METAFN_KIND_BOOL_INFO,},\n-#line 500 \"metafns.gperf\"\n+#line 499 \"metafns.gperf\"\n       {\"has_c_language_linkage\", METAFN_HAS_C_LANGUAGE_LINKAGE, METAFN_KIND_BOOL_INFO,},\n-#line 678 \"metafns.gperf\"\n+#line 676 \"metafns.gperf\"\n       {\"remove_cvref\", METAFN_REMOVE_CVREF, METAFN_KIND_INFO_TINFO,},\n-#line 471 \"metafns.gperf\"\n+#line 470 \"metafns.gperf\"\n       {\"object_of\", METAFN_OBJECT_OF, METAFN_KIND_INFO_INFO,},\n-#line 610 \"metafns.gperf\"\n-      {\"is_consteval_only_type\", METAFN_IS_CONSTEVAL_ONLY_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 676 \"metafns.gperf\"\n+#line 674 \"metafns.gperf\"\n       {\"remove_pointer\", METAFN_REMOVE_POINTER, METAFN_KIND_INFO_TINFO,},\n-#line 553 \"metafns.gperf\"\n+#line 552 \"metafns.gperf\"\n       {\"return_type_of\", METAFN_RETURN_TYPE_OF, METAFN_KIND_INFO_INFO,},\n-#line 472 \"metafns.gperf\"\n+#line 471 \"metafns.gperf\"\n       {\"constant_of\", METAFN_CONSTANT_OF, METAFN_KIND_INFO_INFO,},\n-#line 649 \"metafns.gperf\"\n+#line 647 \"metafns.gperf\"\n       {\"reference_converts_from_temporary\", METAFN_REFERENCE_CONVERTS_FROM_TEMPORARY, METAFN_KIND_BOOL_TINFO_TINFO,},\n-#line 663 \"metafns.gperf\"\n+#line 661 \"metafns.gperf\"\n       {\"remove_const\", METAFN_REMOVE_CONST, METAFN_KIND_INFO_TINFO,},\n-#line 591 \"metafns.gperf\"\n+#line 590 \"metafns.gperf\"\n       {\"is_class_type\", METAFN_IS_CLASS_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 576 \"metafns.gperf\"\n+#line 575 \"metafns.gperf\"\n       {\"data_member_spec\", METAFN_DATA_MEMBER_SPEC, METAFN_KIND_INFO_TINFO_DATA_MEMBER_OPTIONS,},\n-#line 675 \"metafns.gperf\"\n+#line 673 \"metafns.gperf\"\n       {\"remove_all_extents\", METAFN_REMOVE_ALL_EXTENTS, METAFN_KIND_INFO_TINFO,},\n-#line 542 \"metafns.gperf\"\n+#line 541 \"metafns.gperf\"\n       {\"is_static_member\", METAFN_IS_STATIC_MEMBER, METAFN_KIND_BOOL_INFO,},\n-#line 495 \"metafns.gperf\"\n+#line 494 \"metafns.gperf\"\n       {\"has_thread_storage_duration\", METAFN_HAS_THREAD_STORAGE_DURATION, METAFN_KIND_BOOL_INFO,},\n-#line 476 \"metafns.gperf\"\n+#line 475 \"metafns.gperf\"\n       {\"is_virtual\", METAFN_IS_VIRTUAL, METAFN_KIND_BOOL_INFO,},\n-#line 548 \"metafns.gperf\"\n+#line 547 \"metafns.gperf\"\n       {\"has_template_arguments\", METAFN_HAS_TEMPLATE_ARGUMENTS, METAFN_KIND_BOOL_INFO,},\n-#line 647 \"metafns.gperf\"\n+#line 645 \"metafns.gperf\"\n       {\"has_unique_object_representations\", METAFN_HAS_UNIQUE_OBJECT_REPRESENTATIONS, METAFN_KIND_BOOL_TINFO,},\n-#line 654 \"metafns.gperf\"\n+#line 652 \"metafns.gperf\"\n       {\"is_virtual_base_of_type\", METAFN_IS_VIRTUAL_BASE_OF_TYPE, METAFN_KIND_BOOL_TINFO_TINFO,},\n-#line 648 \"metafns.gperf\"\n+#line 646 \"metafns.gperf\"\n       {\"reference_constructs_from_temporary\", METAFN_REFERENCE_CONSTRUCTS_FROM_TEMPORARY, METAFN_KIND_BOOL_TINFO_TINFO,},\n-#line 533 \"metafns.gperf\"\n+#line 532 \"metafns.gperf\"\n       {\"is_literal_operator_template\", METAFN_IS_LITERAL_OPERATOR_TEMPLATE, METAFN_KIND_BOOL_INFO,},\n-#line 672 \"metafns.gperf\"\n+#line 670 \"metafns.gperf\"\n       {\"make_signed\", METAFN_MAKE_SIGNED, METAFN_KIND_INFO_TINFO,},\n-#line 583 \"metafns.gperf\"\n+#line 582 \"metafns.gperf\"\n       {\"is_array_type\", METAFN_IS_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 612 \"metafns.gperf\"\n+#line 610 \"metafns.gperf\"\n       {\"is_signed_type\", METAFN_IS_SIGNED_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 599 \"metafns.gperf\"\n+#line 598 \"metafns.gperf\"\n       {\"is_compound_type\", METAFN_IS_COMPOUND_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 479 \"metafns.gperf\"\n+#line 478 \"metafns.gperf\"\n       {\"is_final\", METAFN_IS_FINAL, METAFN_KIND_BOOL_INFO,},\n-#line 512 \"metafns.gperf\"\n+#line 511 \"metafns.gperf\"\n       {\"is_literal_operator\", METAFN_IS_LITERAL_OPERATOR, METAFN_KIND_BOOL_INFO,},\n-#line 607 \"metafns.gperf\"\n+#line 606 \"metafns.gperf\"\n       {\"is_abstract_type\", METAFN_IS_ABSTRACT_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 483 \"metafns.gperf\"\n+#line 482 \"metafns.gperf\"\n       {\"is_user_declared\", METAFN_IS_USER_DECLARED, METAFN_KIND_BOOL_INFO,},\n-#line 464 \"metafns.gperf\"\n+#line 463 \"metafns.gperf\"\n       {\"has_identifier\", METAFN_HAS_IDENTIFIER, METAFN_KIND_BOOL_INFO,},\n-#line 556 \"metafns.gperf\"\n+#line 555 \"metafns.gperf\"\n       {\"has_inaccessible_bases\", METAFN_HAS_INACCESSIBLE_BASES, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,},\n-#line 557 \"metafns.gperf\"\n+#line 556 \"metafns.gperf\"\n       {\"has_inaccessible_subobjects\", METAFN_HAS_INACCESSIBLE_SUBOBJECTS, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,},\n-#line 683 \"metafns.gperf\"\n+#line 681 \"metafns.gperf\"\n       {\"invoke_result\", METAFN_INVOKE_RESULT, METAFN_KIND_INFO_TINFO_REFLECTION_RANGET,},\n-#line 511 \"metafns.gperf\"\n+#line 510 \"metafns.gperf\"\n       {\"is_operator_function\", METAFN_IS_OPERATOR_FUNCTION, METAFN_KIND_BOOL_INFO,},\n-#line 555 \"metafns.gperf\"\n+#line 554 \"metafns.gperf\"\n       {\"has_inaccessible_nonstatic_data_members\", METAFN_HAS_INACCESSIBLE_NONSTATIC_DATA_MEMBERS, METAFN_KIND_BOOL_INFO_ACCESS_CONTEXT,},\n-#line 694 \"metafns.gperf\"\n+#line 692 \"metafns.gperf\"\n       {\"_S_exception_cvt_to_utf8\", METAFN_EXCEPTION__S_EXCEPTION_CVT_TO_UTF8, METAFN_KIND_U8STRING_VIEW_INPUT_RANGE,},\n-#line 695 \"metafns.gperf\"\n+#line 693 \"metafns.gperf\"\n       {\"_S_exception_cvt_from_utf8\", METAFN_EXCEPTION__S_EXCEPTION_CVT_FROM_UTF8, METAFN_KIND_STRING_VIEW_INPUT_RANGE,},\n-#line 532 \"metafns.gperf\"\n+#line 531 \"metafns.gperf\"\n       {\"is_operator_function_template\", METAFN_IS_OPERATOR_FUNCTION_TEMPLATE, METAFN_KIND_BOOL_INFO,},\n-#line 664 \"metafns.gperf\"\n+#line 662 \"metafns.gperf\"\n       {\"remove_volatile\", METAFN_REMOVE_VOLATILE, METAFN_KIND_INFO_TINFO,},\n-#line 575 \"metafns.gperf\"\n+#line 574 \"metafns.gperf\"\n       {\"reflect_constant_array\", METAFN_REFLECT_CONSTANT_ARRAY, METAFN_KIND_INFO_INPUT_RANGE,},\n-#line 578 \"metafns.gperf\"\n+#line 577 \"metafns.gperf\"\n       {\"define_aggregate\", METAFN_DEFINE_AGGREGATE, METAFN_KIND_INFO_INFO_REFLECTION_RANGE,},\n-#line 581 \"metafns.gperf\"\n+#line 580 \"metafns.gperf\"\n       {\"is_integral_type\", METAFN_IS_INTEGRAL_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 572 \"metafns.gperf\"\n+#line 571 \"metafns.gperf\"\n       {\"reflect_object\", METAFN_REFLECT_OBJECT, METAFN_KIND_INFO_TEMPLATE_PARM_REF,},\n-#line 679 \"metafns.gperf\"\n+#line 677 \"metafns.gperf\"\n       {\"decay\", METAFN_DECAY, METAFN_KIND_INFO_TINFO,},\n-#line 685 \"metafns.gperf\"\n+#line 683 \"metafns.gperf\"\n       {\"unwrap_ref_decay\", METAFN_UNWRAP_REF_DECAY, METAFN_KIND_INFO_TINFO,},\n-#line 463 \"metafns.gperf\"\n+#line 462 \"metafns.gperf\"\n       {\"u8symbol_of\", METAFN_U8SYMBOL_OF, METAFN_KIND_U8STRING_VIEW_OPERATORS,},\n-#line 497 \"metafns.gperf\"\n+#line 496 \"metafns.gperf\"\n       {\"has_internal_linkage\", METAFN_HAS_INTERNAL_LINKAGE, METAFN_KIND_BOOL_INFO,},\n-#line 615 \"metafns.gperf\"\n+#line 613 \"metafns.gperf\"\n       {\"is_unbounded_array_type\", METAFN_IS_UNBOUNDED_ARRAY_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 566 \"metafns.gperf\"\n+#line 565 \"metafns.gperf\"\n       {\"alignment_of\", METAFN_ALIGNMENT_OF, METAFN_KIND_SIZE_T_INFO,},\n-#line 604 \"metafns.gperf\"\n+#line 603 \"metafns.gperf\"\n       {\"is_standard_layout_type\", METAFN_IS_STANDARD_LAYOUT_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 486 \"metafns.gperf\"\n+#line 485 \"metafns.gperf\"\n       {\"is_bit_field\", METAFN_IS_BIT_FIELD, METAFN_KIND_BOOL_INFO,},\n-#line 547 \"metafns.gperf\"\n+#line 546 \"metafns.gperf\"\n       {\"dealias\", METAFN_DEALIAS, METAFN_KIND_INFO_INFO,},\n-#line 561 \"metafns.gperf\"\n+#line 560 \"metafns.gperf\"\n       {\"nonstatic_data_members_of\", METAFN_NONSTATIC_DATA_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},\n-#line 469 \"metafns.gperf\"\n+#line 468 \"metafns.gperf\"\n       {\"source_location_of\", METAFN_SOURCE_LOCATION_OF, METAFN_KIND_SOURCE_LOCATION_INFO,},\n-#line 560 \"metafns.gperf\"\n+#line 559 \"metafns.gperf\"\n       {\"static_data_members_of\", METAFN_STATIC_DATA_MEMBERS_OF, METAFN_KIND_VECTOR_INFO_INFO_ACCESS_CONTEXT,},\n-#line 692 \"metafns.gperf\"\n+#line 690 \"metafns.gperf\"\n       {\"annotations_of_with_type\", METAFN_ANNOTATIONS_OF_WITH_TYPE, METAFN_KIND_VECTOR_INFO_INFO_INFO,},\n-#line 466 \"metafns.gperf\"\n+#line 465 \"metafns.gperf\"\n       {\"u8identifier_of\", METAFN_U8IDENTIFIER_OF, METAFN_KIND_U8STRING_VIEW_INFO,},\n-#line 590 \"metafns.gperf\"\n+#line 589 \"metafns.gperf\"\n       {\"is_union_type\", METAFN_IS_UNION_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 608 \"metafns.gperf\"\n+#line 607 \"metafns.gperf\"\n       {\"is_final_type\", METAFN_IS_FINAL_TYPE, METAFN_KIND_BOOL_TINFO,},\n-#line 691 \"metafns.gperf\"\n+#line 689 \"metafns.gperf\"\n       {\"annotations_of\", METAFN_ANNOTATIONS_OF, METAFN_KIND_VECTOR_INFO_INFO,},\n-#line 482 \"metafns.gperf\"\n+#line 481 \"metafns.gperf\"\n       {\"is_user_provided\", METAFN_IS_USER_PROVIDED, METAFN_KIND_BOOL_INFO,},\n-#line 613 \"metafns.gperf\"\n+#line 611 \"metafns.gperf\"\n       {\"is_unsigned_type\", METAFN_IS_UNSIGNED_TYPE, METAFN_KIND_BOOL_TINFO,}\n     };\n #if (defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 6) > 4) || (defined __clang__ && __clang_major__ >= 3)\n@@ -1118,45 +1115,45 @@ metafn_lookup::find (const char *str, si\n        -1,  -1,  -1,  -1,  -1, 168,  -1,  -1,  -1, 169,\n        -1,  -1, 170,  -1, 171,  -1,  -1, 172, 173,  -1,\n       174, 175,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 176,\n-       -1,  -1, 177, 178, 179,  -1, 180,  -1,  -1, 181,\n-       -1, 182,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 183,\n-       -1, 184, 185,  -1,  -1,  -1, 186,  -1,  -1,  -1,\n-      187,  -1,  -1,  -1,  -1,  -1, 188,  -1,  -1,  -1,\n-      189,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n-       -1,  -1, 190,  -1,  -1,  -1,  -1,  -1,  -1, 191,\n-       -1, 192,  -1,  -1, 193,  -1, 194,  -1,  -1, 195,\n-      196,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n-       -1,  -1, 197,  -1, 198, 199,  -1, 200,  -1,  -1,\n-       -1, 201,  -1, 202,  -1,  -1, 203,  -1,  -1,  -1,\n-       -1, 204,  -1, 205,  -1,  -1,  -1,  -1,  -1,  -1,\n-      206,  -1,  -1, 207,  -1, 208,  -1, 209,  -1,  -1,\n-       -1,  -1,  -1,  -1, 210,  -1,  -1,  -1,  -1,  -1,\n-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 211,\n-       -1,  -1,  -1, 212,  -1,  -1,  -1,  -1,  -1,  -1,\n-       -1, 213, 214,  -1,  -1, 215,  -1,  -1,  -1,  -1,\n-       -1,  -1,  -1,  -1,  -1,  -1, 216, 217,  -1,  -1,\n-       -1,  -1,  -1,  -1,  -1,  -1,  -1, 218,  -1, 219,\n-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 220,  -1,\n-       -1,  -1,  -1,  -1,  -1,  -1,  -1, 221, 222,  -1,\n-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 223,  -1,\n+       -1,  -1,  -1, 177, 178,  -1, 179,  -1,  -1, 180,\n+       -1, 181,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 182,\n+       -1, 183, 184,  -1,  -1,  -1, 185,  -1,  -1,  -1,\n+      186,  -1,  -1,  -1,  -1,  -1, 187,  -1,  -1,  -1,\n+      188,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n+       -1,  -1, 189,  -1,  -1,  -1,  -1,  -1,  -1, 190,\n+       -1, 191,  -1,  -1, 192,  -1, 193,  -1,  -1, 194,\n+      195,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n+       -1,  -1, 196,  -1, 197, 198,  -1, 199,  -1,  -1,\n+       -1, 200,  -1, 201,  -1,  -1, 202,  -1,  -1,  -1,\n+       -1, 203,  -1, 204,  -1,  -1,  -1,  -1,  -1,  -1,\n+      205,  -1,  -1, 206,  -1, 207,  -1, 208,  -1,  -1,\n+       -1,  -1,  -1,  -1, 209,  -1,  -1,  -1,  -1,  -1,\n+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 210,\n+       -1,  -1,  -1, 211,  -1,  -1,  -1,  -1,  -1,  -1,\n+       -1, 212, 213,  -1,  -1, 214,  -1,  -1,  -1,  -1,\n+       -1,  -1,  -1,  -1,  -1,  -1, 215, 216,  -1,  -1,\n+       -1,  -1,  -1,  -1,  -1,  -1,  -1, 217,  -1, 218,\n+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 219,  -1,\n+       -1,  -1,  -1,  -1,  -1,  -1,  -1, 220, 221,  -1,\n+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 222,  -1,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 224,  -1,\n-      225,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 226,  -1,\n+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 223,  -1,\n+      224,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 225,  -1,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n-       -1,  -1,  -1, 227,  -1,  -1,  -1,  -1,  -1,  -1,\n+       -1,  -1,  -1, 226,  -1,  -1,  -1,  -1,  -1,  -1,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n-       -1,  -1,  -1,  -1, 228,  -1,  -1,  -1,  -1,  -1,\n-       -1,  -1,  -1,  -1,  -1, 229,  -1,  -1,  -1,  -1,\n-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 230,\n+       -1,  -1,  -1,  -1, 227,  -1,  -1,  -1,  -1,  -1,\n+       -1,  -1,  -1,  -1,  -1, 228,  -1,  -1,  -1,  -1,\n+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 229,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n-      231,  -1,  -1,  -1, 232,  -1,  -1,  -1,  -1,  -1,\n+      230,  -1,  -1,  -1, 231,  -1,  -1,  -1,  -1,  -1,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n-       -1, 233,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n+       -1, 232,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n@@ -1164,7 +1161,7 @@ metafn_lookup::find (const char *str, si\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,\n-       -1,  -1,  -1,  -1,  -1,  -1,  -1, 234\n+       -1,  -1,  -1,  -1,  -1,  -1,  -1, 233\n     };\n \n   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)\n--- gcc/cp/reflect.cc.jj\t2026-03-29 19:50:27.020664116 +0200\n+++ gcc/cp/reflect.cc\t2026-03-29 19:53:03.700440180 +0200\n@@ -4320,17 +4320,6 @@ eval_is_aggregate_type (tree type)\n     return boolean_false_node;\n }\n \n-/* Process std::meta::is_consteval_only_type.  */\n-\n-static tree\n-eval_is_consteval_only_type (tree type)\n-{\n-  if (consteval_only_p (type))\n-    return boolean_true_node;\n-  else\n-    return boolean_false_node;\n-}\n-\n /* Process std::meta::is_structural_type.  */\n \n static tree\n@@ -7826,8 +7815,6 @@ process_metafunction (const constexpr_ct\n       return eval_is_final_type (loc, h);\n     case METAFN_IS_AGGREGATE_TYPE:\n       return eval_is_aggregate_type (h);\n-    case METAFN_IS_CONSTEVAL_ONLY_TYPE:\n-      return eval_is_consteval_only_type (h);\n     case METAFN_IS_STRUCTURAL_TYPE:\n       return eval_is_structural_type (loc, h);\n     case METAFN_IS_SIGNED_TYPE:\n--- gcc/testsuite/g++.dg/reflect/is_consteval_only1.C.jj\t2026-01-15 22:16:55.087661597 +0100\n+++ gcc/testsuite/g++.dg/reflect/is_consteval_only1.C\t2026-03-29 19:54:18.812183232 +0200\n@@ -1,83 +0,0 @@\n-// { dg-do compile { target c++26 } }\n-// { dg-additional-options \"-freflection\" }\n-// Test std::meta::is_consteval_only.\n-\n-#include <meta>\n-using namespace std::meta;\n-\n-struct A {\n-  info i;\n-};\n-struct B : A { };\n-struct C : virtual A { };\n-struct D : B { };\n-struct E { };\n-struct F : E {\n-  info i;\n-};\n-template<typename T>\n-struct G {\n-  T t;\n-  using size_type = int;\n-};\n-struct H {\n-  G<info>::size_type sz;\n-};\n-struct I {\n-  std::initializer_list<std::meta::info>::size_type sz;\n-};\n-template<typename T>\n-struct J : T { };\n-\n-template<typename T>\n-using U = J<T>;\n-\n-template<typename T>\n-struct K {\n-  J<T> j;\n-};\n-\n-template<typename T>\n-struct L {\n-  U<T> u;\n-};\n-\n-template<typename T>\n-struct M : J<T> { };\n-\n-template<typename>\n-struct N { };\n-\n-static_assert (is_consteval_only_type (^^A));\n-static_assert (is_consteval_only_type (^^B));\n-static_assert (is_consteval_only_type (^^C));\n-static_assert (is_consteval_only_type (^^D));\n-static_assert (!is_consteval_only_type (^^E));\n-static_assert (is_consteval_only_type (^^F));\n-static_assert (!is_consteval_only_type (^^G<int>));\n-static_assert (is_consteval_only_type (^^G<info>));\n-static_assert (!is_consteval_only_type (^^H));\n-static_assert (!is_consteval_only_type (^^I));\n-static_assert (!is_consteval_only_type (^^J<E>));\n-static_assert (is_consteval_only_type (^^J<A>));\n-static_assert (!is_consteval_only_type (^^U<E>));\n-static_assert (is_consteval_only_type (^^U<A>));\n-static_assert (!is_consteval_only_type (^^K<E>));\n-static_assert (is_consteval_only_type (^^K<A>));\n-static_assert (!is_consteval_only_type (^^L<E>));\n-static_assert (is_consteval_only_type (^^L<A>));\n-static_assert (!is_consteval_only_type (^^M<E>));\n-static_assert (is_consteval_only_type (^^M<A>));\n-static_assert (!is_consteval_only_type (^^N<E>));\n-static_assert (!is_consteval_only_type (^^N<A>));\n-\n-static_assert (is_consteval_only_type (^^std::meta::exception));\n-static_assert (is_consteval_only_type (^^std::meta::access_context));\n-static_assert (!is_consteval_only_type (^^std::meta::member_offset));\n-static_assert (is_consteval_only_type (^^std::meta::data_member_options));\n-static_assert (is_consteval_only_type (type_of (^^std::meta::data_member_options::name)));\n-\n-struct O;\n-static_assert (!is_consteval_only_type (^^O));\n-struct O { info i; };\n-static_assert (is_consteval_only_type (^^O));\n--- gcc/testsuite/g++.dg/reflect/eh1.C.jj\t2026-03-29 19:50:27.021207558 +0200\n+++ gcc/testsuite/g++.dg/reflect/eh1.C\t2026-03-29 19:53:51.667637480 +0200\n@@ -146,9 +146,6 @@ eval (int n)\n     case 46:\n       is_aggregate_type (^^n);\n       break;\n-    case 47:\n-      is_consteval_only_type (^^n);\n-      break;\n     case 48:\n       is_signed_type (^^n);\n       break;\n@@ -319,7 +316,6 @@ static_assert (test (43));\n static_assert (test (44));\n static_assert (test (45));\n static_assert (test (46));\n-static_assert (test (47));\n static_assert (test (48));\n static_assert (test (49));\n static_assert (test (50));\n--- gcc/testsuite/g++.dg/reflect/eh2.C.jj\t2026-03-29 19:50:27.021307802 +0200\n+++ gcc/testsuite/g++.dg/reflect/eh2.C\t2026-03-29 19:54:04.528422264 +0200\n@@ -52,7 +52,6 @@ static_assert ((is_polymorphic_type (^^i\n static_assert ((is_abstract_type (^^i), true)); // { dg-error \"non-constant|uncaught exception\" }\n static_assert ((is_final_type (^^i), true)); // { dg-error \"non-constant|uncaught exception\" }\n static_assert ((is_aggregate_type (^^i), true)); // { dg-error \"non-constant|uncaught exception\" }\n-static_assert ((is_consteval_only_type (^^i), true)); // { dg-error \"non-constant|uncaught exception\" }\n static_assert ((is_signed_type (^^i), true)); // { dg-error \"non-constant|uncaught exception\" }\n static_assert ((is_unsigned_type (^^i), true)); // { dg-error \"non-constant|uncaught exception\" }\n static_assert ((is_bounded_array_type (^^i), true)); // { dg-error \"non-constant|uncaught exception\" }\n--- gcc/testsuite/g++.dg/reflect/type_trait5.C.jj\t2026-01-15 22:16:55.093661496 +0100\n+++ gcc/testsuite/g++.dg/reflect/type_trait5.C\t2026-03-29 19:55:35.655897300 +0200\n@@ -207,13 +207,6 @@ namespace N\n   void foo ();\n }\n \n-int v = 1;\n-struct S1 { decltype (^^long) a; };\n-union U2 { int a; decltype (^^N::foo) b; };\n-struct S3 { const decltype (^^N) *c; };\n-struct S4 : public S3 {};\n-struct S5 { int a; long *b; };\n-\n static_assert (is_const_type (^^const int));\n static_assert (is_const_type (^^const volatile int));\n static_assert (is_const_type (^^cClassType));\n@@ -339,17 +332,6 @@ static_assert (!is_aggregate_type (^^Enu\n static_assert (!is_aggregate_type (^^void));\n static_assert (!is_aggregate_type (^^NoexceptMoveAssignClass));\n \n-static_assert (is_consteval_only_type (^^decltype (^^long)));\n-static_assert (is_consteval_only_type (^^const decltype (^^N::foo)));\n-static_assert (is_consteval_only_type (^^volatile decltype (^^N)));\n-static_assert (is_consteval_only_type (^^const volatile decltype (^^v)));\n-static_assert (is_consteval_only_type (^^const S1));\n-static_assert (is_consteval_only_type (^^U2));\n-static_assert (is_consteval_only_type (^^S3));\n-static_assert (is_consteval_only_type (^^S4));\n-static_assert (!is_consteval_only_type (^^int));\n-static_assert (!is_consteval_only_type (^^S5));\n-\n static_assert (!is_signed_type (^^void));\n static_assert (char (-1) < char (0) ? is_signed_type (^^char) : !is_signed_type (^^char));\n static_assert (is_signed_type (^^signed char));\n--- libstdc++-v3/include/std/type_traits.jj\t2026-03-29 19:50:27.021971047 +0200\n+++ libstdc++-v3/include/std/type_traits\t2026-03-29 19:58:18.652169670 +0200\n@@ -3907,24 +3907,6 @@ template<typename _Ret, typename _Fn, ty\n # endif\n #endif\n \n-#if __cpp_impl_reflection >= 202506L \\\n-    && _GLIBCXX_USE_BUILTIN_TRAIT(__builtin_is_consteval_only) // C++ >= 26\n-  /// is_consteval_only - true if the type is consteval-only.\n-  /// @since C++26\n-  template<typename _Tp>\n-    struct is_consteval_only\n-    : bool_constant<__builtin_is_consteval_only(_Tp)>\n-    { };\n-\n-  /** is_consteval_only_v - true if the type is consteval-only.\n-   *  @ingroup variable_templates\n-   *  @since C++26\n-   */\n-  template<typename _Tp>\n-    inline constexpr bool is_consteval_only_v\n-      = __builtin_is_consteval_only(_Tp);\n-#endif\n-\n #if __cpp_lib_is_structural >= 202603L // C++ >= 26\n   /// is_structural - true if the type is a structural type.\n   /// @since C++26\n--- libstdc++-v3/include/std/meta.jj\t2026-03-29 19:50:27.022240238 +0200\n+++ libstdc++-v3/include/std/meta\t2026-03-29 19:57:54.694570582 +0200\n@@ -464,7 +464,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n     consteval bool is_abstract_type(info);\n     consteval bool is_final_type(info);\n     consteval bool is_aggregate_type(info);\n-    consteval bool is_consteval_only_type(info);\n #if __glibcxx_is_structural >= 202603L\n     consteval bool is_structural_type(info);\n #endif\n--- libstdc++-v3/src/c++23/std.cc.in.jj\t2026-03-29 19:50:27.022436063 +0200\n+++ libstdc++-v3/src/c++23/std.cc.in\t2026-03-29 19:58:52.381605228 +0200\n@@ -2250,7 +2250,6 @@ export namespace std\n     using std::meta::is_abstract_type;\n     using std::meta::is_final_type;\n     using std::meta::is_aggregate_type;\n-    using std::meta::is_consteval_only_type;\n #if __glibcxx_is_structural >= 202603L\n     using std::meta::is_structural_type;\n #endif\n@@ -3572,10 +3571,6 @@ export namespace std\n #if __cpp_impl_reflection >= 202506L\n   using std::is_reflection;\n   using std::is_reflection_v;\n-#if _GLIBCXX_USE_BUILTIN_TRAIT(__builtin_is_consteval_only)\n-  using std::is_consteval_only;\n-  using std::is_consteval_only_v;\n-#endif\n #endif\n #if __glibcxx_is_structural >= 202603L\n   using std::is_structural;\n--- libstdc++-v3/testsuite/20_util/is_consteval_only/requirements/explicit_instantiation.cc.jj\t2026-01-15 22:16:55.114661142 +0100\n+++ libstdc++-v3/testsuite/20_util/is_consteval_only/requirements/explicit_instantiation.cc\t2026-03-29 19:59:34.337903117 +0200\n@@ -1,12 +0,0 @@\n-// { dg-do compile { target c++26 } }\n-// { dg-additional-options \"-freflection\" }\n-\n-// NB: This file is for testing type_traits with NO OTHER INCLUDES.\n-\n-#include <type_traits>\n-\n-namespace std\n-{\n-  typedef short test_type;\n-  template struct is_consteval_only<test_type>;\n-}\n--- libstdc++-v3/testsuite/20_util/is_consteval_only/requirements/typedefs.cc.jj\t2026-01-15 22:16:55.114661142 +0100\n+++ libstdc++-v3/testsuite/20_util/is_consteval_only/requirements/typedefs.cc\t2026-03-29 19:59:32.657931230 +0200\n@@ -1,16 +0,0 @@\n-// { dg-do compile { target c++26 } }\n-// { dg-additional-options \"-freflection\" }\n-\n-// NB: This file is for testing type_traits with NO OTHER INCLUDES.\n-\n-#include <type_traits>\n-\n-void test01()\n-{\n-  // Check for required typedefs\n-  typedef std::is_consteval_only<decltype (^^int)> test_type;\n-  typedef test_type::value_type               value_type;\n-  typedef test_type::type                     type;\n-  typedef test_type::type::value_type         type_value_type;\n-  typedef test_type::type::type               type_type;\n-}\n--- libstdc++-v3/testsuite/20_util/is_consteval_only/value.cc.jj\t2026-01-15 22:16:55.114661142 +0100\n+++ libstdc++-v3/testsuite/20_util/is_consteval_only/value.cc\t2026-03-29 19:59:27.021025559 +0200\n@@ -1,30 +0,0 @@\n-// { dg-do compile { target c++26 } }\n-// { dg-additional-options \"-freflection\" }\n-\n-#include <type_traits>\n-#include <testsuite_tr1.h>\n-\n-void test01()\n-{\n-  using std::is_consteval_only;\n-  using namespace __gnu_test;\n-  int v = 1;\n-  struct S1 { decltype(^^long) a; };\n-  union U2 { int a; decltype(^^test01) b; };\n-  struct S3 { const decltype(^^__gnu_test) *c; };\n-  struct S4 : public S3 {};\n-  struct S5 { int a; long *b; };\n-\n-  static_assert(test_category<is_consteval_only, decltype(^^long)>(true), \"\");\n-  static_assert(test_category<is_consteval_only, const decltype(^^test01)>(true), \"\");\n-  static_assert(test_category<is_consteval_only, volatile decltype(^^__gnu_test)>(true), \"\");\n-  static_assert(test_category<is_consteval_only, const volatile decltype(^^v)>(true), \"\");\n-  static_assert(test_category<is_consteval_only, const S1>(true), \"\");\n-  static_assert(test_category<is_consteval_only, U2>(true), \"\");\n-  static_assert(test_category<is_consteval_only, S3>(true), \"\");\n-  static_assert(test_category<is_consteval_only, S4>(true), \"\");\n-\n-  // Sanity check.\n-  static_assert(test_category<is_consteval_only, int>(false), \"\");\n-  static_assert(test_category<is_consteval_only, S5>(false), \"\");\n-}\n--- libstdc++-v3/testsuite/20_util/variable_templates_for_traits.cc.jj\t2026-03-29 19:50:27.022894595 +0200\n+++ libstdc++-v3/testsuite/20_util/variable_templates_for_traits.cc\t2026-03-29 19:59:54.133571835 +0200\n@@ -335,9 +335,6 @@ static_assert(!is_convertible_v<const in\n static_assert(is_reflection_v<decltype(^^int)>\n \t      && is_reflection<decltype(^^int)>::value, \"\");\n static_assert(!is_reflection_v<int> && !is_reflection<int>::value, \"\");\n-static_assert(is_consteval_only_v<decltype(^^int)>\n-\t      && is_consteval_only<decltype(^^int)>::value, \"\");\n-static_assert(!is_consteval_only_v<int> && !is_consteval_only<int>::value, \"\");\n #endif\n \n #if __cpp_lib_is_structural >= 202603L\n",
    "prefixes": []
}