@@ -424,11 +424,11 @@ Let's see an example. This Rust code will not compile:
424424use std::thread::Thread;
425425
426426fn 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
4404406: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+ ^~~~~~~
4434437: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 });
4474476: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
452452It mentions that " numbers moved into closure environment" . Because we
@@ -478,9 +478,9 @@ use std::thread::Thread;
478478use std::sync::{Arc,Mutex};
479479
480480fn 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:
541541use std::thread::Thread;
542542
543543fn 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
557557a 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
569569while retaining safety. The answer is iterators:
570570
571571```{rust}
572- let vec = vec![1i , 2, 3];
572+ let vec = vec![1 , 2, 3];
573573
574574for x in vec.iter() {
575575 println!("{}", x);
0 commit comments