1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
error[E0597]: `b2` does not live long enough
--> $DIR/dropck_arr_cycle_checked.rs:93:24
|
LL | let (b1, b2, b3);
| -- binding `b2` declared here
...
LL | b1.a[0].v.set(Some(&b2));
| ^^^ borrowed value does not live long enough
...
LL | }
| -
| |
| `b2` dropped here while still borrowed
| borrow might be used here, when `b1` is dropped and runs the destructor for type `B<'_>`
|
= note: values in a scope are dropped in the opposite order they are defined
error[E0597]: `b3` does not live long enough
--> $DIR/dropck_arr_cycle_checked.rs:95:24
|
LL | let (b1, b2, b3);
| -- binding `b3` declared here
...
LL | b1.a[1].v.set(Some(&b3));
| ^^^ borrowed value does not live long enough
...
LL | }
| -
| |
| `b3` dropped here while still borrowed
| borrow might be used here, when `b1` is dropped and runs the destructor for type `B<'_>`
|
= note: values in a scope are dropped in the opposite order they are defined
error[E0597]: `b1` does not live long enough
--> $DIR/dropck_arr_cycle_checked.rs:99:24
|
LL | let (b1, b2, b3);
| -- binding `b1` declared here
...
LL | b3.a[0].v.set(Some(&b1));
| ^^^ borrowed value does not live long enough
...
LL | }
| -
| |
| `b1` dropped here while still borrowed
| borrow might be used here, when `b1` is dropped and runs the destructor for type `B<'_>`
error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0597`.
|