auto merge of #10982 : ezyang/rust/lvalue-def, r=pcwalton
Based off of Niko's proposed definition of lvalues. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
This commit is contained in:
commit
9eb89a6c6e
|
@ -2177,7 +2177,11 @@ Expressions are divided into two main categories: _lvalues_ and _rvalues_.
|
||||||
Likewise within each expression, sub-expressions may occur in _lvalue context_ or _rvalue context_.
|
Likewise within each expression, sub-expressions may occur in _lvalue context_ or _rvalue context_.
|
||||||
The evaluation of an expression depends both on its own category and the context it occurs within.
|
The evaluation of an expression depends both on its own category and the context it occurs within.
|
||||||
|
|
||||||
[Path](#path-expressions), [field](#field-expressions) and [index](#index-expressions) expressions are lvalues.
|
An lvalue is an expression that represents a memory location. These
|
||||||
|
expressions are [paths](#path-expressions) (which refer to local
|
||||||
|
variables, function and method arguments, or static variables),
|
||||||
|
dereferences (`*expr`), [indexing expressions](#index-expressions)
|
||||||
|
(`expr[expr]`), and [field references](#field-expressions) (`expr.f`).
|
||||||
All other expressions are rvalues.
|
All other expressions are rvalues.
|
||||||
|
|
||||||
The left operand of an [assignment](#assignment-expressions),
|
The left operand of an [assignment](#assignment-expressions),
|
||||||
|
|
Loading…
Reference in New Issue