This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.
Section: 21.4.7 [meta.reflection.queries] Status: New Submitter: Tomasz KamiĆski Opened: 2025-10-27 Last modified: 2025-10-27
Priority: Not Prioritized
View other active issues in [meta.reflection.queries].
View all other issues in [meta.reflection.queries].
View all issues with New status.
Discussion:
Addresses US 97-20321.4.7 [meta.reflection.queries] Language linkage is a property of functions, variables, and function types (6.7 [basic.link]), not of names.
[ The wording below contains a drive-by fix for a misapplication of P2996R13 ]
Proposed resolution:
This wording is relative to N5014.
Modify 21.4.7 [meta.reflection.queries] as indicated:
consteval bool has_internal_linkage(info r); consteval bool has_module_linkage(info r); consteval bool has_external_linkage(info r);consteval bool has_c_language_linkage(info r);consteval bool has_linkage(info r);
-25- Returns:
trueifrrepresents a variable, function, type, template, or namespace whose name has internal linkage, module linkage,C languageexternal linkage, or any linkage, respectively (6.7 [basic.link]). Otherwise,false.
consteval bool has_c_language_linkage(info r);
-??- Returns:
trueifrrepresents a variable, function, or function type with C language linkage. Otherwise,false.