rust/tests/ui/mut/mut-pattern-internal-mutability.rs

16 lines
362 B
Rust
Raw Normal View History

fn main() {
2015-01-31 10:23:42 -06:00
let foo = &mut 1;
let &mut x = foo;
x += 1; //~ ERROR cannot assign twice to immutable variable `x`
// explicitly mut-ify internals
let &mut mut x = foo;
x += 1;
// check borrowing is detected successfully
let &mut ref x = foo;
*foo += 1; //~ ERROR cannot assign to `*foo` because it is borrowed
drop(x);
}