That doesn't seem to be what the compilation error says:
mut.rs:10:19: 10:20 error: use of moved value: `a`
mut.rs:10 println!("{}",a);
^
note: in expansion of format_args!
<std macros>:2:23: 2:77 note: expansion site
<std macros>:1:1: 3:2 note: in expansion of println!
mut.rs:10:5: 10:22 note: expansion site
mut.rs:6:13: 6:14 note: `a` moved here because it has type `&mut int`,
which is moved by default (use `ref` to override)
mut.rs:6 let b = a;
It isn't intuitive that type-annotating `b` would make this error go away.
On Mon, Sep 22, 2014 at 10:54 AM, Steve Klabnik <[email protected]>
wrote:
> Because you need to make b mutable to change its value. Rust's
> variable bindings are immutable by default.
> _______________________________________________
> Rust-dev mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/rust-dev
>
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev