mirror of https://github.com/rust-lang/rust
16 lines
362 B
Rust
16 lines
362 B
Rust
fn main() {
|
|
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);
|
|
}
|