Skip to content

Commit 6df7fcc

Browse files
committed
Merge pull request #21121 from raindev/fix_intro_concurrency_examples
Fix intro examples compilation warnings Reviewed-by: steveklabnik
2 parents 03f7862 + 37970f1 commit 6df7fcc

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

src/doc/intro.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -424,11 +424,11 @@ Let's see an example. This Rust code will not compile:
424424
use std::thread::Thread;
425425
426426
fn main() {
427-
let mut numbers = vec![1i, 2i, 3i];
427+
let mut numbers = vec![1is, 2, 3];
428428
429-
for i in range(0u, 3u) {
429+
for i in 0..3 {
430430
Thread::spawn(move || {
431-
for j in range(0, 3) { numbers[j] += 1 }
431+
for j in 0..3 { numbers[j] += 1 }
432432
});
433433
}
434434
}
@@ -438,15 +438,15 @@ It gives us this error:
438438
439439
```text
440440
6:71 error: capture of moved value: `numbers`
441-
for j in range(0, 3) { numbers[j] += 1 }
442-
^~~~~~~
441+
for j in 0..3 { numbers[j] += 1 }
442+
^~~~~~~
443443
7:50 note: `numbers` moved into closure environment here
444444
spawn(move || {
445-
for j in range(0, 3) { numbers[j] += 1 }
445+
for j in 0..3 { numbers[j] += 1 }
446446
});
447447
6:79 error: cannot assign to immutable dereference (dereference is implicit, due to indexing)
448-
for j in range(0, 3) { numbers[j] += 1 }
449-
^~~~~~~~~~~~~~~
448+
for j in 0..3 { numbers[j] += 1 }
449+
^~~~~~~~~~~~~~~
450450
```
451451
452452
It mentions that "numbers moved into closure environment". Because we
@@ -478,9 +478,9 @@ use std::thread::Thread;
478478
use std::sync::{Arc,Mutex};
479479
480480
fn main() {
481-
let numbers = Arc::new(Mutex::new(vec![1i, 2i, 3i]));
481+
let numbers = Arc::new(Mutex::new(vec![1is, 2, 3]));
482482
483-
for i in range(0u, 3u) {
483+
for i in 0..3 {
484484
let number = numbers.clone();
485485
Thread::spawn(move || {
486486
let mut array = number.lock().unwrap();
@@ -541,12 +541,12 @@ safety check that makes this an error about moved values:
541541
use std::thread::Thread;
542542
543543
fn main() {
544-
let vec = vec![1i, 2, 3];
544+
let vec = vec![1is, 2, 3];
545545
546-
for i in range(0u, 3) {
546+
for i in 0us..3 {
547547
Thread::spawn(move || {
548548
println!("{}", vec[i]);
549-
}).detach();
549+
});
550550
}
551551
}
552552
```
@@ -557,9 +557,9 @@ you can remove it. As an example, this is a poor way to iterate through
557557
a vector:
558558
559559
```{rust}
560-
let vec = vec![1i, 2, 3];
560+
let vec = vec![1, 2, 3];
561561
562-
for i in range(0u, vec.len()) {
562+
for i in 0..vec.len() {
563563
println!("{}", vec[i]);
564564
}
565565
```
@@ -569,7 +569,7 @@ that we don't try to access an invalid index. However, we can remove this
569569
while retaining safety. The answer is iterators:
570570
571571
```{rust}
572-
let vec = vec![1i, 2, 3];
572+
let vec = vec![1, 2, 3];
573573
574574
for x in vec.iter() {
575575
println!("{}", x);

0 commit comments

Comments
 (0)