specify lifetime extension of `match` arms and `if` tail expressions
diff --git a/src/destructors.md b/src/destructors.md
index 24ed38e..6d6226d 100644
--- a/src/destructors.md
+++ b/src/destructors.md
@@ -435,6 +435,8 @@
expression.
* The arguments to an extending [tuple struct] or [tuple variant] constructor expression.
* The final expression of any extending [block expression].
+* The arm(s) of an extending [`match`] expression.
+* The final expressions of an extending [`if`] expression's consequent, `else if`, and `else` blocks.
So the borrow expressions in `&mut 0`, `(&1, &mut 2)`, and `Some(&mut 3)`
are all extending expressions. The borrows in `&0 + &1` and `f(&mut 0)` are not.
@@ -458,6 +460,10 @@
# x;
let x = { [Some(&temp()) ] };
# x;
+let x = match () { _ => &temp() };
+# x;
+let x = if true { &temp() } else { &temp() };
+# x;
let ref x = temp();
# x;
let ref x = *&temp();
@@ -477,6 +483,8 @@
# x;
let x = (&temp()).use_temp(); // ERROR
# x;
+let x = match &temp() { x => x }; // ERROR
+# x;
```
r[destructors.forget]