]>
Commit | Line | Data |
---|---|---|
7cac9316 | 1 | error[E0597]: `*a` does not live long enough |
0731742a | 2 | --> $DIR/destructor-restrictions.rs:8:10 |
c30ab7b3 | 3 | | |
0531ce1d | 4 | LL | *a.borrow() + 1 |
48663c56 XL |
5 | | ^--------- |
6 | | | | |
7 | | borrowed value does not live long enough | |
8 | | a temporary with access to the borrow is created here ... | |
532ac7d7 | 9 | LL | }; |
1b1a35ee | 10 | | -- ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `Ref<'_, i32>` |
c30ab7b3 SL |
11 | | | |
12 | | `*a` dropped here while still borrowed | |
48663c56 | 13 | | |
f9f354fc XL |
14 | = note: the temporary is part of an expression at the end of a block; |
15 | consider forcing this temporary to be dropped sooner, before the block's local variables are dropped | |
16 | help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block | |
17 | | | |
18 | LL | let x = *a.borrow() + 1; x | |
19 | | ^^^^^^^ ^^^ | |
c30ab7b3 | 20 | |
041b39d2 | 21 | error: aborting due to previous error |
c30ab7b3 | 22 | |
0531ce1d | 23 | For more information about this error, try `rustc --explain E0597`. |