Title
Types "compounded" from other types
Status
ready
Section
6.9.1 [basic.types.general]
Submitter
Jonathan Wakely

Created on 2025-10-28.00:00:00 last changed 1 month ago

Messages

Date: 2025-11-07.18:49:29

Proposed resolution (approved by CWG 2025-11-07):

Change in 6.9.1 [basic.types.general] paragraph 12 and insert a paragraph as follows:

A type is consteval-only if it is either std::meta::info or a type compounded from a consteval-only type (6.9.4 [basic.compound]).

  • std::meta::info,
  • cv T, where T is a consteval-only type,
  • a pointer or reference to a consteval-only type,
  • an array of consteval-only type,
  • a function type having a return type or any parameter type that is consteval-only,
  • a class type with any non-static data member having consteval-only type, or
  • a type "pointer to member of class C of type T", where at least one of C or T is a consteval-only type.

Every object of consteval-only type shall be ...

Date: 2025-11-05.12:07:23

The use of "compounded from" in 6.9.1 [basic.types.general] paragraph 12 is unclear, because the reference to 6.9.4 [basic.compound] appears to include static data member of classes, which seems unintended.

History
Date User Action Args
2025-11-07 18:50:48adminsetstatus: tentatively ready -> ready
2025-11-05 12:07:23adminsetmessages: + msg8214
2025-11-05 12:07:23adminsetstatus: open -> tentatively ready
2025-10-28 00:00:00admincreate