diff --git a/src/destructors.md b/src/destructors.md index df6ec729a..72faa1a4a 100644 --- a/src/destructors.md +++ b/src/destructors.md @@ -273,7 +273,8 @@ scope of the initializer expression is extended. #### Extending based on expressions -For a let statement with an initializer, an *extending expression* if it is +For a let statement with an initializer, an *extending expression* is an +expression which is one of the following: * The initializer expression. * The operand of a extending [borrow expression]. @@ -337,6 +338,7 @@ variable or field from being dropped automatically. [initialized]: glossary.html#initialized [interior mutability]: interior-mutability.html [lazy boolean expression]: expressions/operator-expr.html#lazy-boolean-operators +[place context]: expressions.html#place-expressions-and-value-expressions [statement]: statements.html [temporary]: expressions.html#temporary-lifetimes [variable]: variables.html diff --git a/src/expressions.md b/src/expressions.md index 46b26d0f7..b7d3a811b 100644 --- a/src/expressions.md +++ b/src/expressions.md @@ -154,9 +154,8 @@ The following expressions can be mutable place expression contexts: When using a value expression in most place expression contexts, a temporary unnamed memory location is created initialized to that value and the expression -evaluates to that location instead, except if [promoted](#constant-promotion) -to a `static`. The [drop scope] of the temporary is usually the end of the -enclosing statement. +evaluates to that location instead, except if [promoted] to a `static`. The +[drop scope] of the temporary is usually the end of the enclosing statement. ### Implicit Borrows @@ -249,6 +248,7 @@ They are never allowed before: [interior mutability]: interior-mutability.html [let statement]: statements.html#let-statements [Mutable `static` items]: items/static-items.html#mutable-statics +[promoted]: destructors.html#constant-promotion [slice]: types/slice.html [statement]: statements.html [static variables]: items/static-items.html