| // Regression test for #51117 in borrowck interaction with match | |
| // default bindings. The borrow of `*bar` created by `baz` was failing | |
| // to register as a conflict with `bar.take()`. | |
| fn main() { | |
| let mut foo = Some("foo".to_string()); | |
| let bar = &mut foo; | |
| match bar { | |
| Some(baz) => { | |
| bar.take(); //~ ERROR cannot borrow | |
| drop(baz); | |
| }, | |
| None => unreachable!(), | |
| } | |
| } |