Rollup merge of #33007 - notriddle:master, r=steveklabnik

Do not use "bind" to refer to both referencing and to assignment

See https://users.rust-lang.org/t/difference-between-four-references/5406/7
This commit is contained in:
Steve Klabnik 2016-04-18 14:50:35 -04:00
commit d3d9bd0e47

View File

@ -24,18 +24,16 @@ changed from one `i32` to another.
[vb]: variable-bindings.html
If you want to change what the binding points to, youll need a [mutable reference][mr]:
You can also create a [reference][ref] to it, using `&x`, but if you want to use the reference to change it, you will need a mutable reference:
```rust
let mut x = 5;
let y = &mut x;
```
[mr]: references-and-borrowing.html
[ref]: references-and-borrowing.html
`y` is an immutable binding to a mutable reference, which means that you cant
bind `y` to something else (`y = &mut z`), but you can mutate the thing thats
bound to `y` (`*y = 5`). A subtle distinction.
`y` is an immutable binding to a mutable reference, which means that you cant bind 'y' to something else (`y = &mut z`), but `y` can be used to bind `x` to something else (`*y = 5`). A subtle distinction.
Of course, if you need both: