(See for reference What is Allowed in a constexpr Function?)
I know that constexpr
functions have some restrictions upon what is allowed in them. The following is a quote lists them.
The function body may contain anything but:
- an asm declaration
- a goto statement
- a statement with a label other than case and default
- a try-block
- a definition of a variable of non-literal type
- a definition of a variable of static or thread storage duration
- a definition of a variable for which no initialization is performed
I'd like to know, how does the restrictions upon consteval
function differ from the one specified above. Is there something that can be allowed in consteval
fucntion but not constexpr
function, and vise versa.