16 lines
425 B
Rust
16 lines
425 B
Rust
|
// 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!(),
|
||
|
}
|
||
|
}
|