error[E0597]: `f1` does not live long enough --> $DIR/dst-bad-coerce3.rs:16:33 | LL | let f2: &Fat<[isize; 3]> = &f1; //~ ERROR `f1` does not live long enough | ^^ borrowed value does not live long enough ... LL | } | - borrowed value only lives until here | note: borrowed value must be valid for the lifetime 'a as defined on the function body at 13:8... --> $DIR/dst-bad-coerce3.rs:13:8 | LL | fn baz<'a>() { | ^^ error[E0597]: `f1` does not live long enough --> $DIR/dst-bad-coerce3.rs:21:26 | LL | let f2: &Fat = &f1; //~ ERROR `f1` does not live long enough | ^^ borrowed value does not live long enough ... LL | } | - borrowed value only lives until here | note: borrowed value must be valid for the lifetime 'a as defined on the function body at 13:8... --> $DIR/dst-bad-coerce3.rs:13:8 | LL | fn baz<'a>() { | ^^ error[E0597]: `f1` does not live long enough --> $DIR/dst-bad-coerce3.rs:26:31 | LL | let f2: &([isize; 3],) = &f1; //~ ERROR `f1` does not live long enough | ^^ borrowed value does not live long enough ... LL | } | - borrowed value only lives until here | note: borrowed value must be valid for the lifetime 'a as defined on the function body at 13:8... --> $DIR/dst-bad-coerce3.rs:13:8 | LL | fn baz<'a>() { | ^^ error[E0597]: `f1` does not live long enough --> $DIR/dst-bad-coerce3.rs:31:24 | LL | let f2: &(Foo,) = &f1; //~ ERROR `f1` does not live long enough | ^^ borrowed value does not live long enough LL | let f3: &'a (Bar,) = f2; LL | } | - borrowed value only lives until here | note: borrowed value must be valid for the lifetime 'a as defined on the function body at 13:8... --> $DIR/dst-bad-coerce3.rs:13:8 | LL | fn baz<'a>() { | ^^ error: aborting due to 4 previous errors For more information about this error, try `rustc --explain E0597`.