From b1b905f30b3d9b124f87780e63f279dad071d721 Mon Sep 17 00:00:00 2001 From: "Edward Z. Yang" Date: Sun, 15 Dec 2013 19:26:58 +0800 Subject: [PATCH] Correct definition of lvalues, fixes #10890 Signed-off-by: Edward Z. Yang --- doc/rust.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/rust.md b/doc/rust.md index 92d5ee21222..aa4ce002e02 100644 --- a/doc/rust.md +++ b/doc/rust.md @@ -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),