| error[E0597]: `c2` does not live long enough | |
| --> $DIR/dropck_vec_cycle_checked.rs:98:24 | |
| | | |
| LL | let (mut c1, mut c2, mut c3); | |
| | ------ binding `c2` declared here | |
| ... | |
| LL | c1.v[0].v.set(Some(&c2)); | |
| | ^^^ borrowed value does not live long enough | |
| ... | |
| LL | } | |
| | - | |
| | | | |
| | `c2` dropped here while still borrowed | |
| | borrow might be used here, when `c1` is dropped and runs the destructor for type `C<'_>` | |
| | | |
| = note: values in a scope are dropped in the opposite order they are defined | |
| error[E0597]: `c3` does not live long enough | |
| --> $DIR/dropck_vec_cycle_checked.rs:100:24 | |
| | | |
| LL | let (mut c1, mut c2, mut c3); | |
| | ------ binding `c3` declared here | |
| ... | |
| LL | c1.v[1].v.set(Some(&c3)); | |
| | ^^^ borrowed value does not live long enough | |
| ... | |
| LL | } | |
| | - | |
| | | | |
| | `c3` dropped here while still borrowed | |
| | borrow might be used here, when `c1` is dropped and runs the destructor for type `C<'_>` | |
| | | |
| = note: values in a scope are dropped in the opposite order they are defined | |
| error[E0597]: `c1` does not live long enough | |
| --> $DIR/dropck_vec_cycle_checked.rs:104:24 | |
| | | |
| LL | let (mut c1, mut c2, mut c3); | |
| | ------ binding `c1` declared here | |
| ... | |
| LL | c3.v[0].v.set(Some(&c1)); | |
| | ^^^ borrowed value does not live long enough | |
| ... | |
| LL | } | |
| | - | |
| | | | |
| | `c1` dropped here while still borrowed | |
| | borrow might be used here, when `c1` is dropped and runs the destructor for type `C<'_>` | |
| error: aborting due to 3 previous errors | |
| For more information about this error, try `rustc --explain E0597`. |