From f9c4fad3b463b52458e13a4b798e8f77d008ca0b Mon Sep 17 00:00:00 2001 From: Frank Steffahn Date: Sat, 7 Jan 2023 20:09:29 +0900 Subject: [PATCH] Add links to definitions of terminology ... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ... in the definition for what an expression that “has an extended temporary scope” is. Improvement discussed in and motivated by the question in this [thread on URLO]. [thread on URLO]: https://users.rust-lang.org/t/how-to-understand-extending-based-on-expressions/87068/16?u=steffahn --- src/destructors.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/destructors.md b/src/destructors.md index 6d616b3e7..782b651d5 100644 --- a/src/destructors.md +++ b/src/destructors.md @@ -271,8 +271,9 @@ let x = &mut 0; println!("{}", x); ``` -If a borrow, dereference, field, or tuple indexing expression has an extended -temporary scope then so does its operand. If an indexing expression has an +If a [borrow][borrow expression], [dereference][dereference expression], +[field][field expression], or [tuple indexing expression] has an extended +temporary scope then so does its operand. If an [indexing expression] has an extended temporary scope then the indexed expression also has an extended temporary scope. @@ -384,8 +385,12 @@ variable or field from being dropped automatically. [block expression]: expressions/block-expr.md [borrow expression]: expressions/operator-expr.md#borrow-operators [cast expression]: expressions/operator-expr.md#type-cast-expressions +[dereference expression]: expressions/operator-expr.md#the-dereference-operator +[field expression]: expressions/field-expr.md +[indexing expression]: expressions/array-expr.md#array-and-slice-indexing-expressions [struct expression]: expressions/struct-expr.md [tuple expression]: expressions/tuple-expr.md#tuple-expressions +[tuple indexing expression]: expressions/tuple-expr.md#tuple-indexing-expressions [`for`]: expressions/loop-expr.md#iterator-loops [`if let`]: expressions/if-expr.md#if-let-expressions