Date
2019-03-15.00:00:00
Message id
6390

Content

Proposed resolution (March, 2019):

Add the following as a new bullet following 7.7 [expr.const] bullet 4.4:

An expression e is a core constant expression unless the evaluation of e, following the rules of the abstract machine (6.9.1 [intro.execution]), would evaluate one of the following expressions:

  • ...

  • an invocation of an instantiated constexpr function or constexpr constructor that fails to satisfy the requirements for a constexpr function or constexpr constructor (9.2.6 [dcl.constexpr]);

  • an invocation of a virtual function (11.7.3 [class.virtual]) for an object unless

    • the object is usable in constant expressions or

    • its lifetime began within the evaluation of e;

  • an expression that would exceed the implementation-defined limits (see Clause Annex B [implimits]);

  • ...