Skip to content

Commit

Permalink
auto merge of #10982 : ezyang/rust/lvalue-def, r=pcwalton
Browse files Browse the repository at this point in the history
Based off of Niko's proposed definition of lvalues.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
  • Loading branch information
bors committed Dec 15, 2013
2 parents ebbd30b + b1b905f commit 9eb89a6
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion doc/rust.md
Original file line number Diff line number Diff line change
Expand Up @@ -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_.
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.

The left operand of an [assignment](#assignment-expressions),
Expand Down

0 comments on commit 9eb89a6

Please sign in to comment.