[INFO] cloning repository https://github.com/DreamLarva/learn-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DreamLarva/learn-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDreamLarva%2Flearn-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDreamLarva%2Flearn-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] df38ec3699099a743646eb6dd4364aaf40dee42d
[INFO] testing DreamLarva/learn-rust against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDreamLarva%2Flearn-rust" "/workspace/builds/worker-9/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/DreamLarva/learn-rust on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/DreamLarva/learn-rust
[INFO] finished tweaking git repo https://github.com/DreamLarva/learn-rust
[INFO] tweaked toml for git repo https://github.com/DreamLarva/learn-rust written to /workspace/builds/worker-9/source/Cargo.toml
[INFO] crate git repo https://github.com/DreamLarva/learn-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ef48d94d1c6d162f9a6387c82ffc9adc6de68f5e278d8963b80a42310ceef555
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "ef48d94d1c6d162f9a6387c82ffc9adc6de68f5e278d8963b80a42310ceef555", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ef48d94d1c6d162f9a6387c82ffc9adc6de68f5e278d8963b80a42310ceef555", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ef48d94d1c6d162f9a6387c82ffc9adc6de68f5e278d8963b80a42310ceef555", kill_on_drop: false }`
[INFO] [stdout] ef48d94d1c6d162f9a6387c82ffc9adc6de68f5e278d8963b80a42310ceef555
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 64831c576cc531464595a9f843edcda39bf679b7221ae2c009e136a7df6979ab
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "64831c576cc531464595a9f843edcda39bf679b7221ae2c009e136a7df6979ab", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.48
[INFO] [stderr]    Compiling adder v0.1.0
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling the_rust_programming_language v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `hosting` is imported redundantly
[INFO] [stdout]    --> src/lib.rs:85:9
[INFO] [stdout]     |
[INFO] [stdout] 85  |     use crate::front_of_house::hosting;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 | pub use crate::front_of_house::hosting;
[INFO] [stdout]     |         ------------------------------ the item `hosting` is already imported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/lib.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Result as IoResult`
[INFO] [stdout]    --> src/lib.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | use std::io::Result as IoResult;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow`, `cmp::Ordering`
[INFO] [stdout]    --> src/lib.rs:120:11
[INFO] [stdout]     |
[INFO] [stdout] 120 | use std::{borrow, cmp::Ordering};
[INFO] [stdout]     |           ^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `self`
[INFO] [stdout]    --> src/lib.rs:124:15
[INFO] [stdout]     |
[INFO] [stdout] 124 | use std::io::{self, Write}; // use io 本身 和 io::Write
[INFO] [stdout]     |               ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::*`
[INFO] [stdout]    --> src/lib.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | use std::collections::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order1`
[INFO] [stdout]   --> src/lib.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let order1 = back_of_house::Appetizer::Soup;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order2`
[INFO] [stdout]   --> src/lib.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let order2 = back_of_house::Appetizer::Salad;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `serve_order`
[INFO] [stdout]   --> src/lib.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn serve_order() {}
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]   --> src/lib.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn main() {}
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fix_incorrect_order`
[INFO] [stdout]   --> src/lib.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn fix_incorrect_order() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `cook_order`
[INFO] [stdout]   --> src/lib.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cook_order() {}
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `seasonal_fruit`
[INFO] [stdout]   --> src/lib.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         seasonal_fruit: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Appetizer`
[INFO] [stdout]   --> src/lib.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub enum Appetizer {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `eat_at_restaurant`
[INFO] [stdout]   --> src/lib.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn eat_at_restaurant() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `self`
[INFO] [stdout]  --> src/main.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs::{self, File};
[INFO] [stdout]   |               ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::ErrorKind`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Index`
[INFO] [stdout]  --> src/main.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::{Add, Index};
[INFO] [stdout]   |                ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]  --> src/ch03.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     /** 基本类型 */
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     // 直接的赋值能够直接推断出值的类型
[INFO] [stdout] 8 |     let a = 1; // 默认为 i32
[INFO] [stdout]   |     ---------- rustdoc does not generate documentation for statements
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/ch03.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     /** 符合类型 */
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     let _tup1: (i32, f64, u8) = (500, 6.4, 1); // 可以设置多种类型
[INFO] [stdout]    |     ------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ch03.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     /// 方法只要在作用域中声明 就能够调用(不用先声明在前)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 150 |     fun_1();
[INFO] [stdout]     |     ------- rustdoc does not generate documentation for expressions
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/ch05.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let (x) = &origin;
[INFO] [stdout]    |             ^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]    --> src/ch07/mod.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     use std::collections::HashMap; // 引入HashMap 的习惯用法 而不是 use std::collections; 在使用 collections::HashMap
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Result`
[INFO] [stdout]    --> src/ch07/mod.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         use std::fmt::Result;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Result as IoResult`
[INFO] [stdout]    --> src/ch07/mod.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         use std::io::Result as IoResult;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]    --> src/ch07/mod.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |         use std::cmp::Ordering;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]    --> src/ch07/mod.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |         use std::io;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::Ordering`, `io`
[INFO] [stdout]    --> src/ch07/mod.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout] 169 |         use std::{cmp::Ordering, io};
[INFO] [stdout]     |                   ^^^^^^^^^^^^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]    --> src/ch07/mod.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         use std::io;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]    --> src/ch07/mod.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         use std::io::Write;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `self`
[INFO] [stdout]    --> src/ch07/mod.rs:179:23
[INFO] [stdout]     |
[INFO] [stdout] 179 |         use std::io::{self, Write};
[INFO] [stdout]     |                       ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::*`
[INFO] [stdout]    --> src/ch07/mod.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |         use std::collections::*;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `self`
[INFO] [stdout]  --> src/ch08.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, File};
[INFO] [stdout]   |               ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/ch08.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::ErrorKind`
[INFO] [stdout]  --> src/ch08.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]    --> src/ch08.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 3   | use std::collections::HashMap;
[INFO] [stdout]     |     ------------------------- the item `HashMap` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 244 |         use std::collections::HashMap;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/ch09.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/ch09.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/ch08.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `a` is never read
[INFO] [stdout]    --> src/ch03.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     a = [1, 2, 3, 4, 5];
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/ch06.rs:275:18
[INFO] [stdout]     |
[INFO] [stdout] 275 |             _ => count += 1,
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/ch06.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |             count += 1;
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> src/ch10.rs:646:13
[INFO] [stdout]     |
[INFO] [stdout] 646 |             result = longest(string1.as_str(), string2.as_str());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ch04.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |         let mut s = String::from("hello world");
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ch08.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut a = String::new(); // 使用类似Vector 的方法 新建一个空的字符串
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ch08.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut s3 = s1 + &s2 + &s4; // 注意 s1 被移动了，不能继续使用
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ch10.rs:793:13
[INFO] [stdout]     |
[INFO] [stdout] 793 |         let mut s: &'static str = "I have a static lifetime.";
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private type `ch10::ch10_02_traits::Point<T, S>` in public interface (error E0446)
[INFO] [stdout]    --> src/ch10.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |             fn summarize1(&self) -> Point<T, S>;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(private_in_public)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private type `ch10::ch10_02_traits::Point<i32, f64>` in public interface (error E0446)
[INFO] [stdout]    --> src/ch10.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |             fn summarize1(&self) -> Point<i32, f64> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]  --> src/ch01.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn main() {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch02_00_guessing_game_tutorial`
[INFO] [stdout]   --> src/ch02.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn ch02_00_guessing_game_tutorial() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch03_02_data_types`
[INFO] [stdout]  --> src/ch03.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn ch03_02_data_types() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch03_03_how_functions_work`
[INFO] [stdout]    --> src/ch03.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn ch03_03_how_functions_work() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch03_05_control_flow`
[INFO] [stdout]    --> src/ch03.rs:176:8
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub fn ch03_05_control_flow() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fun_2`
[INFO] [stdout]    --> src/ch03.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn fun_2() {}
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch04_01_what_is_ownership`
[INFO] [stdout]   --> src/ch04.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn ch04_01_what_is_ownership() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch04_02_references_and_borrowing`
[INFO] [stdout]    --> src/ch04.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn ch04_02_references_and_borrowing() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch04_03_slices`
[INFO] [stdout]    --> src/ch04.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn ch04_03_slices() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch05_01_defining_structs`
[INFO] [stdout]  --> src/ch05.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn ch05_01_defining_structs() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch05_02_example_structs`
[INFO] [stdout]    --> src/ch05.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn ch05_02_example_structs() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch05_03_method_syntax`
[INFO] [stdout]    --> src/ch05.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn ch05_03_method_syntax() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch06_01_defining_an_enum`
[INFO] [stdout]  --> src/ch06.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn ch06_01_defining_an_enum() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch06_02_match`
[INFO] [stdout]    --> src/ch06.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub fn ch06_02_match() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Alabama`
[INFO] [stdout]    --> src/ch06.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 |     Alabama,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Alaska`
[INFO] [stdout]    --> src/ch06.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     Alaska,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `A1`
[INFO] [stdout]    --> src/ch06.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 |     A1(B1), // --snip--
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `B2`
[INFO] [stdout]    --> src/ch06.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     B2,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `B3`
[INFO] [stdout]    --> src/ch06.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     B3,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Coin`
[INFO] [stdout]    --> src/ch06.rs:239:6
[INFO] [stdout]     |
[INFO] [stdout] 239 | enum Coin {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch06_03_if_let`
[INFO] [stdout]    --> src/ch06.rs:247:8
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub fn ch06_03_if_let() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clarinet`
[INFO] [stdout]  --> src/ch07/mod.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 |         pub fn clarinet() {
[INFO] [stdout]   |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `breathe_in`
[INFO] [stdout]   --> src/ch07/mod.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn breathe_in() {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Vegetable`
[INFO] [stdout]   --> src/ch07/mod.rs:20:16
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub struct Vegetable {
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/ch07/mod.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 |         pub fn new(name: &str) -> Vegetable {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Appetizer`
[INFO] [stdout]   --> src/ch07/mod.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub enum Appetizer {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clarinet_trio`
[INFO] [stdout]   --> src/ch07/mod.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn clarinet_trio() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clarinet`
[INFO] [stdout]  --> src/ch07/sound1.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     pub fn clarinet() {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clarinet`
[INFO] [stdout]  --> src/ch07/sound2/instrument.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn clarinet() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]   --> src/ch07/mod.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_01_vectors`
[INFO] [stdout]   --> src/ch08.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn ch08_01_vectors() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_02_strings`
[INFO] [stdout]    --> src/ch08.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn ch08_02_strings() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_03_hash_maps`
[INFO] [stdout]    --> src/ch08.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub fn ch08_03_hash_maps() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch09_01_unrecoverable_errors_with_panic`
[INFO] [stdout]   --> src/ch09.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn ch09_01_unrecoverable_errors_with_panic() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch09_02_recoverable_errors_with_result`
[INFO] [stdout]   --> src/ch09.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn ch09_02_recoverable_errors_with_result() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch09_03_to_panic_or_not_to_panic`
[INFO] [stdout]    --> src/ch09.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub fn ch09_03_to_panic_or_not_to_panic() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch10_00_generics`
[INFO] [stdout]  --> src/ch10.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn ch10_00_generics() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `x`
[INFO] [stdout]   --> src/ch10.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             x: T,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `y`
[INFO] [stdout]   --> src/ch10.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             y: T,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `x`
[INFO] [stdout]   --> src/ch10.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             x: T,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `y`
[INFO] [stdout]   --> src/ch10.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             y: U,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Option`
[INFO] [stdout]   --> src/ch10.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 |         enum Option<T> {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Result`
[INFO] [stdout]   --> src/ch10.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |         enum Result<T, E> {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch10_02_traits`
[INFO] [stdout]    --> src/ch10.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn ch10_02_traits() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch10_03_lifetime_syntax`
[INFO] [stdout]    --> src/ch10.rs:586:8
[INFO] [stdout]     |
[INFO] [stdout] 586 | pub fn ch10_03_lifetime_syntax() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 82 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 5.91s
[INFO] running `Command { std: "docker" "inspect" "64831c576cc531464595a9f843edcda39bf679b7221ae2c009e136a7df6979ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64831c576cc531464595a9f843edcda39bf679b7221ae2c009e136a7df6979ab", kill_on_drop: false }`
[INFO] [stdout] 64831c576cc531464595a9f843edcda39bf679b7221ae2c009e136a7df6979ab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 65e97418efc2d313be04ab65e9a06ce578927996661744637bec34eb6a4d0d11
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "65e97418efc2d313be04ab65e9a06ce578927996661744637bec34eb6a4d0d11", kill_on_drop: false }`
[INFO] [stderr]    Compiling the_rust_programming_language v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `hosting` is imported redundantly
[INFO] [stdout]    --> src/lib.rs:85:9
[INFO] [stdout]     |
[INFO] [stdout] 85  |     use crate::front_of_house::hosting;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 | pub use crate::front_of_house::hosting;
[INFO] [stdout]     |         ------------------------------ the item `hosting` is already imported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/lib.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Result as IoResult`
[INFO] [stdout]    --> src/lib.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | use std::io::Result as IoResult;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow`, `cmp::Ordering`
[INFO] [stdout]    --> src/lib.rs:120:11
[INFO] [stdout]     |
[INFO] [stdout] 120 | use std::{borrow, cmp::Ordering};
[INFO] [stdout]     |           ^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `self`
[INFO] [stdout]    --> src/lib.rs:124:15
[INFO] [stdout]     |
[INFO] [stdout] 124 | use std::io::{self, Write}; // use io 本身 和 io::Write
[INFO] [stdout]     |               ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::*`
[INFO] [stdout]    --> src/lib.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | use std::collections::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order1`
[INFO] [stdout]   --> src/lib.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let order1 = back_of_house::Appetizer::Soup;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order2`
[INFO] [stdout]   --> src/lib.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let order2 = back_of_house::Appetizer::Salad;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `serve_order`
[INFO] [stdout]   --> src/lib.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn serve_order() {}
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]   --> src/lib.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn main() {}
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fix_incorrect_order`
[INFO] [stdout]   --> src/lib.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn fix_incorrect_order() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `cook_order`
[INFO] [stdout]   --> src/lib.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cook_order() {}
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `seasonal_fruit`
[INFO] [stdout]   --> src/lib.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         seasonal_fruit: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Appetizer`
[INFO] [stdout]   --> src/lib.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub enum Appetizer {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `eat_at_restaurant`
[INFO] [stdout]   --> src/lib.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn eat_at_restaurant() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `self`
[INFO] [stdout]  --> src/main.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs::{self, File};
[INFO] [stdout]   |               ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::ErrorKind`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Index`
[INFO] [stdout]  --> src/main.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::{Add, Index};
[INFO] [stdout]   |                ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]  --> src/ch03.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     /** 基本类型 */
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     // 直接的赋值能够直接推断出值的类型
[INFO] [stdout] 8 |     let a = 1; // 默认为 i32
[INFO] [stdout]   |     ---------- rustdoc does not generate documentation for statements
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/ch03.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     /** 符合类型 */
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     let _tup1: (i32, f64, u8) = (500, 6.4, 1); // 可以设置多种类型
[INFO] [stdout]    |     ------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ch03.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     /// 方法只要在作用域中声明 就能够调用(不用先声明在前)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 150 |     fun_1();
[INFO] [stdout]     |     ------- rustdoc does not generate documentation for expressions
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/ch05.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let (x) = &origin;
[INFO] [stdout]    |             ^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]    --> src/ch07/mod.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     use std::collections::HashMap; // 引入HashMap 的习惯用法 而不是 use std::collections; 在使用 collections::HashMap
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Result`
[INFO] [stdout]    --> src/ch07/mod.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         use std::fmt::Result;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Result as IoResult`
[INFO] [stdout]    --> src/ch07/mod.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         use std::io::Result as IoResult;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]    --> src/ch07/mod.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |         use std::cmp::Ordering;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]    --> src/ch07/mod.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |         use std::io;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::Ordering`, `io`
[INFO] [stdout]    --> src/ch07/mod.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout] 169 |         use std::{cmp::Ordering, io};
[INFO] [stdout]     |                   ^^^^^^^^^^^^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]    --> src/ch07/mod.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         use std::io;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]    --> src/ch07/mod.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         use std::io::Write;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `self`
[INFO] [stdout]    --> src/ch07/mod.rs:179:23
[INFO] [stdout]     |
[INFO] [stdout] 179 |         use std::io::{self, Write};
[INFO] [stdout]     |                       ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::*`
[INFO] [stdout]    --> src/ch07/mod.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |         use std::collections::*;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `self`
[INFO] [stdout]  --> src/ch08.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, File};
[INFO] [stdout]   |               ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/ch08.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::ErrorKind`
[INFO] [stdout]  --> src/ch08.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]    --> src/ch08.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 3   | use std::collections::HashMap;
[INFO] [stdout]     |     ------------------------- the item `HashMap` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 244 |         use std::collections::HashMap;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/ch09.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/ch09.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/ch08.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `a` is never read
[INFO] [stdout]    --> src/ch03.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     a = [1, 2, 3, 4, 5];
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/ch06.rs:275:18
[INFO] [stdout]     |
[INFO] [stdout] 275 |             _ => count += 1,
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/ch06.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |             count += 1;
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> src/ch10.rs:646:13
[INFO] [stdout]     |
[INFO] [stdout] 646 |             result = longest(string1.as_str(), string2.as_str());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ch04.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |         let mut s = String::from("hello world");
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ch08.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut a = String::new(); // 使用类似Vector 的方法 新建一个空的字符串
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ch08.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut s3 = s1 + &s2 + &s4; // 注意 s1 被移动了，不能继续使用
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ch10.rs:793:13
[INFO] [stdout]     |
[INFO] [stdout] 793 |         let mut s: &'static str = "I have a static lifetime.";
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private type `ch10::ch10_02_traits::Point<T, S>` in public interface (error E0446)
[INFO] [stdout]    --> src/ch10.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |             fn summarize1(&self) -> Point<T, S>;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(private_in_public)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private type `ch10::ch10_02_traits::Point<i32, f64>` in public interface (error E0446)
[INFO] [stdout]    --> src/ch10.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |             fn summarize1(&self) -> Point<i32, f64> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]  --> src/ch01.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn main() {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch02_00_guessing_game_tutorial`
[INFO] [stdout]   --> src/ch02.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn ch02_00_guessing_game_tutorial() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch03_02_data_types`
[INFO] [stdout]  --> src/ch03.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn ch03_02_data_types() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch03_03_how_functions_work`
[INFO] [stdout]    --> src/ch03.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn ch03_03_how_functions_work() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch03_05_control_flow`
[INFO] [stdout]    --> src/ch03.rs:176:8
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub fn ch03_05_control_flow() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fun_2`
[INFO] [stdout]    --> src/ch03.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn fun_2() {}
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch04_01_what_is_ownership`
[INFO] [stdout]   --> src/ch04.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn ch04_01_what_is_ownership() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch04_02_references_and_borrowing`
[INFO] [stdout]    --> src/ch04.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn ch04_02_references_and_borrowing() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch04_03_slices`
[INFO] [stdout]    --> src/ch04.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn ch04_03_slices() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch05_01_defining_structs`
[INFO] [stdout]  --> src/ch05.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn ch05_01_defining_structs() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch05_02_example_structs`
[INFO] [stdout]    --> src/ch05.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn ch05_02_example_structs() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch05_03_method_syntax`
[INFO] [stdout]    --> src/ch05.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn ch05_03_method_syntax() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch06_01_defining_an_enum`
[INFO] [stdout]  --> src/ch06.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn ch06_01_defining_an_enum() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch06_02_match`
[INFO] [stdout]    --> src/ch06.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub fn ch06_02_match() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Alabama`
[INFO] [stdout]    --> src/ch06.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 |     Alabama,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Alaska`
[INFO] [stdout]    --> src/ch06.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     Alaska,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `A1`
[INFO] [stdout]    --> src/ch06.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 |     A1(B1), // --snip--
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `B2`
[INFO] [stdout]    --> src/ch06.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     B2,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `B3`
[INFO] [stdout]    --> src/ch06.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     B3,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Coin`
[INFO] [stdout]    --> src/ch06.rs:239:6
[INFO] [stdout]     |
[INFO] [stdout] 239 | enum Coin {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch06_03_if_let`
[INFO] [stdout]    --> src/ch06.rs:247:8
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub fn ch06_03_if_let() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clarinet`
[INFO] [stdout]  --> src/ch07/mod.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 |         pub fn clarinet() {
[INFO] [stdout]   |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `breathe_in`
[INFO] [stdout]   --> src/ch07/mod.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn breathe_in() {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Vegetable`
[INFO] [stdout]   --> src/ch07/mod.rs:20:16
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub struct Vegetable {
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/ch07/mod.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 |         pub fn new(name: &str) -> Vegetable {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Appetizer`
[INFO] [stdout]   --> src/ch07/mod.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub enum Appetizer {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clarinet_trio`
[INFO] [stdout]   --> src/ch07/mod.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn clarinet_trio() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clarinet`
[INFO] [stdout]  --> src/ch07/sound1.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     pub fn clarinet() {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clarinet`
[INFO] [stdout]  --> src/ch07/sound2/instrument.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn clarinet() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]   --> src/ch07/mod.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_01_vectors`
[INFO] [stdout]   --> src/ch08.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn ch08_01_vectors() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_02_strings`
[INFO] [stdout]    --> src/ch08.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn ch08_02_strings() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_03_hash_maps`
[INFO] [stdout]    --> src/ch08.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub fn ch08_03_hash_maps() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch09_01_unrecoverable_errors_with_panic`
[INFO] [stdout]   --> src/ch09.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn ch09_01_unrecoverable_errors_with_panic() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch09_02_recoverable_errors_with_result`
[INFO] [stdout]   --> src/ch09.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn ch09_02_recoverable_errors_with_result() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch09_03_to_panic_or_not_to_panic`
[INFO] [stdout]    --> src/ch09.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub fn ch09_03_to_panic_or_not_to_panic() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch10_00_generics`
[INFO] [stdout]  --> src/ch10.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn ch10_00_generics() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `x`
[INFO] [stdout]   --> src/ch10.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             x: T,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `y`
[INFO] [stdout]   --> src/ch10.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             y: T,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `x`
[INFO] [stdout]   --> src/ch10.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             x: T,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `y`
[INFO] [stdout]   --> src/ch10.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             y: U,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Option`
[INFO] [stdout]   --> src/ch10.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 |         enum Option<T> {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Result`
[INFO] [stdout]   --> src/ch10.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |         enum Result<T, E> {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch10_02_traits`
[INFO] [stdout]    --> src/ch10.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn ch10_02_traits() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch10_03_lifetime_syntax`
[INFO] [stdout]    --> src/ch10.rs:586:8
[INFO] [stdout]     |
[INFO] [stdout] 586 | pub fn ch10_03_lifetime_syntax() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 82 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hosting` is imported redundantly
[INFO] [stdout]    --> src/lib.rs:85:9
[INFO] [stdout]     |
[INFO] [stdout] 85  |     use crate::front_of_house::hosting;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 | pub use crate::front_of_house::hosting;
[INFO] [stdout]     |         ------------------------------ the item `hosting` is already imported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/lib.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Result as IoResult`
[INFO] [stdout]    --> src/lib.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | use std::io::Result as IoResult;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow`, `cmp::Ordering`
[INFO] [stdout]    --> src/lib.rs:120:11
[INFO] [stdout]     |
[INFO] [stdout] 120 | use std::{borrow, cmp::Ordering};
[INFO] [stdout]     |           ^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `self`
[INFO] [stdout]    --> src/lib.rs:124:15
[INFO] [stdout]     |
[INFO] [stdout] 124 | use std::io::{self, Write}; // use io 本身 和 io::Write
[INFO] [stdout]     |               ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::*`
[INFO] [stdout]    --> src/lib.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 | use std::collections::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order1`
[INFO] [stdout]   --> src/lib.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let order1 = back_of_house::Appetizer::Soup;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order2`
[INFO] [stdout]   --> src/lib.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let order2 = back_of_house::Appetizer::Salad;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `serve_order`
[INFO] [stdout]   --> src/lib.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn serve_order() {}
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fix_incorrect_order`
[INFO] [stdout]   --> src/lib.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn fix_incorrect_order() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `cook_order`
[INFO] [stdout]   --> src/lib.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cook_order() {}
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `seasonal_fruit`
[INFO] [stdout]   --> src/lib.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         seasonal_fruit: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Appetizer`
[INFO] [stdout]   --> src/lib.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub enum Appetizer {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `eat_at_restaurant`
[INFO] [stdout]   --> src/lib.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn eat_at_restaurant() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `setup`
[INFO] [stdout]  --> tests/common/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn setup() {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `self`
[INFO] [stdout]  --> src/main.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs::{self, File};
[INFO] [stdout]   |               ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::ErrorKind`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Index`
[INFO] [stdout]  --> src/main.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::{Add, Index};
[INFO] [stdout]   |                ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]  --> src/ch03.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     /** 基本类型 */
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     // 直接的赋值能够直接推断出值的类型
[INFO] [stdout] 8 |     let a = 1; // 默认为 i32
[INFO] [stdout]   |     ---------- rustdoc does not generate documentation for statements
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/ch03.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     /** 符合类型 */
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     let _tup1: (i32, f64, u8) = (500, 6.4, 1); // 可以设置多种类型
[INFO] [stdout]    |     ------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ch03.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     /// 方法只要在作用域中声明 就能够调用(不用先声明在前)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 150 |     fun_1();
[INFO] [stdout]     |     ------- rustdoc does not generate documentation for expressions
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/ch05.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let (x) = &origin;
[INFO] [stdout]    |             ^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]    --> src/ch07/mod.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     use std::collections::HashMap; // 引入HashMap 的习惯用法 而不是 use std::collections; 在使用 collections::HashMap
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Result`
[INFO] [stdout]    --> src/ch07/mod.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         use std::fmt::Result;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Result as IoResult`
[INFO] [stdout]    --> src/ch07/mod.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         use std::io::Result as IoResult;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]    --> src/ch07/mod.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |         use std::cmp::Ordering;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]    --> src/ch07/mod.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |         use std::io;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::Ordering`, `io`
[INFO] [stdout]    --> src/ch07/mod.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout] 169 |         use std::{cmp::Ordering, io};
[INFO] [stdout]     |                   ^^^^^^^^^^^^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]    --> src/ch07/mod.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         use std::io;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]    --> src/ch07/mod.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         use std::io::Write;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `self`
[INFO] [stdout]    --> src/ch07/mod.rs:179:23
[INFO] [stdout]     |
[INFO] [stdout] 179 |         use std::io::{self, Write};
[INFO] [stdout]     |                       ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::*`
[INFO] [stdout]    --> src/ch07/mod.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |         use std::collections::*;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `self`
[INFO] [stdout]  --> src/ch08.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, File};
[INFO] [stdout]   |               ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/ch08.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::ErrorKind`
[INFO] [stdout]  --> src/ch08.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]    --> src/ch08.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 3   | use std::collections::HashMap;
[INFO] [stdout]     |     ------------------------- the item `HashMap` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 244 |         use std::collections::HashMap;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/ch09.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/ch09.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/ch08.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `a` is never read
[INFO] [stdout]    --> src/ch03.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     a = [1, 2, 3, 4, 5];
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/ch06.rs:275:18
[INFO] [stdout]     |
[INFO] [stdout] 275 |             _ => count += 1,
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/ch06.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |             count += 1;
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> src/ch10.rs:646:13
[INFO] [stdout]     |
[INFO] [stdout] 646 |             result = longest(string1.as_str(), string2.as_str());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ch04.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |         let mut s = String::from("hello world");
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ch08.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut a = String::new(); // 使用类似Vector 的方法 新建一个空的字符串
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ch08.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut s3 = s1 + &s2 + &s4; // 注意 s1 被移动了，不能继续使用
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ch10.rs:793:13
[INFO] [stdout]     |
[INFO] [stdout] 793 |         let mut s: &'static str = "I have a static lifetime.";
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private type `ch10::ch10_02_traits::Point<T, S>` in public interface (error E0446)
[INFO] [stdout]    --> src/ch10.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |             fn summarize1(&self) -> Point<T, S>;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(private_in_public)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private type `ch10::ch10_02_traits::Point<i32, f64>` in public interface (error E0446)
[INFO] [stdout]    --> src/ch10.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |             fn summarize1(&self) -> Point<i32, f64> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]  --> src/ch01.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn main() {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch02_00_guessing_game_tutorial`
[INFO] [stdout]   --> src/ch02.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn ch02_00_guessing_game_tutorial() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch03_02_data_types`
[INFO] [stdout]  --> src/ch03.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn ch03_02_data_types() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch03_03_how_functions_work`
[INFO] [stdout]    --> src/ch03.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn ch03_03_how_functions_work() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch03_05_control_flow`
[INFO] [stdout]    --> src/ch03.rs:176:8
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub fn ch03_05_control_flow() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fun_2`
[INFO] [stdout]    --> src/ch03.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn fun_2() {}
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch04_01_what_is_ownership`
[INFO] [stdout]   --> src/ch04.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn ch04_01_what_is_ownership() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch04_02_references_and_borrowing`
[INFO] [stdout]    --> src/ch04.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn ch04_02_references_and_borrowing() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch04_03_slices`
[INFO] [stdout]    --> src/ch04.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn ch04_03_slices() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch05_01_defining_structs`
[INFO] [stdout]  --> src/ch05.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn ch05_01_defining_structs() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch05_02_example_structs`
[INFO] [stdout]    --> src/ch05.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn ch05_02_example_structs() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch05_03_method_syntax`
[INFO] [stdout]    --> src/ch05.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn ch05_03_method_syntax() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch06_01_defining_an_enum`
[INFO] [stdout]  --> src/ch06.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn ch06_01_defining_an_enum() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch06_02_match`
[INFO] [stdout]    --> src/ch06.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub fn ch06_02_match() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Alabama`
[INFO] [stdout]    --> src/ch06.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 |     Alabama,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Alaska`
[INFO] [stdout]    --> src/ch06.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     Alaska,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `A1`
[INFO] [stdout]    --> src/ch06.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 |     A1(B1), // --snip--
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `B2`
[INFO] [stdout]    --> src/ch06.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     B2,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `B3`
[INFO] [stdout]    --> src/ch06.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     B3,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Coin`
[INFO] [stdout]    --> src/ch06.rs:239:6
[INFO] [stdout]     |
[INFO] [stdout] 239 | enum Coin {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch06_03_if_let`
[INFO] [stdout]    --> src/ch06.rs:247:8
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub fn ch06_03_if_let() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clarinet`
[INFO] [stdout]  --> src/ch07/mod.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 |         pub fn clarinet() {
[INFO] [stdout]   |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `breathe_in`
[INFO] [stdout]   --> src/ch07/mod.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn breathe_in() {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Vegetable`
[INFO] [stdout]   --> src/ch07/mod.rs:20:16
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub struct Vegetable {
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/ch07/mod.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 |         pub fn new(name: &str) -> Vegetable {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Appetizer`
[INFO] [stdout]   --> src/ch07/mod.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub enum Appetizer {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clarinet_trio`
[INFO] [stdout]   --> src/ch07/mod.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn clarinet_trio() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clarinet`
[INFO] [stdout]  --> src/ch07/sound1.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     pub fn clarinet() {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clarinet`
[INFO] [stdout]  --> src/ch07/sound2/instrument.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn clarinet() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]   --> src/ch07/mod.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_01_vectors`
[INFO] [stdout]   --> src/ch08.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn ch08_01_vectors() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_02_strings`
[INFO] [stdout]    --> src/ch08.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn ch08_02_strings() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_03_hash_maps`
[INFO] [stdout]    --> src/ch08.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub fn ch08_03_hash_maps() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch09_01_unrecoverable_errors_with_panic`
[INFO] [stdout]   --> src/ch09.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn ch09_01_unrecoverable_errors_with_panic() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch09_02_recoverable_errors_with_result`
[INFO] [stdout]   --> src/ch09.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn ch09_02_recoverable_errors_with_result() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch09_03_to_panic_or_not_to_panic`
[INFO] [stdout]    --> src/ch09.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub fn ch09_03_to_panic_or_not_to_panic() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch10_00_generics`
[INFO] [stdout]  --> src/ch10.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn ch10_00_generics() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `x`
[INFO] [stdout]   --> src/ch10.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             x: T,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `y`
[INFO] [stdout]   --> src/ch10.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             y: T,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `x`
[INFO] [stdout]   --> src/ch10.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             x: T,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `y`
[INFO] [stdout]   --> src/ch10.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             y: U,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Option`
[INFO] [stdout]   --> src/ch10.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 |         enum Option<T> {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Result`
[INFO] [stdout]   --> src/ch10.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |         enum Result<T, E> {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch10_02_traits`
[INFO] [stdout]    --> src/ch10.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn ch10_02_traits() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch10_03_lifetime_syntax`
[INFO] [stdout]    --> src/ch10.rs:586:8
[INFO] [stdout]     |
[INFO] [stdout] 586 | pub fn ch10_03_lifetime_syntax() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 82 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.67s
[INFO] running `Command { std: "docker" "inspect" "65e97418efc2d313be04ab65e9a06ce578927996661744637bec34eb6a4d0d11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "65e97418efc2d313be04ab65e9a06ce578927996661744637bec34eb6a4d0d11", kill_on_drop: false }`
[INFO] [stdout] 65e97418efc2d313be04ab65e9a06ce578927996661744637bec34eb6a4d0d11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a9b990213accba116bae348e971569a4ff48cda42a38996f2b60e3515ae81933
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a9b990213accba116bae348e971569a4ff48cda42a38996f2b60e3515ae81933", kill_on_drop: false }`
[INFO] [stderr] warning: the item `hosting` is imported redundantly
[INFO] [stderr]    --> src/lib.rs:85:9
[INFO] [stderr]     |
[INFO] [stderr] 85  |     use crate::front_of_house::hosting;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 114 | pub use crate::front_of_house::hosting;
[INFO] [stderr]     |         ------------------------------ the item `hosting` is already imported here
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt`
[INFO] [stderr]   --> src/lib.rs:96:5
[INFO] [stderr]    |
[INFO] [stderr] 96 | use std::fmt;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Result as IoResult`
[INFO] [stderr]    --> src/lib.rs:106:5
[INFO] [stderr]     |
[INFO] [stderr] 106 | use std::io::Result as IoResult;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `borrow`, `cmp::Ordering`
[INFO] [stderr]    --> src/lib.rs:120:11
[INFO] [stderr]     |
[INFO] [stderr] 120 | use std::{borrow, cmp::Ordering};
[INFO] [stderr]     |           ^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Write`, `self`
[INFO] [stderr]    --> src/lib.rs:124:15
[INFO] [stderr]     |
[INFO] [stderr] 124 | use std::io::{self, Write}; // use io 本身 和 io::Write
[INFO] [stderr]     |               ^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::*`
[INFO] [stderr]    --> src/lib.rs:127:5
[INFO] [stderr]     |
[INFO] [stderr] 127 | use std::collections::*;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `order1`
[INFO] [stderr]   --> src/lib.rs:88:13
[INFO] [stderr]    |
[INFO] [stderr] 88 |         let order1 = back_of_house::Appetizer::Soup;
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order1`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `order2`
[INFO] [stderr]   --> src/lib.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let order2 = back_of_house::Appetizer::Salad;
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order2`
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `serve_order`
[INFO] [stderr]   --> src/lib.rs:15:4
[INFO] [stderr]    |
[INFO] [stderr] 15 | fn serve_order() {}
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `main`
[INFO] [stderr]   --> src/lib.rs:17:4
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn main() {}
[INFO] [stderr]    |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `fix_incorrect_order`
[INFO] [stderr]   --> src/lib.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 21 |     fn fix_incorrect_order() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `cook_order`
[INFO] [stderr]   --> src/lib.rs:27:8
[INFO] [stderr]    |
[INFO] [stderr] 27 |     fn cook_order() {}
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `seasonal_fruit`
[INFO] [stderr]   --> src/lib.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |         seasonal_fruit: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `Appetizer`
[INFO] [stderr]   --> src/lib.rs:49:14
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub enum Appetizer {
[INFO] [stderr]    |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `eat_at_restaurant`
[INFO] [stderr]   --> src/lib.rs:87:12
[INFO] [stderr]    |
[INFO] [stderr] 87 |     pub fn eat_at_restaurant() {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 15 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: the item `hosting` is imported redundantly
[INFO] [stderr]    --> src/lib.rs:85:9
[INFO] [stderr]     |
[INFO] [stderr] 85  |     use crate::front_of_house::hosting;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 114 | pub use crate::front_of_house::hosting;
[INFO] [stderr]     |         ------------------------------ the item `hosting` is already imported here
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt`
[INFO] [stderr]   --> src/lib.rs:96:5
[INFO] [stderr]    |
[INFO] [stderr] 96 | use std::fmt;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Result as IoResult`
[INFO] [stderr]    --> src/lib.rs:106:5
[INFO] [stderr]     |
[INFO] [stderr] 106 | use std::io::Result as IoResult;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `borrow`, `cmp::Ordering`
[INFO] [stderr]    --> src/lib.rs:120:11
[INFO] [stderr]     |
[INFO] [stderr] 120 | use std::{borrow, cmp::Ordering};
[INFO] [stderr]     |           ^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Write`, `self`
[INFO] [stderr]    --> src/lib.rs:124:15
[INFO] [stderr]     |
[INFO] [stderr] 124 | use std::io::{self, Write}; // use io 本身 和 io::Write
[INFO] [stderr]     |               ^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::*`
[INFO] [stderr]    --> src/lib.rs:127:5
[INFO] [stderr]     |
[INFO] [stderr] 127 | use std::collections::*;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `order1`
[INFO] [stderr]   --> src/lib.rs:88:13
[INFO] [stderr]    |
[INFO] [stderr] 88 |         let order1 = back_of_house::Appetizer::Soup;
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order1`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `order2`
[INFO] [stderr]   --> src/lib.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let order2 = back_of_house::Appetizer::Salad;
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order2`
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `serve_order`
[INFO] [stderr]   --> src/lib.rs:15:4
[INFO] [stderr]    |
[INFO] [stderr] 15 | fn serve_order() {}
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `fix_incorrect_order`
[INFO] [stderr]   --> src/lib.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 21 |     fn fix_incorrect_order() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `cook_order`
[INFO] [stderr]   --> src/lib.rs:27:8
[INFO] [stderr]    |
[INFO] [stderr] 27 |     fn cook_order() {}
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `seasonal_fruit`
[INFO] [stderr]   --> src/lib.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |         seasonal_fruit: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `Appetizer`
[INFO] [stderr]   --> src/lib.rs:49:14
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub enum Appetizer {
[INFO] [stderr]    |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `eat_at_restaurant`
[INFO] [stderr]   --> src/lib.rs:87:12
[INFO] [stderr]    |
[INFO] [stderr] 87 |     pub fn eat_at_restaurant() {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 14 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `setup`
[INFO] [stderr]  --> tests/common/mod.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn setup() {
[INFO] [stderr]   |        ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `File`, `self`
[INFO] [stderr]  --> src/main.rs:5:15
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::fs::{self, File};
[INFO] [stderr]   |               ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> src/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::ErrorKind`
[INFO] [stderr]  --> src/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::io::ErrorKind;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]  --> src/main.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::io::Read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Add`, `Index`
[INFO] [stderr]  --> src/main.rs:9:16
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::ops::{Add, Index};
[INFO] [stderr]   |                ^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]  --> src/ch03.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 |     /** 基本类型 */
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 7 |     // 直接的赋值能够直接推断出值的类型
[INFO] [stderr] 8 |     let a = 1; // 默认为 i32
[INFO] [stderr]   |     ---------- rustdoc does not generate documentation for statements
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/ch03.rs:77:5
[INFO] [stderr]    |
[INFO] [stderr] 77 |     /** 符合类型 */
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80 |     let _tup1: (i32, f64, u8) = (500, 6.4, 1); // 可以设置多种类型
[INFO] [stderr]    |     ------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/ch03.rs:149:5
[INFO] [stderr]     |
[INFO] [stderr] 149 |     /// 方法只要在作用域中声明 就能够调用(不用先声明在前)
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 150 |     fun_1();
[INFO] [stderr]     |     ------- rustdoc does not generate documentation for expressions
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]   --> src/ch05.rs:83:13
[INFO] [stderr]    |
[INFO] [stderr] 83 |         let (x) = &origin;
[INFO] [stderr]    |             ^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]    --> src/ch07/mod.rs:103:9
[INFO] [stderr]     |
[INFO] [stderr] 103 |     use std::collections::HashMap; // 引入HashMap 的习惯用法 而不是 use std::collections; 在使用 collections::HashMap
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Result`
[INFO] [stderr]    --> src/ch07/mod.rs:122:13
[INFO] [stderr]     |
[INFO] [stderr] 122 |         use std::fmt::Result;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Result as IoResult`
[INFO] [stderr]    --> src/ch07/mod.rs:123:13
[INFO] [stderr]     |
[INFO] [stderr] 123 |         use std::io::Result as IoResult;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]    --> src/ch07/mod.rs:164:13
[INFO] [stderr]     |
[INFO] [stderr] 164 |         use std::cmp::Ordering;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]    --> src/ch07/mod.rs:165:13
[INFO] [stderr]     |
[INFO] [stderr] 165 |         use std::io;
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `cmp::Ordering`, `io`
[INFO] [stderr]    --> src/ch07/mod.rs:169:19
[INFO] [stderr]     |
[INFO] [stderr] 169 |         use std::{cmp::Ordering, io};
[INFO] [stderr]     |                   ^^^^^^^^^^^^^  ^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]    --> src/ch07/mod.rs:174:13
[INFO] [stderr]     |
[INFO] [stderr] 174 |         use std::io;
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Write`
[INFO] [stderr]    --> src/ch07/mod.rs:175:13
[INFO] [stderr]     |
[INFO] [stderr] 175 |         use std::io::Write;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Write`, `self`
[INFO] [stderr]    --> src/ch07/mod.rs:179:23
[INFO] [stderr]     |
[INFO] [stderr] 179 |         use std::io::{self, Write};
[INFO] [stderr]     |                       ^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::*`
[INFO] [stderr]    --> src/ch07/mod.rs:185:13
[INFO] [stderr]     |
[INFO] [stderr] 185 |         use std::collections::*;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `File`, `self`
[INFO] [stderr]  --> src/ch08.rs:4:15
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fs::{self, File};
[INFO] [stderr]   |               ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> src/ch08.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::ErrorKind`
[INFO] [stderr]  --> src/ch08.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io::ErrorKind;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `HashMap` is imported redundantly
[INFO] [stderr]    --> src/ch08.rs:244:13
[INFO] [stderr]     |
[INFO] [stderr] 3   | use std::collections::HashMap;
[INFO] [stderr]     |     ------------------------- the item `HashMap` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 244 |         use std::collections::HashMap;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/ch09.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::future::Future`
[INFO] [stderr]  --> src/ch09.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::future::Future;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]  --> src/ch08.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::io::Read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `a` is never read
[INFO] [stderr]    --> src/ch03.rs:118:5
[INFO] [stderr]     |
[INFO] [stderr] 118 |     a = [1, 2, 3, 4, 5];
[INFO] [stderr]     |     ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `count` is never read
[INFO] [stderr]    --> src/ch06.rs:275:18
[INFO] [stderr]     |
[INFO] [stderr] 275 |             _ => count += 1,
[INFO] [stderr]     |                  ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `count` is never read
[INFO] [stderr]    --> src/ch06.rs:285:13
[INFO] [stderr]     |
[INFO] [stderr] 285 |             count += 1;
[INFO] [stderr]     |             ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `result` is never read
[INFO] [stderr]    --> src/ch10.rs:646:13
[INFO] [stderr]     |
[INFO] [stderr] 646 |             result = longest(string1.as_str(), string2.as_str());
[INFO] [stderr]     |             ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ch04.rs:275:13
[INFO] [stderr]     |
[INFO] [stderr] 275 |         let mut s = String::from("hello world");
[INFO] [stderr]     |             ----^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ch08.rs:132:13
[INFO] [stderr]     |
[INFO] [stderr] 132 |         let mut a = String::new(); // 使用类似Vector 的方法 新建一个空的字符串
[INFO] [stderr]     |             ----^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ch08.rs:171:13
[INFO] [stderr]     |
[INFO] [stderr] 171 |         let mut s3 = s1 + &s2 + &s4; // 注意 s1 被移动了，不能继续使用
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ch10.rs:793:13
[INFO] [stderr]     |
[INFO] [stderr] 793 |         let mut s: &'static str = "I have a static lifetime.";
[INFO] [stderr]     |             ----^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `File`, `self`
[INFO] [stderr]  --> src/main.rs:5:15
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::fs::{self, File};
[INFO] [stderr]   |               ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: private type `ch10::ch10_02_traits::Point<T, S>` in public interface (error E0446)
[INFO] [stderr]    --> src/ch10.rs:188:13
[INFO] [stderr]     |
[INFO] [stderr] 188 |             fn summarize1(&self) -> Point<T, S>;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(private_in_public)]` on by default
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> src/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::ErrorKind`
[INFO] [stderr]  --> src/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::io::ErrorKind;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]  --> src/main.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::io::Read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Add`, `Index`
[INFO] [stderr]  --> src/main.rs:9:16
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::ops::{Add, Index};
[INFO] [stderr]   |                ^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: private type `ch10::ch10_02_traits::Point<i32, f64>` in public interface (error E0446)
[INFO] [stderr]    --> src/ch10.rs:206:13
[INFO] [stderr]     |
[INFO] [stderr] 206 |             fn summarize1(&self) -> Point<i32, f64> {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]  --> src/ch03.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 |     /** 基本类型 */
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 7 |     // 直接的赋值能够直接推断出值的类型
[INFO] [stderr] 8 |     let a = 1; // 默认为 i32
[INFO] [stderr]   |     ---------- rustdoc does not generate documentation for statements
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `main`
[INFO] [stderr]  --> src/ch01.rs:1:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub fn main() {
[INFO] [stderr]   |        ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/ch03.rs:77:5
[INFO] [stderr]    |
[INFO] [stderr] 77 |     /** 符合类型 */
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80 |     let _tup1: (i32, f64, u8) = (500, 6.4, 1); // 可以设置多种类型
[INFO] [stderr]    |     ------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/ch03.rs:149:5
[INFO] [stderr]     |
[INFO] [stderr] 149 |     /// 方法只要在作用域中声明 就能够调用(不用先声明在前)
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 150 |     fun_1();
[INFO] [stderr]     |     ------- rustdoc does not generate documentation for expressions
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch02_00_guessing_game_tutorial`
[INFO] [stderr]   --> src/ch02.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn ch02_00_guessing_game_tutorial() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]   --> src/ch05.rs:83:13
[INFO] [stderr]    |
[INFO] [stderr] 83 |         let (x) = &origin;
[INFO] [stderr]    |             ^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch03_02_data_types`
[INFO] [stderr]  --> src/ch03.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn ch03_02_data_types() {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]    --> src/ch07/mod.rs:103:9
[INFO] [stderr]     |
[INFO] [stderr] 103 |     use std::collections::HashMap; // 引入HashMap 的习惯用法 而不是 use std::collections; 在使用 collections::HashMap
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Result`
[INFO] [stderr]    --> src/ch07/mod.rs:122:13
[INFO] [stderr]     |
[INFO] [stderr] 122 |         use std::fmt::Result;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch03_03_how_functions_work`
[INFO] [stderr]    --> src/ch03.rs:130:8
[INFO] [stderr]     |
[INFO] [stderr] 130 | pub fn ch03_03_how_functions_work() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Result as IoResult`
[INFO] [stderr]    --> src/ch07/mod.rs:123:13
[INFO] [stderr]     |
[INFO] [stderr] 123 |         use std::io::Result as IoResult;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]    --> src/ch07/mod.rs:164:13
[INFO] [stderr]     |
[INFO] [stderr] 164 |         use std::cmp::Ordering;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch03_05_control_flow`
[INFO] [stderr]    --> src/ch03.rs:176:8
[INFO] [stderr]     |
[INFO] [stderr] 176 | pub fn ch03_05_control_flow() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]    --> src/ch07/mod.rs:165:13
[INFO] [stderr]     |
[INFO] [stderr] 165 |         use std::io;
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `fun_2`
[INFO] [stderr]    --> src/ch03.rs:252:4
[INFO] [stderr]     |
[INFO] [stderr] 252 | fn fun_2() {}
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch04_01_what_is_ownership`
[INFO] [stderr]   --> src/ch04.rs:22:8
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub fn ch04_01_what_is_ownership() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch04_02_references_and_borrowing`
[INFO] [stderr]    --> src/ch04.rs:138:8
[INFO] [stderr]     |
[INFO] [stderr] 138 | pub fn ch04_02_references_and_borrowing() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch04_03_slices`
[INFO] [stderr]    --> src/ch04.rs:229:8
[INFO] [stderr]     |
[INFO] [stderr] 229 | pub fn ch04_03_slices() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch05_01_defining_structs`
[INFO] [stderr]  --> src/ch05.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn ch05_01_defining_structs() {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch05_02_example_structs`
[INFO] [stderr]    --> src/ch05.rs:120:8
[INFO] [stderr]     |
[INFO] [stderr] 120 | pub fn ch05_02_example_structs() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch05_03_method_syntax`
[INFO] [stderr]    --> src/ch05.rs:185:8
[INFO] [stderr]     |
[INFO] [stderr] 185 | pub fn ch05_03_method_syntax() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch06_01_defining_an_enum`
[INFO] [stderr]  --> src/ch06.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn ch06_01_defining_an_enum() {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch06_02_match`
[INFO] [stderr]    --> src/ch06.rs:125:8
[INFO] [stderr]     |
[INFO] [stderr] 125 | pub fn ch06_02_match() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Alabama`
[INFO] [stderr]    --> src/ch06.rs:227:5
[INFO] [stderr]     |
[INFO] [stderr] 227 |     Alabama,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Alaska`
[INFO] [stderr]    --> src/ch06.rs:228:5
[INFO] [stderr]     |
[INFO] [stderr] 228 |     Alaska,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `A1`
[INFO] [stderr]    --> src/ch06.rs:229:5
[INFO] [stderr]     |
[INFO] [stderr] 229 |     A1(B1), // --snip--
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `B2`
[INFO] [stderr]    --> src/ch06.rs:234:5
[INFO] [stderr]     |
[INFO] [stderr] 234 |     B2,
[INFO] [stderr]     |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `B3`
[INFO] [stderr]    --> src/ch06.rs:235:5
[INFO] [stderr]     |
[INFO] [stderr] 235 |     B3,
[INFO] [stderr]     |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `Coin`
[INFO] [stderr]    --> src/ch06.rs:239:6
[INFO] [stderr]     |
[INFO] [stderr] 239 | enum Coin {
[INFO] [stderr]     |      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch06_03_if_let`
[INFO] [stderr]    --> src/ch06.rs:247:8
[INFO] [stderr]     |
[INFO] [stderr] 247 | pub fn ch06_03_if_let() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `clarinet`
[INFO] [stderr]  --> src/ch07/mod.rs:5:16
[INFO] [stderr]   |
[INFO] [stderr] 5 |         pub fn clarinet() {
[INFO] [stderr]   |                ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `breathe_in`
[INFO] [stderr]   --> src/ch07/mod.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 |     fn breathe_in() {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Vegetable`
[INFO] [stderr]   --> src/ch07/mod.rs:20:16
[INFO] [stderr]    |
[INFO] [stderr] 20 |     pub struct Vegetable {
[INFO] [stderr]    |                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/ch07/mod.rs:26:16
[INFO] [stderr]    |
[INFO] [stderr] 26 |         pub fn new(name: &str) -> Vegetable {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `Appetizer`
[INFO] [stderr]   --> src/ch07/mod.rs:37:14
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub enum Appetizer {
[INFO] [stderr]    |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `clarinet_trio`
[INFO] [stderr]   --> src/ch07/mod.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub fn clarinet_trio() {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `clarinet`
[INFO] [stderr]  --> src/ch07/sound1.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 |     pub fn clarinet() {
[INFO] [stderr]   |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `clarinet`
[INFO] [stderr]  --> src/ch07/sound2/instrument.rs:1:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub fn clarinet() {
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `main`
[INFO] [stderr]   --> src/ch07/mod.rs:64:8
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub fn main() {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch08_01_vectors`
[INFO] [stderr]   --> src/ch08.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn ch08_01_vectors() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch08_02_strings`
[INFO] [stderr]    --> src/ch08.rs:122:8
[INFO] [stderr]     |
[INFO] [stderr] 122 | pub fn ch08_02_strings() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch08_03_hash_maps`
[INFO] [stderr]    --> src/ch08.rs:237:8
[INFO] [stderr]     |
[INFO] [stderr] 237 | pub fn ch08_03_hash_maps() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch09_01_unrecoverable_errors_with_panic`
[INFO] [stderr]   --> src/ch09.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn ch09_01_unrecoverable_errors_with_panic() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch09_02_recoverable_errors_with_result`
[INFO] [stderr]   --> src/ch09.rs:31:8
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub fn ch09_02_recoverable_errors_with_result() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch09_03_to_panic_or_not_to_panic`
[INFO] [stderr]    --> src/ch09.rs:175:8
[INFO] [stderr]     |
[INFO] [stderr] 175 | pub fn ch09_03_to_panic_or_not_to_panic() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch10_00_generics`
[INFO] [stderr]  --> src/ch10.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn ch10_00_generics() {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `x`
[INFO] [stderr]   --> src/ch10.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |             x: T,
[INFO] [stderr]    |             ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `y`
[INFO] [stderr]   --> src/ch10.rs:37:13
[INFO] [stderr]    |
[INFO] [stderr] 37 |             y: T,
[INFO] [stderr]    |             ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `x`
[INFO] [stderr]   --> src/ch10.rs:45:13
[INFO] [stderr]    |
[INFO] [stderr] 45 |             x: T,
[INFO] [stderr]    |             ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `y`
[INFO] [stderr]   --> src/ch10.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |             y: U,
[INFO] [stderr]    |             ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `Option`
[INFO] [stderr]   --> src/ch10.rs:54:14
[INFO] [stderr]    |
[INFO] [stderr] 54 |         enum Option<T> {
[INFO] [stderr]    |              ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `Result`
[INFO] [stderr]   --> src/ch10.rs:58:14
[INFO] [stderr]    |
[INFO] [stderr] 58 |         enum Result<T, E> {
[INFO] [stderr]    |              ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch10_02_traits`
[INFO] [stderr]    --> src/ch10.rs:127:8
[INFO] [stderr]     |
[INFO] [stderr] 127 | pub fn ch10_02_traits() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch10_03_lifetime_syntax`
[INFO] [stderr]    --> src/ch10.rs:586:8
[INFO] [stderr]     |
[INFO] [stderr] 586 | pub fn ch10_03_lifetime_syntax() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 82 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `cmp::Ordering`, `io`
[INFO] [stderr]    --> src/ch07/mod.rs:169:19
[INFO] [stderr]     |
[INFO] [stderr] 169 |         use std::{cmp::Ordering, io};
[INFO] [stderr]     |                   ^^^^^^^^^^^^^  ^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]    --> src/ch07/mod.rs:174:13
[INFO] [stderr]     |
[INFO] [stderr] 174 |         use std::io;
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Write`
[INFO] [stderr]    --> src/ch07/mod.rs:175:13
[INFO] [stderr]     |
[INFO] [stderr] 175 |         use std::io::Write;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Write`, `self`
[INFO] [stderr]    --> src/ch07/mod.rs:179:23
[INFO] [stderr]     |
[INFO] [stderr] 179 |         use std::io::{self, Write};
[INFO] [stderr]     |                       ^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::*`
[INFO] [stderr]    --> src/ch07/mod.rs:185:13
[INFO] [stderr]     |
[INFO] [stderr] 185 |         use std::collections::*;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `File`, `self`
[INFO] [stderr]  --> src/ch08.rs:4:15
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fs::{self, File};
[INFO] [stderr]   |               ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> src/ch08.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::ErrorKind`
[INFO] [stderr]  --> src/ch08.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io::ErrorKind;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `HashMap` is imported redundantly
[INFO] [stderr]    --> src/ch08.rs:244:13
[INFO] [stderr]     |
[INFO] [stderr] 3   | use std::collections::HashMap;
[INFO] [stderr]     |     ------------------------- the item `HashMap` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 244 |         use std::collections::HashMap;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/ch09.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::future::Future`
[INFO] [stderr]  --> src/ch09.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::future::Future;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]  --> src/ch08.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::io::Read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `a` is never read
[INFO] [stderr]    --> src/ch03.rs:118:5
[INFO] [stderr]     |
[INFO] [stderr] 118 |     a = [1, 2, 3, 4, 5];
[INFO] [stderr]     |     ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `count` is never read
[INFO] [stderr]    --> src/ch06.rs:275:18
[INFO] [stderr]     |
[INFO] [stderr] 275 |             _ => count += 1,
[INFO] [stderr]     |                  ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `count` is never read
[INFO] [stderr]    --> src/ch06.rs:285:13
[INFO] [stderr]     |
[INFO] [stderr] 285 |             count += 1;
[INFO] [stderr]     |             ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `result` is never read
[INFO] [stderr]    --> src/ch10.rs:646:13
[INFO] [stderr]     |
[INFO] [stderr] 646 |             result = longest(string1.as_str(), string2.as_str());
[INFO] [stderr]     |             ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ch04.rs:275:13
[INFO] [stderr]     |
[INFO] [stderr] 275 |         let mut s = String::from("hello world");
[INFO] [stderr]     |             ----^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ch08.rs:132:13
[INFO] [stderr]     |
[INFO] [stderr] 132 |         let mut a = String::new(); // 使用类似Vector 的方法 新建一个空的字符串
[INFO] [stderr]     |             ----^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ch08.rs:171:13
[INFO] [stderr]     |
[INFO] [stderr] 171 |         let mut s3 = s1 + &s2 + &s4; // 注意 s1 被移动了，不能继续使用
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ch10.rs:793:13
[INFO] [stderr]     |
[INFO] [stderr] 793 |         let mut s: &'static str = "I have a static lifetime.";
[INFO] [stderr]     |             ----^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: private type `ch10::ch10_02_traits::Point<T, S>` in public interface (error E0446)
[INFO] [stderr]    --> src/ch10.rs:188:13
[INFO] [stderr]     |
[INFO] [stderr] 188 |             fn summarize1(&self) -> Point<T, S>;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(private_in_public)]` on by default
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
[INFO] [stderr] 
[INFO] [stderr] warning: private type `ch10::ch10_02_traits::Point<i32, f64>` in public interface (error E0446)
[INFO] [stderr]    --> src/ch10.rs:206:13
[INFO] [stderr]     |
[INFO] [stderr] 206 |             fn summarize1(&self) -> Point<i32, f64> {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `main`
[INFO] [stderr]  --> src/ch01.rs:1:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub fn main() {
[INFO] [stderr]   |        ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch02_00_guessing_game_tutorial`
[INFO] [stderr]   --> src/ch02.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn ch02_00_guessing_game_tutorial() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch03_02_data_types`
[INFO] [stderr]  --> src/ch03.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn ch03_02_data_types() {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch03_03_how_functions_work`
[INFO] [stderr]    --> src/ch03.rs:130:8
[INFO] [stderr]     |
[INFO] [stderr] 130 | pub fn ch03_03_how_functions_work() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch03_05_control_flow`
[INFO] [stderr]    --> src/ch03.rs:176:8
[INFO] [stderr]     |
[INFO] [stderr] 176 | pub fn ch03_05_control_flow() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `fun_2`
[INFO] [stderr]    --> src/ch03.rs:252:4
[INFO] [stderr]     |
[INFO] [stderr] 252 | fn fun_2() {}
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch04_01_what_is_ownership`
[INFO] [stderr]   --> src/ch04.rs:22:8
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub fn ch04_01_what_is_ownership() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch04_02_references_and_borrowing`
[INFO] [stderr]    --> src/ch04.rs:138:8
[INFO] [stderr]     |
[INFO] [stderr] 138 | pub fn ch04_02_references_and_borrowing() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch04_03_slices`
[INFO] [stderr]    --> src/ch04.rs:229:8
[INFO] [stderr]     |
[INFO] [stderr] 229 | pub fn ch04_03_slices() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch05_01_defining_structs`
[INFO] [stderr]  --> src/ch05.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn ch05_01_defining_structs() {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch05_02_example_structs`
[INFO] [stderr]    --> src/ch05.rs:120:8
[INFO] [stderr]     |
[INFO] [stderr] 120 | pub fn ch05_02_example_structs() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch05_03_method_syntax`
[INFO] [stderr]    --> src/ch05.rs:185:8
[INFO] [stderr]     |
[INFO] [stderr] 185 | pub fn ch05_03_method_syntax() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch06_01_defining_an_enum`
[INFO] [stderr]  --> src/ch06.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn ch06_01_defining_an_enum() {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch06_02_match`
[INFO] [stderr]    --> src/ch06.rs:125:8
[INFO] [stderr]     |
[INFO] [stderr] 125 | pub fn ch06_02_match() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Alabama`
[INFO] [stderr]    --> src/ch06.rs:227:5
[INFO] [stderr]     |
[INFO] [stderr] 227 |     Alabama,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Alaska`
[INFO] [stderr]    --> src/ch06.rs:228:5
[INFO] [stderr]     |
[INFO] [stderr] 228 |     Alaska,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `A1`
[INFO] [stderr]    --> src/ch06.rs:229:5
[INFO] [stderr]     |
[INFO] [stderr] 229 |     A1(B1), // --snip--
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `B2`
[INFO] [stderr]    --> src/ch06.rs:234:5
[INFO] [stderr]     |
[INFO] [stderr] 234 |     B2,
[INFO] [stderr]     |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `B3`
[INFO] [stderr]    --> src/ch06.rs:235:5
[INFO] [stderr]     |
[INFO] [stderr] 235 |     B3,
[INFO] [stderr]     |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `Coin`
[INFO] [stderr]    --> src/ch06.rs:239:6
[INFO] [stderr]     |
[INFO] [stderr] 239 | enum Coin {
[INFO] [stderr]     |      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch06_03_if_let`
[INFO] [stderr]    --> src/ch06.rs:247:8
[INFO] [stderr]     |
[INFO] [stderr] 247 | pub fn ch06_03_if_let() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `clarinet`
[INFO] [stderr]  --> src/ch07/mod.rs:5:16
[INFO] [stderr]   |
[INFO] [stderr] 5 |         pub fn clarinet() {
[INFO] [stderr]   |                ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `breathe_in`
[INFO] [stderr]   --> src/ch07/mod.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 |     fn breathe_in() {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Vegetable`
[INFO] [stderr]   --> src/ch07/mod.rs:20:16
[INFO] [stderr]    |
[INFO] [stderr] 20 |     pub struct Vegetable {
[INFO] [stderr]    |                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/ch07/mod.rs:26:16
[INFO] [stderr]    |
[INFO] [stderr] 26 |         pub fn new(name: &str) -> Vegetable {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `Appetizer`
[INFO] [stderr]   --> src/ch07/mod.rs:37:14
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub enum Appetizer {
[INFO] [stderr]    |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `clarinet_trio`
[INFO] [stderr]   --> src/ch07/mod.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub fn clarinet_trio() {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `clarinet`
[INFO] [stderr]  --> src/ch07/sound1.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 |     pub fn clarinet() {
[INFO] [stderr]   |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `clarinet`
[INFO] [stderr]  --> src/ch07/sound2/instrument.rs:1:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub fn clarinet() {
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `main`
[INFO] [stderr]   --> src/ch07/mod.rs:64:8
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub fn main() {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch08_01_vectors`
[INFO] [stderr]   --> src/ch08.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn ch08_01_vectors() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch08_02_strings`
[INFO] [stderr]    --> src/ch08.rs:122:8
[INFO] [stderr]     |
[INFO] [stderr] 122 | pub fn ch08_02_strings() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch08_03_hash_maps`
[INFO] [stderr]    --> src/ch08.rs:237:8
[INFO] [stderr]     |
[INFO] [stderr] 237 | pub fn ch08_03_hash_maps() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch09_01_unrecoverable_errors_with_panic`
[INFO] [stderr]   --> src/ch09.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn ch09_01_unrecoverable_errors_with_panic() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch09_02_recoverable_errors_with_result`
[INFO] [stderr]   --> src/ch09.rs:31:8
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub fn ch09_02_recoverable_errors_with_result() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch09_03_to_panic_or_not_to_panic`
[INFO] [stderr]    --> src/ch09.rs:175:8
[INFO] [stderr]     |
[INFO] [stderr] 175 | pub fn ch09_03_to_panic_or_not_to_panic() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch10_00_generics`
[INFO] [stderr]  --> src/ch10.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn ch10_00_generics() {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `x`
[INFO] [stderr]   --> src/ch10.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |             x: T,
[INFO] [stderr]    |             ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `y`
[INFO] [stderr]   --> src/ch10.rs:37:13
[INFO] [stderr]    |
[INFO] [stderr] 37 |             y: T,
[INFO] [stderr]    |             ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `x`
[INFO] [stderr]   --> src/ch10.rs:45:13
[INFO] [stderr]    |
[INFO] [stderr] 45 |             x: T,
[INFO] [stderr]    |             ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `y`
[INFO] [stderr]   --> src/ch10.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |             y: U,
[INFO] [stderr]    |             ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `Option`
[INFO] [stderr]   --> src/ch10.rs:54:14
[INFO] [stderr]    |
[INFO] [stderr] 54 |         enum Option<T> {
[INFO] [stderr]    |              ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `Result`
[INFO] [stderr]   --> src/ch10.rs:58:14
[INFO] [stderr]    |
[INFO] [stderr] 58 |         enum Result<T, E> {
[INFO] [stderr]    |              ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch10_02_traits`
[INFO] [stderr]    --> src/ch10.rs:127:8
[INFO] [stderr]     |
[INFO] [stderr] 127 | pub fn ch10_02_traits() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `ch10_03_lifetime_syntax`
[INFO] [stderr]    --> src/ch10.rs:586:8
[INFO] [stderr]     |
[INFO] [stderr] 586 | pub fn ch10_03_lifetime_syntax() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 82 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/the_rust_programming_language-707a735bc6577ec5
[INFO] [stdout] 
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/the_rust_programming_language-520c5bcf89c5c80f
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/integration_test-b005d7af21fc35d3
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]    Doc-tests the_rust_programming_language
[INFO] [stdout] test it_adds_two ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a9b990213accba116bae348e971569a4ff48cda42a38996f2b60e3515ae81933", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a9b990213accba116bae348e971569a4ff48cda42a38996f2b60e3515ae81933", kill_on_drop: false }`
[INFO] [stdout] a9b990213accba116bae348e971569a4ff48cda42a38996f2b60e3515ae81933
