error[E0597]: `foo` does not live long enough --> $DIR/issue-40157.rs:12:53 | 12 | {println!("{:?}", match { let foo = vec![1, 2]; foo.get(1) } { x => x });} | -----------------------------------------------^^^---------------------- | | | | | | | `foo` dropped here while still borrowed | | borrowed value does not live long enough | borrowed value needs to live until here | = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) error: aborting due to previous error If you want more information on this error, try using "rustc --explain E0597"