Title
Incomplete consteval-only class types
Status
open
Section
6.9.1 [basic.types.general]
Submitter
Jakub Jelinek

Created on 2026-01-19.00:00:00 last changed 3 days ago

Messages

Date: 2026-01-19.00:00:00

(From submission #836.)

A class type is consteval-only depending on its member types. However, a class type may be incomplete, and thus the question cannot be answered where needed.

For example,

  struct S;
  void f(S*);   // #1
  struct S {    // #2
    std::meta::info x;
  };

Does the class definition at #2 make the function declaration #1 retroactively ill-formed? What if #1 and #2 are not mutually reachable?

History
Date User Action Args
2026-01-19 00:00:00admincreate