@@ -2,87 +2,83 @@ error[E0597]: `o2` does not live long enough
22 --> $DIR/dropck_trait_cycle_checked.rs:111:13
33 |
44LL | let (o1, o2, o3): (Box<dyn Obj>, Box<dyn Obj>, Box<dyn Obj>) = (O::new(), O::new(), O::new());
5- | -- binding `o2` declared here
5+ | -- binding `o2` declared here -------- coercion requires that `o2` is borrowed for `'static`
66LL | o1.set0(&o2);
77 | ^^^ borrowed value does not live long enough
88...
9- LL | o3.set0(&o1);
10- | ------------ argument requires that `o2` is borrowed for `'static`
11- LL | o3.set1(&o2);
129LL | }
1310 | - `o2` dropped here while still borrowed
11+ |
12+ = note: due to object lifetime defaults, `Box<dyn Obj<'_>>` actually means `Box<(dyn Obj<'_> + 'static)>`
1413
1514error[E0597]: `o3` does not live long enough
1615 --> $DIR/dropck_trait_cycle_checked.rs:112:13
1716 |
1817LL | let (o1, o2, o3): (Box<dyn Obj>, Box<dyn Obj>, Box<dyn Obj>) = (O::new(), O::new(), O::new());
19- | -- binding `o3` declared here
18+ | -- binding `o3` declared here -------- coercion requires that `o3` is borrowed for `'static`
2019LL | o1.set0(&o2);
2120LL | o1.set1(&o3);
2221 | ^^^ borrowed value does not live long enough
2322...
24- LL | o3.set0(&o1);
25- | ------------ argument requires that `o3` is borrowed for `'static`
26- LL | o3.set1(&o2);
2723LL | }
2824 | - `o3` dropped here while still borrowed
25+ |
26+ = note: due to object lifetime defaults, `Box<dyn Obj<'_>>` actually means `Box<(dyn Obj<'_> + 'static)>`
2927
3028error[E0597]: `o2` does not live long enough
3129 --> $DIR/dropck_trait_cycle_checked.rs:113:13
3230 |
3331LL | let (o1, o2, o3): (Box<dyn Obj>, Box<dyn Obj>, Box<dyn Obj>) = (O::new(), O::new(), O::new());
34- | -- binding `o2` declared here
35- LL | o1.set0(&o2);
36- | ------------ argument requires that `o2` is borrowed for `'static`
37- LL | o1.set1(&o3);
32+ | -- binding `o2` declared here -------- coercion requires that `o2` is borrowed for `'static`
33+ ...
3834LL | o2.set0(&o2);
3935 | ^^^ borrowed value does not live long enough
4036...
4137LL | }
4238 | - `o2` dropped here while still borrowed
39+ |
40+ = note: due to object lifetime defaults, `Box<dyn Obj<'_>>` actually means `Box<(dyn Obj<'_> + 'static)>`
4341
4442error[E0597]: `o3` does not live long enough
4543 --> $DIR/dropck_trait_cycle_checked.rs:114:13
4644 |
4745LL | let (o1, o2, o3): (Box<dyn Obj>, Box<dyn Obj>, Box<dyn Obj>) = (O::new(), O::new(), O::new());
48- | -- binding `o3` declared here
49- LL | o1.set0(&o2);
50- | ------------ argument requires that `o3` is borrowed for `'static`
46+ | -- binding `o3` declared here -------- coercion requires that `o3` is borrowed for `'static`
5147...
5248LL | o2.set1(&o3);
5349 | ^^^ borrowed value does not live long enough
5450...
5551LL | }
5652 | - `o3` dropped here while still borrowed
53+ |
54+ = note: due to object lifetime defaults, `Box<dyn Obj<'_>>` actually means `Box<(dyn Obj<'_> + 'static)>`
5755
5856error[E0597]: `o1` does not live long enough
5957 --> $DIR/dropck_trait_cycle_checked.rs:115:13
6058 |
6159LL | let (o1, o2, o3): (Box<dyn Obj>, Box<dyn Obj>, Box<dyn Obj>) = (O::new(), O::new(), O::new());
62- | -- binding `o1` declared here
63- LL | o1.set0(&o2);
64- LL | o1.set1(&o3);
65- | ------------ argument requires that `o1` is borrowed for `'static`
60+ | -- binding `o1` declared here -------- coercion requires that `o1` is borrowed for `'static`
6661...
6762LL | o3.set0(&o1);
6863 | ^^^ borrowed value does not live long enough
6964LL | o3.set1(&o2);
7065LL | }
7166 | - `o1` dropped here while still borrowed
67+ |
68+ = note: due to object lifetime defaults, `Box<dyn Obj<'_>>` actually means `Box<(dyn Obj<'_> + 'static)>`
7269
7370error[E0597]: `o2` does not live long enough
7471 --> $DIR/dropck_trait_cycle_checked.rs:116:13
7572 |
7673LL | let (o1, o2, o3): (Box<dyn Obj>, Box<dyn Obj>, Box<dyn Obj>) = (O::new(), O::new(), O::new());
77- | -- binding `o2` declared here
78- LL | o1.set0(&o2);
79- LL | o1.set1(&o3);
80- | ------------ argument requires that `o2` is borrowed for `'static`
74+ | -- binding `o2` declared here -------- coercion requires that `o2` is borrowed for `'static`
8175...
8276LL | o3.set1(&o2);
8377 | ^^^ borrowed value does not live long enough
8478LL | }
8579 | - `o2` dropped here while still borrowed
80+ |
81+ = note: due to object lifetime defaults, `Box<dyn Obj<'_>>` actually means `Box<(dyn Obj<'_> + 'static)>`
8682
8783error: aborting due to 6 previous errors
8884
0 commit comments