error[E0597]: borrowed value does not live long enough (Ast) --> $DIR/issue-11493.rs:10:35 | LL | let y = x.as_ref().unwrap_or(&id(5)); | ^^^^^ - temporary value dropped here while still borrowed | | | temporary value does not live long enough ... LL | } | - temporary value needs to live until here | = note: consider using a `let` binding to increase its lifetime error: aborting due to previous error For more information about this error, try `rustc --explain E0597`.