diff options
| author | Sean T Allen <sean@monkeysnatchbanana.com> | 2015-01-22 13:00:15 -0500 |
|---|---|---|
| committer | Sean T Allen <sean@monkeysnatchbanana.com> | 2015-01-22 13:17:23 -0500 |
| commit | 42cbd7a9bd53f2eeb96c4416cffe9fd735da9039 (patch) | |
| tree | 8568e04f14fce40fffacaff2503fe47da12b56bd /src | |
| parent | 5d2056a7e3e52b2aec41662cfd960e0eafe8494c (diff) | |
| download | rust-42cbd7a9bd53f2eeb96c4416cffe9fd735da9039.tar.gz rust-42cbd7a9bd53f2eeb96c4416cffe9fd735da9039.zip | |
Reference correct fn during lifetime ellision
Diffstat (limited to 'src')
| -rw-r--r-- | src/doc/trpl/ownership.md | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/doc/trpl/ownership.md b/src/doc/trpl/ownership.md index 8b7e37dd4c2..56cb5b1de69 100644 --- a/src/doc/trpl/ownership.md +++ b/src/doc/trpl/ownership.md @@ -244,8 +244,8 @@ three. The ownership system in Rust does this through a concept called Remember the function that borrowed an `i32`? Let's look at it again. ```rust -fn add_one(num: &i32) -> i32 { - *num + 1 +fn add_one(num: &mut i32) { + *num += 1; } ``` @@ -255,8 +255,8 @@ cover the others later. Without eliding the lifetimes, `add_one` looks like this: ```rust -fn add_one<'a>(num: &'a i32) -> i32 { - *num + 1 +fn add_one<'a>(num: &'a mut i32) { + *num += 1; } ``` @@ -278,12 +278,12 @@ fn add_two<'a, 'b>(...) Then in our parameter list, we use the lifetimes we've named: ```{rust,ignore} -...(num: &'a i32) -> ... +...(num: &'a mut i32) ``` -If you compare `&i32` to `&'a i32`, they're the same, it's just that the -lifetime `'a` has snuck in between the `&` and the `i32`. We read `&i32` as "a -reference to an i32" and `&'a i32` as "a reference to an i32 with the lifetime 'a.'" +If you compare `&mut i32` to `&'a mut i32`, they're the same, it's just that the +lifetime `'a` has snuck in between the `&` and the `mut i32`. We read `&mut i32` as "a +mutable reference to an i32" and `&'a mut i32` as "a mutable reference to an i32 with the lifetime 'a.'" Why do lifetimes matter? Well, for example, here's some code: |
