part 09: explain how Rust prevents iterator invalidation
[rust-101.git] / workspace / src / part03.rs
index 08cca72b0ebc5a9777b24217478dfd211c4aaa8f..5a5327c26962be4ea044de8d74afab0cc4377bff 100644 (file)
@@ -1,5 +1,3 @@
-// ***Remember to enable/add this part in `main.rs`!***
-
 // Rust-101, Part 03: Input
 // ========================
 
@@ -17,14 +15,14 @@ fn read_vec() -> Vec<i32> {
     println!("Enter a list of numbers, one per line. End with Ctrl-D.");
     for line in stdin.lock().lines() {
         // Rust's type for (dynamic, growable) strings is `String`. However, our variable `line`
-        // here is not yet of that type: It rather has type `io::Result<String>`.
+        // here is not yet of that type: It has type `io::Result<String>`.
 
         // I chose the same name (`line`) for the new variable to ensure that I will never, accidentally,
         // access the "old" `line` again.
         let line = line.unwrap();
         // Now that we have our `String`, we want to make it an `i32`.
 
-        match line.parse::<i32>() {
+        match line.trim().parse::<i32>() {
             Ok(num) => {
                 unimplemented!()
             },