Skip to content

Commit 8ba1693

Browse files
committed
[expr.prim.req] Fix uses of 'unevaluated operand'
1 parent 598d39c commit 8ba1693

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.context}.
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.context}.
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)