rust/tests/ui/borrowck/borrowck-lend-flow-match.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

19 lines
446 B
Rust
Raw Normal View History

2013-03-15 19:24:24 +00:00
fn separate_arms() {
// Here both arms perform assignments, but only one is illegal.
2013-03-15 19:24:24 +00:00
let mut x = None;
match x {
None => {
// It is ok to reassign x here, because there is in
// fact no outstanding loan of x!
2015-01-31 16:23:42 +00:00
x = Some(0);
2013-03-15 19:24:24 +00:00
}
Some(ref r) => {
x = Some(1); //~ ERROR cannot assign to `x` because it is borrowed
drop(r);
2013-03-15 19:24:24 +00:00
}
}
}
fn main() {}