From 10abb666e48abdb747946db6de21317708e18cf5 Mon Sep 17 00:00:00 2001 From: Kaiyin Zhong Date: Tue, 26 Apr 2016 17:40:59 +0200 Subject: [PATCH] Update references-and-borrowing.md add as 2nd example. --- src/doc/book/references-and-borrowing.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/doc/book/references-and-borrowing.md b/src/doc/book/references-and-borrowing.md index 3a1f3f004be..67a8a82f2a3 100644 --- a/src/doc/book/references-and-borrowing.md +++ b/src/doc/book/references-and-borrowing.md @@ -61,6 +61,24 @@ let (v1, v2, answer) = foo(v1, v2); This is not idiomatic Rust, however, as it doesn’t take advantage of borrowing. Here’s the first step: +```rust +fn foo(v1: &Vec, v2: &Vec) -> i32 { + // do stuff with v1 and v2 + + // return the answer + 42 +} + +let v1 = vec![1, 2, 3]; +let v2 = vec![1, 2, 3]; + +let answer = foo(&v1, &v2); + +// we can use v1 and v2 here! +``` + +A more concrete example: + ```rust fn main() { // Don't worry if you don't understand how `fold` works, the point here is that an immutable reference is borrowed.