This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of Immediate status.
expr and fn for meta::reflect_object and meta::reflect_functionSection: 21.4.14 [meta.reflection.result] Status: Immediate Submitter: Tomasz KamiĆski Opened: 2025-11-04 Last modified: 2025-11-04
Priority: Not Prioritized
View all issues with Immediate status.
Discussion:
Addresses US 118-179This should talk about the object/function designated by expr/fn, rather than expr/fn.
[Kona 2025-11-04; approved by LWG. Status changed: New → Immediate.]
Proposed resolution:
This wording is relative to N5014.
Modify 21.4.14 [meta.reflection.result] as indicated:
template<class T> consteval info reflect_object(T& expr);
-7- Mandates:
Tis an object type.-8- Returns: A reflection of the object designated by
expr.-9- Throws:
meta::exceptionunlessifexprisEis not suitable for use as a constant template argument for a constant template parameter of typeT&(13.4.3 [temp.arg.nontype]) , whereEis an lvalue constant expression that computes the object thatexprrefers to.
template<class T> consteval info reflect_function(T& fn);
-10- Mandates:
Tis an function type.-11- Returns: A reflection of the function designated by
fn.-12- Throws:
meta::exceptionunlessiffnisFis not suitable for use as a constant template argument for a constant template parameter of typeT&(13.4.3 [temp.arg.nontype]) , whereFis an lvalue constant expression that computes the function thatfnrefers to.