1error[E0597]: `f1` does not live long enough 2 --> $DIR/dst-bad-coerce3.rs:16:32 3 | 4LL | fn baz<'a>() { 5 | -- lifetime `'a` defined here 6... 7LL | let f2: &Fat<[isize; 3]> = &f1; 8 | ^^^ borrowed value does not live long enough 9LL | let f3: &'a Fat<[isize]> = f2; 10 | ---------------- type annotation requires that `f1` is borrowed for `'a` 11... 12LL | } 13 | - `f1` dropped here while still borrowed 14 15error[E0597]: `f1` does not live long enough 16 --> $DIR/dst-bad-coerce3.rs:21:25 17 | 18LL | fn baz<'a>() { 19 | -- lifetime `'a` defined here 20... 21LL | let f2: &Fat<Foo> = &f1; 22 | ^^^ borrowed value does not live long enough 23LL | let f3: &'a Fat<dyn Bar> = f2; 24 | ---------------- type annotation requires that `f1` is borrowed for `'a` 25... 26LL | } 27 | - `f1` dropped here while still borrowed 28 29error[E0597]: `f1` does not live long enough 30 --> $DIR/dst-bad-coerce3.rs:26:30 31 | 32LL | fn baz<'a>() { 33 | -- lifetime `'a` defined here 34... 35LL | let f2: &([isize; 3],) = &f1; 36 | ^^^ borrowed value does not live long enough 37LL | let f3: &'a ([isize],) = f2; 38 | -------------- type annotation requires that `f1` is borrowed for `'a` 39... 40LL | } 41 | - `f1` dropped here while still borrowed 42 43error[E0597]: `f1` does not live long enough 44 --> $DIR/dst-bad-coerce3.rs:31:23 45 | 46LL | fn baz<'a>() { 47 | -- lifetime `'a` defined here 48... 49LL | let f2: &(Foo,) = &f1; 50 | ^^^ borrowed value does not live long enough 51LL | let f3: &'a (dyn Bar,) = f2; 52 | -------------- type annotation requires that `f1` is borrowed for `'a` 53LL | } 54 | - `f1` dropped here while still borrowed 55 56error: aborting due to 4 previous errors 57 58For more information about this error, try `rustc --explain E0597`. 59