This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 119a. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2025-12-20


3122. Inadequate value-dependence for reflect-expressions

Section: 13.8.3.4  [temp.dep.constexpr]     Status: tentatively ready     Submitter: Dan Katz     Date: 2025-11-15

(From submission #808.)

The follow example ought to be value-dependent, but is currently not specified to be so:

  template <typename T>
  consteval void f() {
    T v;
    std::meta::info R = std::meta::type_of(^^v);   // not currently value-dependent
  }

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

Change in 13.8.3.4 [temp.dep.constexpr] paragraph 7 as follows:

A reflect-expression is value-dependent if

(Drafting note: Reflection on block-scope externs is made ill-formed by issue 3065.)