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.

4581. constant_of(^^v) for variable v of reference to array/function type produces reflection of pointer constant

Section: 21.4.7 [meta.reflection.queries] Status: New Submitter: S. B. Tam Opened: 2026-05-18 Last modified: 2026-05-24

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:

After CWG 3111, constant_of uses reflect_constant_array and reflect_function for arrays and functions respectively. But since it inspects type_of(r) and not remove_reference(type_of(r)), variables of reference types will still decay to pointers. It's unclear to me whether this is intended.

Proposed resolution: