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.

4427. meta::dealias needs to work with things that aren't entities

Section: 21.4.7 [meta.reflection.queries] Status: New Submitter: Jonathan Wakely Opened: 2025-10-24 Last modified: 2025-10-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:

Addresses US 99-205

Several uses of dealias assume that it can be used with reflections that represent direct base class relationships, which are not entities. The spec for dealias says that such uses should fail with an exception.

In the 2025-10-24 LWG telecon it was agreed that dealias should just be the identity function for non-entities.

Proposed resolution:

This wording is relative to N5014.

  1. Modify 21.4.7 [meta.reflection.queries] as indicated:

    consteval info dealias(info r);

    -49- Returns: If r represents an entity, then a A reflection representing the underlying entity of what r represents. Otherwise, r.

    [Example 5:
    ...
    — end example]

    -50- Throws: meta::exception unless r represents an entity.