Title
`meta::dealias` needs to work with things that aren't entities
Status
new
Section
[meta.reflection.queries]
Submitter
Jonathan Wakely

Created on 2025-10-24.00:00:00 last changed 6 days ago

Messages

Date: 2025-10-24.17:29:37

Proposed resolution:

This wording is relative to N5014.

  1. Modify [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.

Date: 2025-10-24.00:00:00
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.

History
Date User Action Args
2025-10-24 17:29:37adminsetmessages: + msg15417
2025-10-24 00:00:00admincreate