error[E0716]: temporary value dropped while borrowed --> $DIR/borrowck-ref-into-rvalue.rs:4:11 | LL | match Some("Hello".to_string()) { | ^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use ... LL | } | - temporary value is freed at the end of this statement LL | println!("{}", *msg); | ---- borrow later used here | help: consider using a `let` binding to create a longer lived value | LL ~ let binding = Some("Hello".to_string()); LL ~ match binding { | error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0716`.