@@ -98,11 +98,16 @@ expressions are value expressions.
98
98
99
99
A * value expression* is an expression that represents an actual value.
100
100
101
- The left operand of an [ assignment] [ assign ] or [ compound assignment] expression
102
- is a place expression context, as is the single operand of a unary [ borrow] , and
103
- the operand of any [ implicit borrow] . The discriminant or subject of a
104
- [ match expression] [ match ] and right side of a [ let statement] is also a place
105
- expression context. All other expression contexts are value expression contexts.
101
+ The following contexts are * place expression* contexts:
102
+
103
+ * The left operand of an [ assignment] [ assign ] or [ compound assignment] expression.
104
+ * The operand of a unary [ borrow] or [ dereference] operator.
105
+ * The operand of a field expression.
106
+ * The indexed operand of an array indexing expression.
107
+ * The operand of any [ implicit borrow] .
108
+ * The initializer of a [ let statement] .
109
+ * The [ scrutinee] of a [ match expression] [ match ] .
110
+ * The base of a [ functional update] struct expression.
106
111
107
112
> Note: Historically, place expressions were called * lvalues* and value
108
113
> expressions were called * rvalues* .
@@ -279,6 +284,7 @@ They are never allowed before:
279
284
[ closure expressions ] : expressions/closure-expr.html
280
285
[ enum variant ] : expressions/enum-variant-expr.html
281
286
[ field ] : expressions/field-expr.html
287
+ [ functional update ] : expressions/struct-expr.html#functional-update-syntax
282
288
[ grouped ] : expressions/grouped-expr.html
283
289
[ literals ] : expressions/literal-expr.html
284
290
[ match ] : expressions/match-expr.html
@@ -316,6 +322,7 @@ They are never allowed before:
316
322
[ let statement ] : statements.html#let-statements
317
323
[ Mutable `static` items ] : items/static-items.html#mutable-statics
318
324
[ const contexts ] : const_eval.html
325
+ [ scrutinee ] : glossary.html#scrutinee
319
326
[ slice ] : types/slice.html
320
327
[ statement ] : statements.html
321
328
[ static variables ] : items/static-items.html
0 commit comments