error[E0597]: `c2` does not live long enough --> $DIR/vec-must-not-hide-type-from-dropck.rs:117:24 | LL | let (mut c1, mut c2); | ------ 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]: `c1` does not live long enough --> $DIR/vec-must-not-hide-type-from-dropck.rs:119:24 | LL | let (mut c1, mut c2); | ------ binding `c1` declared here ... LL | c2.v[0].v.set(Some(&c1)); | ^^^ borrowed value does not live long enough LL | 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 2 previous errors For more information about this error, try `rustc --explain E0597`.