error[E0597]: `o2` does not live long enough
  --> $DIR/dropck_trait_cycle_checked.rs:111:13
   |
LL |     o1.set0(&o2);
   |             ^^^ borrowed value does not live long enough
...
LL | }
   | -
   | |
   | `o2` dropped here while still borrowed
   | borrow might be used here, when `o2` is dropped and runs the destructor for type `std::boxed::Box<dyn Obj<'_>>`

error[E0597]: `o3` does not live long enough
  --> $DIR/dropck_trait_cycle_checked.rs:112:13
   |
LL |     o1.set1(&o3);
   |             ^^^ borrowed value does not live long enough
...
LL | }
   | -
   | |
   | `o3` dropped here while still borrowed
   | borrow might be used here, when `o3` is dropped and runs the destructor for type `std::boxed::Box<dyn Obj<'_>>`

error[E0597]: `o2` does not live long enough
  --> $DIR/dropck_trait_cycle_checked.rs:113:13
   |
LL |     let (o1, o2, o3): (Box<dyn Obj>, Box<dyn Obj>, Box<dyn Obj>) = (O::new(), O::new(), O::new());
   |                                                                               -------- cast requires that `o2` is borrowed for `'static`
...
LL |     o2.set0(&o2);
   |             ^^^ borrowed value does not live long enough
...
LL | }
   | - `o2` dropped here while still borrowed

error[E0597]: `o3` does not live long enough
  --> $DIR/dropck_trait_cycle_checked.rs:114:13
   |
LL |     let (o1, o2, o3): (Box<dyn Obj>, Box<dyn Obj>, Box<dyn Obj>) = (O::new(), O::new(), O::new());
   |                                                                                         -------- cast requires that `o3` is borrowed for `'static`
...
LL |     o2.set1(&o3);
   |             ^^^ borrowed value does not live long enough
...
LL | }
   | - `o3` dropped here while still borrowed

error[E0597]: `o1` does not live long enough
  --> $DIR/dropck_trait_cycle_checked.rs:115:13
   |
LL |     o3.set0(&o1);
   |             ^^^ borrowed value does not live long enough
LL |     o3.set1(&o2);
LL | }
   | -
   | |
   | `o1` dropped here while still borrowed
   | borrow might be used here, when `o1` is dropped and runs the destructor for type `std::boxed::Box<dyn Obj<'_>>`

error[E0597]: `o2` does not live long enough
  --> $DIR/dropck_trait_cycle_checked.rs:116:13
   |
LL |     let (o1, o2, o3): (Box<dyn Obj>, Box<dyn Obj>, Box<dyn Obj>) = (O::new(), O::new(), O::new());
   |                                                                               -------- cast requires that `o2` is borrowed for `'static`
...
LL |     o3.set1(&o2);
   |             ^^^ borrowed value does not live long enough
LL | }
   | - `o2` dropped here while still borrowed

error: aborting due to 6 previous errors

For more information about this error, try `rustc --explain E0597`.
