@@ -45,7 +45,7 @@ have type compatible with the value of the `break` expression(s).
45
45
46
46
> ** <sup >Syntax</sup >** \
47
47
> _ PredicateLoopExpression_ :\
48
- >   ;  ; ` while ` [ _ Expression_ ] <sub >except struct expression </sub > [ _ BlockExpression_ ]
48
+ >   ;  ; ` while ` [ _ Expression_ ] <sub >_ except struct expression _ </sub > [ _ BlockExpression_ ]
49
49
50
50
A ` while ` loop begins by evaluating the boolean loop conditional expression. If
51
51
the loop conditional expression evaluates to ` true ` , the loop body block
@@ -67,7 +67,7 @@ while i < 10 {
67
67
68
68
> ** <sup >Syntax</sup >** \
69
69
> [ _ PredicatePatternLoopExpression_ ] :\
70
- >   ;  ; ` while ` ` let ` [ _ MatchArmPatterns_ ] ` = ` [ _ Expression_ ] <sub >except struct expression </sub >
70
+ >   ;  ; ` while ` ` let ` [ _ MatchArmPatterns_ ] ` = ` [ _ Expression_ ] <sub >_ except struct or lazy boolean operator expression _ </sub >
71
71
> [ _ BlockExpression_ ]
72
72
73
73
A ` while let ` loop is semantically similar to a ` while ` loop but in place of a
@@ -123,11 +123,13 @@ while let Some(v @ 1) | Some(v @ 2) = vals.pop() {
123
123
}
124
124
```
125
125
126
+ As is the case in [ ` if let ` expressions] , the scrutinee cannot be a [ lazy boolean operator expression] [ _LazyBooleanOperatorExpression_ ] .
127
+
126
128
## Iterator loops
127
129
128
130
> ** <sup >Syntax</sup >** \
129
131
> _ IteratorLoopExpression_ :\
130
- >   ;  ; ` for ` [ _ Pattern_ ] ` in ` [ _ Expression_ ] <sub >except struct expression </sub >
132
+ >   ;  ; ` for ` [ _ Pattern_ ] ` in ` [ _ Expression_ ] <sub >_ except struct expression _ </sub >
131
133
> [ _ BlockExpression_ ]
132
134
133
135
A ` for ` expression is a syntactic construct for looping over elements provided
@@ -294,3 +296,5 @@ expression `()`.
294
296
[ `match` expression ] : match-expr.md
295
297
[ scrutinee ] : ../glossary.md#scrutinee
296
298
[ temporary values ] : ../expressions.md#temporary-lifetimes
299
+ [ _LazyBooleanOperatorExpression_ ] : operator-expr.md#lazy-boolean-operators
300
+ [ `if let` expressions ] : if-expr.md#if-let-expressions
0 commit comments