1 error[E0597]: borrowed value does not live long enough
2 --> $DIR/borrowck-borrow-from-temporary.rs:19:24
4 LL | let &Foo(ref x) = &id(Foo(3)); //~ ERROR borrowed value does not live long enough
5 | ^^^^^^^^^^ temporary value does not live long enough
8 | - temporary value only lives until here
10 note: borrowed value must be valid for the lifetime 'a as defined on the function body at 18:8...
11 --> $DIR/borrowck-borrow-from-temporary.rs:18:8
13 LL | fn foo<'a>() -> &'a isize {
16 error: aborting due to previous error
18 For more information about this error, try `rustc --explain E0597`.