Skip to content

Commit 340a4d9

Browse files
committed
[expr.prim.req] Fix uses of 'unevaluated operand'
1 parent deec10b commit 340a4d9

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

source/expressions.tex

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2621,8 +2621,6 @@
26212621
\pnum
26222622
A \grammarterm{requires-expression} is a prvalue of type \tcode{bool}
26232623
whose value is described below.
2624-
Expressions appearing within a \grammarterm{requirement-body}
2625-
are unevaluated operands\iref{expr.prop}.
26262624

26272625
\pnum
26282626
\begin{example}
@@ -2706,6 +2704,7 @@
27062704
\pnum
27072705
A \grammarterm{simple-requirement} asserts
27082706
the validity of an \grammarterm{expression}.
2707+
The \grammarterm{expression} is an unevaluated operand\iref{expr.prop}.
27092708
\begin{note}
27102709
The enclosing \grammarterm{requires-expression} will evaluate to \keyword{false}
27112710
if substitution of template arguments into the \grammarterm{expression} fails.
@@ -2775,7 +2774,9 @@
27752774

27762775
\pnum
27772776
A \grammarterm{compound-requirement} asserts properties
2778-
of the \grammarterm{expression} $E$. Substitution
2777+
of the \grammarterm{expression} $E$.
2778+
The \grammarterm{expression} is an unevaluated operand\iref{expr.prop}.
2779+
Substitution
27792780
of template arguments (if any) and verification of
27802781
semantic properties proceed in the following order:
27812782

@@ -2884,8 +2885,9 @@
28842885
\end{example}
28852886

28862887
\pnum
2887-
A local parameter shall only appear as an unevaluated operand\iref{expr.prop}
2888-
within the \grammarterm{constraint-expression}.
2888+
Within the \grammarterm{constraint-expression},
2889+
an \grammarterm{unqualified-id} naming a local parameter shall not be
2890+
potentially evaluated\iref{basic.def.odr}.
28892891
\begin{example}
28902892
\begin{codeblock}
28912893
template<typename T> concept C = requires (T a) {

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy