mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 07:14:28 +00:00
rollup merge of #19304: steveklabnik/gh19302
Fixes #19302. Also made a minor cosmetic change to bring the example in line with style guidelines.
This commit is contained in:
commit
ea4944233e
@ -445,11 +445,32 @@ fn succ(x: &int) -> int { *x + 1 }
|
||||
to
|
||||
|
||||
```{rust}
|
||||
use std::rc::Rc;
|
||||
|
||||
fn box_succ(x: Box<int>) -> int { *x + 1 }
|
||||
|
||||
fn rc_succ(x: std::rc::Rc<int>) -> int { *x + 1 }
|
||||
fn rc_succ(x: Rc<int>) -> int { *x + 1 }
|
||||
```
|
||||
|
||||
Note that the caller of your function will have to modify their calls slightly:
|
||||
|
||||
```{rust}
|
||||
use std::rc::Rc;
|
||||
|
||||
fn succ(x: &int) -> int { *x + 1 }
|
||||
|
||||
let ref_x = &5i;
|
||||
let box_x = box 5i;
|
||||
let rc_x = Rc::new(5i);
|
||||
|
||||
succ(ref_x);
|
||||
succ(&*box_x);
|
||||
succ(&*rc_x);
|
||||
```
|
||||
|
||||
The initial `*` dereferences the pointer, and then `&` takes a reference to
|
||||
those contents.
|
||||
|
||||
# Boxes
|
||||
|
||||
`Box<T>` is Rust's 'boxed pointer' type. Boxes provide the simplest form of
|
||||
|
Loading…
Reference in New Issue
Block a user