Skip to content

CWG3202 [basic.fundamental] const std::meta::info is not a reflection #924

Description

@eisenwave

Section: [basic.fundamental]

Issue description

Consider the following example:

constexpr std::meta::info x{};

By definition in [basic.fundamental] p17, a value of type std::meta::info (but not of type const std::meta::info) is a reflection. Since a value of type const std::meta::type is not a reflection, it is unclear how x is meant to represent a null reflection. What is the value of x?

Proposed resolution

Change [basic.fundamental] paragraph 17 as follows:

 A value of type
+cv
 std​::​meta​::​info is called a reflection.
 There exists a unique null reflection;
 every other reflection is a representation of
 - ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions