Title
Incorrect query for C language linkage
Status
wp
Section
[meta.reflection.queries]
Submitter
Tomasz Kamiński

Created on 2025-10-27.00:00:00 last changed 1 month ago

Messages

Date: 2025-11-11.10:48:55

Proposed resolution:

This wording is relative to N5014.

  1. Modify [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: `true` if `r` represents a variable, function, type, template, or namespace whose name has internal linkage, module linkage, C languageexternal linkage, or any linkage, respectively ([basic.link]). Otherwise, `false`.

    consteval bool has_c_language_linkage(info r);
    

    -??- Returns: `true` if `r` represents a variable, function, or function type with C language linkage. Otherwise, `false`.

Date: 2025-11-11.10:48:55

[ Kona 2025-11-08; Status changed: Immediate → WP. ]

Date: 2025-11-04.23:24:37

[ Kona 2025-11-04; approved by LWG. Status changed: New → Immediate. ]

Date: 2025-10-27.13:05:50

[ The wording below contains a drive-by fix for a misapplication of P2996R13 ]

Date: 2025-10-27.00:00:00
Addresses US 97-203

[meta.reflection.queries] Language linkage is a property of functions, variables, and function types ([basic.link]), not of names.

History
Date User Action Args
2025-11-11 10:48:55adminsetmessages: + msg15688
2025-11-11 10:48:55adminsetstatus: immediate -> wp
2025-11-04 23:24:37adminsetmessages: + msg15505
2025-11-04 23:24:37adminsetstatus: new -> immediate
2025-10-27 13:05:50adminsetmessages: + msg15465
2025-10-27 10:12:39adminsetmessages: + msg15464
2025-10-27 00:00:00admincreate