[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] 8b384b2406dda6533877ea4f76c753583f8226c7
[INFO] checking DreamLarva/learn-rust against beta-2021-10-15 for beta-1.56-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDreamLarva%2Flearn-rust" "/workspace/builds/worker-39/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-39/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/DreamLarva/learn-rust on toolchain beta-2021-10-15
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", 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-39/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" "+beta-2021-10-15" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c188025c48d8293d24bcc844e65bff9ec9fa3b304a67543a11657fceec4550f3
[INFO] running `Command { std: "docker" "start" "-a" "c188025c48d8293d24bcc844e65bff9ec9fa3b304a67543a11657fceec4550f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c188025c48d8293d24bcc844e65bff9ec9fa3b304a67543a11657fceec4550f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c188025c48d8293d24bcc844e65bff9ec9fa3b304a67543a11657fceec4550f3", kill_on_drop: false }`
[INFO] [stdout] c188025c48d8293d24bcc844e65bff9ec9fa3b304a67543a11657fceec4550f3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 033b4d5816291ab133bc2c4094f477fd1c2e205a7fe4f324e3b6813020d0a7fa
[INFO] running `Command { std: "docker" "start" "-a" "033b4d5816291ab133bc2c4094f477fd1c2e205a7fe4f324e3b6813020d0a7fa", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling libc v0.2.88
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking rand_core v0.6.2
[INFO] [stderr]     Checking add-one v0.1.0 (/opt/rustwide/workdir/add-one)
[INFO] [stderr]     Checking adder v0.1.0 (/opt/rustwide/workdir/adder)
[INFO] [stderr]     Checking rand_chacha v0.3.0
[INFO] [stderr]     Checking rand v0.8.3
[INFO] [stderr]     Checking the_rust_programming_language v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `hosting` is imported redundantly
[INFO] [stdout]    --> src/lib.rs:93:9
[INFO] [stdout]     |
[INFO] [stdout] 93  |     use crate::front_of_house::hosting;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 | 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:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | use std::fmt;
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Result as IoResult`
[INFO] [stdout]    --> src/lib.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | 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:128:11
[INFO] [stdout]     |
[INFO] [stdout] 128 | use std::{borrow, cmp::Ordering};
[INFO] [stdout]     |           ^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `self`
[INFO] [stdout]    --> src/lib.rs:132:15
[INFO] [stdout]     |
[INFO] [stdout] 132 | 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:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 | use std::collections::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process`
[INFO] [stdout]    --> src/lib.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | use std::process;
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order1`
[INFO] [stdout]   --> src/lib.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         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:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         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: unused variable: `c1`
[INFO] [stdout]    --> src/lib.rs:311:16
[INFO] [stdout]     |
[INFO] [stdout] 311 |     pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
[INFO] [stdout]     |                ^^ help: if this is intentional, prefix it with an underscore: `_c1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c2`
[INFO] [stdout]    --> src/lib.rs:311:34
[INFO] [stdout]     |
[INFO] [stdout] 311 |     pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
[INFO] [stdout]     |                                  ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `serve_order`
[INFO] [stdout]   --> src/lib.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | 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:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn main() {}
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fix_incorrect_order`
[INFO] [stdout]   --> src/lib.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn fix_incorrect_order() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `cook_order`
[INFO] [stdout]   --> src/lib.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn cook_order() {}
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `seasonal_fruit`
[INFO] [stdout]   --> src/lib.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         seasonal_fruit: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Appetizer`
[INFO] [stdout]   --> src/lib.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub enum Appetizer {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `eat_at_restaurant`
[INFO] [stdout]   --> src/lib.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn eat_at_restaurant() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hosting` is imported redundantly
[INFO] [stdout]    --> src/lib.rs:93:9
[INFO] [stdout]     |
[INFO] [stdout] 93  |     use crate::front_of_house::hosting;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 | 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:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | use std::fmt;
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Result as IoResult`
[INFO] [stdout]    --> src/lib.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | 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:128:11
[INFO] [stdout]     |
[INFO] [stdout] 128 | use std::{borrow, cmp::Ordering};
[INFO] [stdout]     |           ^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `self`
[INFO] [stdout]    --> src/lib.rs:132:15
[INFO] [stdout]     |
[INFO] [stdout] 132 | 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:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 | use std::collections::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process`
[INFO] [stdout]    --> src/lib.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | use std::process;
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order1`
[INFO] [stdout]   --> src/lib.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         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:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         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: unused variable: `c1`
[INFO] [stdout]    --> src/lib.rs:311:16
[INFO] [stdout]     |
[INFO] [stdout] 311 |     pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
[INFO] [stdout]     |                ^^ help: if this is intentional, prefix it with an underscore: `_c1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c2`
[INFO] [stdout]    --> src/lib.rs:311:34
[INFO] [stdout]     |
[INFO] [stdout] 311 |     pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
[INFO] [stdout]     |                                  ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `serve_order`
[INFO] [stdout]   --> src/lib.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | 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:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn fix_incorrect_order() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `cook_order`
[INFO] [stdout]   --> src/lib.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn cook_order() {}
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `seasonal_fruit`
[INFO] [stdout]   --> src/lib.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         seasonal_fruit: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Appetizer`
[INFO] [stdout]   --> src/lib.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub enum Appetizer {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `eat_at_restaurant`
[INFO] [stdout]   --> src/lib.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn eat_at_restaurant() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `adder`
[INFO] [stdout]  --> tests/integration_test.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use adder;
[INFO] [stdout]   |     ^^^^^ no external crate `adder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `the_rust_programming_language` due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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::ErrorKind`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Index`
[INFO] [stdout]  --> src/main.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Add, Index};
[INFO] [stdout]   |                ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `env`, `io`, `process`
[INFO] [stdout]  --> src/main.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{env, io, process};
[INFO] [stdout]   |           ^^^  ^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/ch02.rs:17:54
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let secret_number = rand::thread_rng().gen_range((1..=100)); // 这个也能运行
[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 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]   = help: use `/* */` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/ch03.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     /** 复合类型 */
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     let _tup1: (i32, f64, u8) = (500, 6.4, 1); // 可以设置多种类型
[INFO] [stdout]    |     ------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `/* */` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ch03.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     /// 方法只要在作用域中声明 就能够调用(不用先声明在前)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 154 |     fun_1();
[INFO] [stdout]     |     ------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[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] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/ch07/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use std::any::Any;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]    --> src/ch07/mod.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     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:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         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:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         use std::io::Result as IoResult;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/ch07/mod.rs:174:58
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let secret_number = rand::thread_rng().gen_range((1..100));
[INFO] [stdout]     |                                                          ^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/ch07/mod.rs:175:58
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let secret_number = rand::thread_rng().gen_range((1..=100));
[INFO] [stdout]     |                                                          ^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]    --> src/ch07/mod.rs:182:13
[INFO] [stdout]     |
[INFO] [stdout] 182 |         use std::cmp::Ordering;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]    --> src/ch07/mod.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         use std::io;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::Ordering`, `io`
[INFO] [stdout]    --> src/ch07/mod.rs:187:19
[INFO] [stdout]     |
[INFO] [stdout] 187 |         use std::{cmp::Ordering, io};
[INFO] [stdout]     |                   ^^^^^^^^^^^^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]    --> src/ch07/mod.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |         use std::io;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]    --> src/ch07/mod.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |         use std::io::Write;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `self`
[INFO] [stdout]    --> src/ch07/mod.rs:197:23
[INFO] [stdout]     |
[INFO] [stdout] 197 |         use std::io::{self, Write};
[INFO] [stdout]     |                       ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::*`
[INFO] [stdout]    --> src/ch07/mod.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         use std::collections::*;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `self`
[INFO] [stdout]  --> src/ch08_hashmap.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_hashmap.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_hashmap.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/ch08_hashmap.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/ch08_hashmap.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]   --> src/ch08_hashmap.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 3  | use std::collections::*;
[INFO] [stdout]    |     ------------------- the item `HashMap` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 17 |         use std::collections::HashMap;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::*`
[INFO] [stdout]  --> src/ch08_string.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `self`
[INFO] [stdout]  --> src/ch08_string.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_string.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_string.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::*`
[INFO] [stdout]  --> src/ch08_vec.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `self`
[INFO] [stdout]  --> src/ch08_vec.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_vec.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_vec.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/ch08_vec.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/ch08_vec.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `io` is imported redundantly
[INFO] [stdout]    --> src/ch08_vec.rs:276:23
[INFO] [stdout]     |
[INFO] [stdout] 5   | use std::io;
[INFO] [stdout]     |     ------- the item `io` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 276 |         use std::io::{self, Write};
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ch08_vec.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 | /     /// ```
[INFO] [stdout] 330 | |     /// pub fn dedup_by_key<F, K>(&mut self, key: F)
[INFO] [stdout] 331 | |     /// where
[INFO] [stdout] 332 | |     ///     F: FnMut(&mut T) -> K,
[INFO] [stdout] 333 | |     ///     K: PartialEq<K>,
[INFO] [stdout] 334 | |     /// ```
[INFO] [stdout] 335 | |     /// 移除vec中 调用F方法后 相同返回值中的多余一个的其他元素
[INFO] [stdout]     | |______________________________________________________________^
[INFO] [stdout] 336 | /     {
[INFO] [stdout] 337 | |         let mut vec = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
[INFO] [stdout] 338 | |
[INFO] [stdout] 339 | |         vec.dedup_by_key(|i| *i / 10);
[INFO] [stdout] ...   |
[INFO] [stdout] 344 | |         assert_eq!(vec, [1, 10]);
[INFO] [stdout] 345 | |     }
[INFO] [stdout]     | |_____- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[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: `Ref`
[INFO] [stdout]  --> src/ch15_04.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::{Ref, RefCell};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::read_volatile`
[INFO] [stdout]   --> src/ch16.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use std::ptr::read_volatile;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/ch16.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `mpsc` is imported redundantly
[INFO] [stdout]   --> src/ch16.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 49 | use std::sync::{mpsc, Arc};
[INFO] [stdout]    |                 ---- the item `mpsc` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 79 |         use std::sync::mpsc;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `thread` is imported redundantly
[INFO] [stdout]   --> src/ch16.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::thread;
[INFO] [stdout]    |     ----------- the item `thread` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 80 |         use std::thread;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Duration` is imported redundantly
[INFO] [stdout]   --> src/ch16.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 2  | use std::time::Duration;
[INFO] [stdout]    |     ------------------- the item `Duration` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 81 |         use std::time::Duration;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/ch17.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefCell`, `Ref`
[INFO] [stdout]   --> src/main.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::cell::{Ref, RefCell};
[INFO] [stdout]    |                 ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `the_rust_programming_language::Config`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use the_rust_programming_language::Config;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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::ErrorKind`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Index`
[INFO] [stdout]  --> src/main.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Add, Index};
[INFO] [stdout]   |                ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `env`, `io`, `process`
[INFO] [stdout]  --> src/main.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{env, io, process};
[INFO] [stdout]   |           ^^^  ^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/ch02.rs:17:54
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let secret_number = rand::thread_rng().gen_range((1..=100)); // 这个也能运行
[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 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]   = help: use `/* */` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/ch03.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     /** 复合类型 */
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     let _tup1: (i32, f64, u8) = (500, 6.4, 1); // 可以设置多种类型
[INFO] [stdout]    |     ------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `/* */` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ch03.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     /// 方法只要在作用域中声明 就能够调用(不用先声明在前)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 154 |     fun_1();
[INFO] [stdout]     |     ------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[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] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/ch07/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use std::any::Any;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]    --> src/ch07/mod.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     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:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         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:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         use std::io::Result as IoResult;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/ch07/mod.rs:174:58
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let secret_number = rand::thread_rng().gen_range((1..100));
[INFO] [stdout]     |                                                          ^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/ch07/mod.rs:175:58
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let secret_number = rand::thread_rng().gen_range((1..=100));
[INFO] [stdout]     |                                                          ^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]    --> src/ch07/mod.rs:182:13
[INFO] [stdout]     |
[INFO] [stdout] 182 |         use std::cmp::Ordering;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]    --> src/ch07/mod.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         use std::io;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::Ordering`, `io`
[INFO] [stdout]    --> src/ch07/mod.rs:187:19
[INFO] [stdout]     |
[INFO] [stdout] 187 |         use std::{cmp::Ordering, io};
[INFO] [stdout]     |                   ^^^^^^^^^^^^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]    --> src/ch07/mod.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |         use std::io;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]    --> src/ch07/mod.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |         use std::io::Write;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `self`
[INFO] [stdout]    --> src/ch07/mod.rs:197:23
[INFO] [stdout]     |
[INFO] [stdout] 197 |         use std::io::{self, Write};
[INFO] [stdout]     |                       ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::*`
[INFO] [stdout]    --> src/ch07/mod.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         use std::collections::*;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `self`
[INFO] [stdout]  --> src/ch08_hashmap.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_hashmap.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_hashmap.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/ch08_hashmap.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/ch08_hashmap.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HashMap` is imported redundantly
[INFO] [stdout]   --> src/ch08_hashmap.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 3  | use std::collections::*;
[INFO] [stdout]    |     ------------------- the item `HashMap` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 17 |         use std::collections::HashMap;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::*`
[INFO] [stdout]  --> src/ch08_string.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `self`
[INFO] [stdout]  --> src/ch08_string.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_string.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_string.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::*`
[INFO] [stdout]  --> src/ch08_vec.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `self`
[INFO] [stdout]  --> src/ch08_vec.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_vec.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_vec.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::ErrorKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/ch08_vec.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/ch08_vec.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `io` is imported redundantly
[INFO] [stdout]    --> src/ch08_vec.rs:276:23
[INFO] [stdout]     |
[INFO] [stdout] 5   | use std::io;
[INFO] [stdout]     |     ------- the item `io` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 276 |         use std::io::{self, Write};
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ch08_vec.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 | /     /// ```
[INFO] [stdout] 330 | |     /// pub fn dedup_by_key<F, K>(&mut self, key: F)
[INFO] [stdout] 331 | |     /// where
[INFO] [stdout] 332 | |     ///     F: FnMut(&mut T) -> K,
[INFO] [stdout] 333 | |     ///     K: PartialEq<K>,
[INFO] [stdout] 334 | |     /// ```
[INFO] [stdout] 335 | |     /// 移除vec中 调用F方法后 相同返回值中的多余一个的其他元素
[INFO] [stdout]     | |______________________________________________________________^
[INFO] [stdout] 336 | /     {
[INFO] [stdout] 337 | |         let mut vec = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
[INFO] [stdout] 338 | |
[INFO] [stdout] 339 | |         vec.dedup_by_key(|i| *i / 10);
[INFO] [stdout] ...   |
[INFO] [stdout] 344 | |         assert_eq!(vec, [1, 10]);
[INFO] [stdout] 345 | |     }
[INFO] [stdout]     | |_____- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[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: `Ref`
[INFO] [stdout]  --> src/ch15_04.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::{Ref, RefCell};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::read_volatile`
[INFO] [stdout]   --> src/ch16.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use std::ptr::read_volatile;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/ch16.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `mpsc` is imported redundantly
[INFO] [stdout]   --> src/ch16.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 49 | use std::sync::{mpsc, Arc};
[INFO] [stdout]    |                 ---- the item `mpsc` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 79 |         use std::sync::mpsc;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `thread` is imported redundantly
[INFO] [stdout]   --> src/ch16.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::thread;
[INFO] [stdout]    |     ----------- the item `thread` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 80 |         use std::thread;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Duration` is imported redundantly
[INFO] [stdout]   --> src/ch16.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 2  | use std::time::Duration;
[INFO] [stdout]    |     ------------------- the item `Duration` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 81 |         use std::time::Duration;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/ch17.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefCell`, `Ref`
[INFO] [stdout]   --> src/main.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::cell::{Ref, RefCell};
[INFO] [stdout]    |                 ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `the_rust_programming_language::Config`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use the_rust_programming_language::Config;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/ch08_string.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ch08_vec.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |             Float => (),
[INFO] [stdout]     |             ----- matches any value
[INFO] [stdout] 127 |             Text => (),
[INFO] [stdout]     |             ^^^^ unreachable pattern
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ch08_vec.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |             Float => (),
[INFO] [stdout]     |             ----- matches any value
[INFO] [stdout] 127 |             Text => (),
[INFO] [stdout] 128 |             Int => (),
[INFO] [stdout]     |             ^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `a` is never read
[INFO] [stdout]    --> src/ch03.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     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:276:18
[INFO] [stdout]     |
[INFO] [stdout] 276 |             _ => 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:286:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |             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:654:13
[INFO] [stdout]     |
[INFO] [stdout] 654 |             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:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |         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_string.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         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_string.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let mut s3 = s1 + &s2 + &s4; // 注意 s1 被移动了，不能继续使用 s2 s3 可以继续使用
[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_string.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut t3 = String::from("") + &s2 + &s3;
[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:808:13
[INFO] [stdout]     |
[INFO] [stdout] 808 |         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: unused import: `std::io::Read`
[INFO] [stdout]  --> src/ch08_string.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ch08_vec.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |             Float => (),
[INFO] [stdout]     |             ----- matches any value
[INFO] [stdout] 127 |             Text => (),
[INFO] [stdout]     |             ^^^^ unreachable pattern
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ch08_vec.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |             Float => (),
[INFO] [stdout]     |             ----- matches any value
[INFO] [stdout] 127 |             Text => (),
[INFO] [stdout] 128 |             Int => (),
[INFO] [stdout]     |             ^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `a` is never read
[INFO] [stdout]    --> src/ch03.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     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:276:18
[INFO] [stdout]     |
[INFO] [stdout] 276 |             _ => 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:286:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |             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:654:13
[INFO] [stdout]     |
[INFO] [stdout] 654 |             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: private type `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_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:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | 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:180:8
[INFO] [stdout]     |
[INFO] [stdout] 180 | 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:256:4
[INFO] [stdout]     |
[INFO] [stdout] 256 | 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:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | 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:230:8
[INFO] [stdout]     |
[INFO] [stdout] 230 | 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:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     Alabama,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Alaska`
[INFO] [stdout]    --> src/ch06.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 |     Alaska,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `A1`
[INFO] [stdout]    --> src/ch06.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     A1(B1), // --snip--
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `B2`
[INFO] [stdout]    --> src/ch06.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     B2,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `B3`
[INFO] [stdout]    --> src/ch06.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 |     B3,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Coin`
[INFO] [stdout]    --> src/ch06.rs:240:6
[INFO] [stdout]     |
[INFO] [stdout] 240 | enum Coin {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch06_03_if_let`
[INFO] [stdout]    --> src/ch06.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 248 | 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:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 |         pub fn clarinet() {
[INFO] [stdout]   |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `breathe_in`
[INFO] [stdout]   --> src/ch07/mod.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn breathe_in() {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Vegetable`
[INFO] [stdout]   --> src/ch07/mod.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub struct Vegetable {
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/ch07/mod.rs:32:16
[INFO] [stdout]    |
[INFO] [stdout] 32 |         pub fn new(name: &str) -> Vegetable {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `generate_struct`
[INFO] [stdout]   --> src/ch07/mod.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn generate_struct() -> Vegetable {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Appetizer`
[INFO] [stdout]   --> src/ch07/mod.rs:50:14
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub enum Appetizer {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clarinet_trio`
[INFO] [stdout]   --> src/ch07/mod.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     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: `clarinet`
[INFO] [stdout]  --> src/ch07/sound3/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:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_03_hash_maps`
[INFO] [stdout]   --> src/ch08_hashmap.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn ch08_03_hash_maps() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_02_strings`
[INFO] [stdout]   --> src/ch08_string.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn ch08_02_strings() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_01_vectors`
[INFO] [stdout]   --> src/ch08_vec.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: `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:177:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | 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: function is never used: `ch10_01_syntax`
[INFO] [stdout]   --> src/ch10.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn ch10_01_syntax() {
[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:594:8
[INFO] [stdout]     |
[INFO] [stdout] 594 | pub fn ch10_03_lifetime_syntax() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `can_hold`
[INFO] [stdout]   --> src/ch11_01.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn can_hold(&self, other: &Rectangle) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `add_two`
[INFO] [stdout]   --> src/ch11_01.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn add_two(a: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `greeting`
[INFO] [stdout]    --> src/ch11_01.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn greeting(name: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Guess`
[INFO] [stdout]    --> src/ch11_01.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct Guess {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/ch11_01.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn new(value: i32) -> Guess {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `prints_and_returns_10`
[INFO] [stdout]   --> src/ch11_02.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn prints_and_returns_10(a: i32) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `add_two`
[INFO] [stdout]   --> src/ch11_02.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn add_two(a: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `add_two`
[INFO] [stdout]   --> src/ch11_03.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn add_two(a: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `internal_adder`
[INFO] [stdout]   --> src/ch11_03.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn internal_adder(a: i32, b: i32) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Config`
[INFO] [stdout]   --> src/ch12.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Config<'a> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/ch12.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn new(args: &[String]) -> Result<Config, &'static str> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `minigrep`
[INFO] [stdout]   --> src/ch12.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn minigrep() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run`
[INFO] [stdout]   --> src/ch12.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn run(config: Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `search`
[INFO] [stdout]   --> src/ch12.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch13_01_closures`
[INFO] [stdout]  --> src/ch13.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn ch13_01_closures() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch13_02_iterators`
[INFO] [stdout]    --> src/ch13.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn ch13_02_iterators() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch13_04_performance`
[INFO] [stdout]    --> src/ch13.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub fn ch13_04_performance(buffer: &mut [i32], coefficients: [i64; 12], qlp_shift: i16) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch14_01_release_profiles`
[INFO] [stdout]   --> src/ch14.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn ch14_01_release_profiles() {}
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch14_02_publishing_to_crates_io`
[INFO] [stdout]   --> src/ch14.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn ch14_02_publishing_to_crates_io() {}
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch15_01_box`
[INFO] [stdout]   --> src/ch15.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn ch15_01_box() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch15_02_deref`
[INFO] [stdout]   --> src/ch15.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn ch15_02_deref() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch15_03_drop`
[INFO] [stdout]    --> src/ch15.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub fn ch15_03_drop() {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `List`
[INFO] [stdout]    --> src/ch15.rs:247:6
[INFO] [stdout]     |
[INFO] [stdout] 247 | enum List {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch15_04_rc`
[INFO] [stdout]    --> src/ch15.rs:252:8
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub fn ch15_04_rc() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `LimitTracker`
[INFO] [stdout]    --> src/ch15.rs:347:12
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub struct LimitTracker<'a, T: Messenger> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/ch15.rs:357:12
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn new(messenger: &T, max: usize) -> LimitTracker<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_value`
[INFO] [stdout]    --> src/ch15.rs:365:12
[INFO] [stdout]     |
[INFO] [stdout] 365 |     pub fn set_value(&mut self, value: usize) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Cons`
[INFO] [stdout]   --> src/ch15_02.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Cons(Rc<RefCell<i32>>, Rc<List>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Nil`
[INFO] [stdout]   --> src/ch15_02.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Nil,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]   --> src/ch15_02.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Cons`
[INFO] [stdout]   --> src/ch15_03.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Nil`
[INFO] [stdout]   --> src/ch15_03.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Nil,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `tail`
[INFO] [stdout]   --> src/ch15_03.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn tail(&self) -> Option<&RefCell<Rc<List>>> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]   --> src/ch15_03.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]   --> src/ch15_04.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch16_01_threads`
[INFO] [stdout]   --> src/ch16.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn ch16_01_threads() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch16_02_message_passing`
[INFO] [stdout]   --> src/ch16.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn ch16_02_message_passing() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch16_03_shared_state`
[INFO] [stdout]    --> src/ch16.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn ch16_03_shared_state() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch16_04_extensible_concurrency_sync_and_send`
[INFO] [stdout]    --> src/ch16.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn ch16_04_extensible_concurrency_sync_and_send() {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch17_01whatis_oo`
[INFO] [stdout]  --> src/ch17.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn ch17_01whatis_oo() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch17_02_trait_objects`
[INFO] [stdout]   --> src/ch17.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn ch17_02_trait_objects() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch17_03_oo_design_patterns`
[INFO] [stdout]    --> src/ch17.rs:221:8
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub fn ch17_03_oo_design_patterns() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch18_01_all_the_places_for_patterns`
[INFO] [stdout]  --> src/ch18.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn ch18_01_all_the_places_for_patterns() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch18_02_refutability`
[INFO] [stdout]   --> src/ch18.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn ch18_02_refutability() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Quit`
[INFO] [stdout]    --> src/ch18.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |             Quit,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Move`
[INFO] [stdout]    --> src/ch18.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |             Move { x: i32, y: i32 },
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Write`
[INFO] [stdout]    --> src/ch18.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |             Write(String),
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Rgb`
[INFO] [stdout]    --> src/ch18.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             Rgb(i32, i32, i32),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Quit`
[INFO] [stdout]    --> src/ch18.rs:212:13
[INFO] [stdout]     |
[INFO] [stdout] 212 |             Quit,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Move`
[INFO] [stdout]    --> src/ch18.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |             Move { x: i32, y: i32 },
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Write`
[INFO] [stdout]    --> src/ch18.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |             Write(String),
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `y`
[INFO] [stdout]    --> src/ch18.rs:290:13
[INFO] [stdout]     |
[INFO] [stdout] 290 |             y: i32,
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `z`
[INFO] [stdout]    --> src/ch18.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |             z: i32,
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `changeColorMessage` should have a snake case name
[INFO] [stdout]   --> src/ch06.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let changeColorMessage = ChangeColorMessage(1, 1, 1);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `change_color_message`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Float` should have a snake case name
[INFO] [stdout]    --> src/ch08_vec.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |             Float => (),
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Text` should have a snake case name
[INFO] [stdout]    --> src/ch08_vec.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |             Text => (),
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case: `text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Int` should have a snake case name
[INFO] [stdout]    --> src/ch08_vec.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             Int => (),
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case (notice the capitalization): `int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ch04.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |         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 `Value` should have a snake case name
[INFO] [stdout]   --> src/ch17.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 Some(Value) => {
[INFO] [stdout]    |                      ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 168 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ch08_string.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         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_string.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let mut s3 = s1 + &s2 + &s4; // 注意 s1 被移动了，不能继续使用 s2 s3 可以继续使用
[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_string.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut t3 = String::from("") + &s2 + &s3;
[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:808:13
[INFO] [stdout]     |
[INFO] [stdout] 808 |         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_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_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:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | 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:180:8
[INFO] [stdout]     |
[INFO] [stdout] 180 | 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:256:4
[INFO] [stdout]     |
[INFO] [stdout] 256 | 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:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | 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:230:8
[INFO] [stdout]     |
[INFO] [stdout] 230 | 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:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     Alabama,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Alaska`
[INFO] [stdout]    --> src/ch06.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 |     Alaska,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `A1`
[INFO] [stdout]    --> src/ch06.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     A1(B1), // --snip--
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `B2`
[INFO] [stdout]    --> src/ch06.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     B2,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `B3`
[INFO] [stdout]    --> src/ch06.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 |     B3,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Coin`
[INFO] [stdout]    --> src/ch06.rs:240:6
[INFO] [stdout]     |
[INFO] [stdout] 240 | enum Coin {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch06_03_if_let`
[INFO] [stdout]    --> src/ch06.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 248 | 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:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 |         pub fn clarinet() {
[INFO] [stdout]   |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `breathe_in`
[INFO] [stdout]   --> src/ch07/mod.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn breathe_in() {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Vegetable`
[INFO] [stdout]   --> src/ch07/mod.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub struct Vegetable {
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/ch07/mod.rs:32:16
[INFO] [stdout]    |
[INFO] [stdout] 32 |         pub fn new(name: &str) -> Vegetable {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `generate_struct`
[INFO] [stdout]   --> src/ch07/mod.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn generate_struct() -> Vegetable {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `Appetizer`
[INFO] [stdout]   --> src/ch07/mod.rs:50:14
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub enum Appetizer {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clarinet_trio`
[INFO] [stdout]   --> src/ch07/mod.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     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: `clarinet`
[INFO] [stdout]  --> src/ch07/sound3/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:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_03_hash_maps`
[INFO] [stdout]   --> src/ch08_hashmap.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn ch08_03_hash_maps() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_02_strings`
[INFO] [stdout]   --> src/ch08_string.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn ch08_02_strings() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch08_01_vectors`
[INFO] [stdout]   --> src/ch08_vec.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: `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:177:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | 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: function is never used: `ch10_01_syntax`
[INFO] [stdout]   --> src/ch10.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn ch10_01_syntax() {
[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:594:8
[INFO] [stdout]     |
[INFO] [stdout] 594 | pub fn ch10_03_lifetime_syntax() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `value`
[INFO] [stdout]    --> src/ch11_01.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     value: i32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `add_two`
[INFO] [stdout]   --> src/ch11_03.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn add_two(a: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Config`
[INFO] [stdout]   --> src/ch12.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Config<'a> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/ch12.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn new(args: &[String]) -> Result<Config, &'static str> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `minigrep`
[INFO] [stdout]   --> src/ch12.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn minigrep() {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run`
[INFO] [stdout]   --> src/ch12.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn run(config: Config) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch13_01_closures`
[INFO] [stdout]  --> src/ch13.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn ch13_01_closures() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch13_02_iterators`
[INFO] [stdout]    --> src/ch13.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn ch13_02_iterators() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch13_04_performance`
[INFO] [stdout]    --> src/ch13.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub fn ch13_04_performance(buffer: &mut [i32], coefficients: [i64; 12], qlp_shift: i16) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch14_01_release_profiles`
[INFO] [stdout]   --> src/ch14.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn ch14_01_release_profiles() {}
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch14_02_publishing_to_crates_io`
[INFO] [stdout]   --> src/ch14.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn ch14_02_publishing_to_crates_io() {}
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch15_01_box`
[INFO] [stdout]   --> src/ch15.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn ch15_01_box() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch15_02_deref`
[INFO] [stdout]   --> src/ch15.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn ch15_02_deref() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch15_03_drop`
[INFO] [stdout]    --> src/ch15.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub fn ch15_03_drop() {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `List`
[INFO] [stdout]    --> src/ch15.rs:247:6
[INFO] [stdout]     |
[INFO] [stdout] 247 | enum List {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch15_04_rc`
[INFO] [stdout]    --> src/ch15.rs:252:8
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub fn ch15_04_rc() {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Cons`
[INFO] [stdout]   --> src/ch15_02.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Cons(Rc<RefCell<i32>>, Rc<List>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Nil`
[INFO] [stdout]   --> src/ch15_02.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Nil,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]   --> src/ch15_02.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Cons`
[INFO] [stdout]   --> src/ch15_03.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Nil`
[INFO] [stdout]   --> src/ch15_03.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Nil,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `tail`
[INFO] [stdout]   --> src/ch15_03.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn tail(&self) -> Option<&RefCell<Rc<List>>> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]   --> src/ch15_03.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]   --> src/ch15_04.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn main() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch16_01_threads`
[INFO] [stdout]   --> src/ch16.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn ch16_01_threads() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch16_02_message_passing`
[INFO] [stdout]   --> src/ch16.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn ch16_02_message_passing() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch16_03_shared_state`
[INFO] [stdout]    --> src/ch16.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn ch16_03_shared_state() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch16_04_extensible_concurrency_sync_and_send`
[INFO] [stdout]    --> src/ch16.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn ch16_04_extensible_concurrency_sync_and_send() {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch17_01whatis_oo`
[INFO] [stdout]  --> src/ch17.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn ch17_01whatis_oo() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch17_02_trait_objects`
[INFO] [stdout]   --> src/ch17.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn ch17_02_trait_objects() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch17_03_oo_design_patterns`
[INFO] [stdout]    --> src/ch17.rs:221:8
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub fn ch17_03_oo_design_patterns() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch18_01_all_the_places_for_patterns`
[INFO] [stdout]  --> src/ch18.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn ch18_01_all_the_places_for_patterns() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ch18_02_refutability`
[INFO] [stdout]   --> src/ch18.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn ch18_02_refutability() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Quit`
[INFO] [stdout]    --> src/ch18.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |             Quit,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Move`
[INFO] [stdout]    --> src/ch18.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |             Move { x: i32, y: i32 },
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Write`
[INFO] [stdout]    --> src/ch18.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |             Write(String),
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Rgb`
[INFO] [stdout]    --> src/ch18.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             Rgb(i32, i32, i32),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Quit`
[INFO] [stdout]    --> src/ch18.rs:212:13
[INFO] [stdout]     |
[INFO] [stdout] 212 |             Quit,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Move`
[INFO] [stdout]    --> src/ch18.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |             Move { x: i32, y: i32 },
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Write`
[INFO] [stdout]    --> src/ch18.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |             Write(String),
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `y`
[INFO] [stdout]    --> src/ch18.rs:290:13
[INFO] [stdout]     |
[INFO] [stdout] 290 |             y: i32,
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `z`
[INFO] [stdout]    --> src/ch18.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |             z: i32,
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot test inner items
[INFO] [stdout]    --> src/ch13.rs:294:9
[INFO] [stdout]     |
[INFO] [stdout] 294 |         #[test]
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnameable_test_items)]` on by default
[INFO] [stdout]     = note: this warning originates in the attribute macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `changeColorMessage` should have a snake case name
[INFO] [stdout]   --> src/ch06.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let changeColorMessage = ChangeColorMessage(1, 1, 1);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `change_color_message`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Float` should have a snake case name
[INFO] [stdout]    --> src/ch08_vec.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |             Float => (),
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Text` should have a snake case name
[INFO] [stdout]    --> src/ch08_vec.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |             Text => (),
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case: `text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Int` should have a snake case name
[INFO] [stdout]    --> src/ch08_vec.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             Int => (),
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case (notice the capitalization): `int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Value` should have a snake case name
[INFO] [stdout]   --> src/ch17.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 Some(Value) => {
[INFO] [stdout]    |                      ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 158 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "033b4d5816291ab133bc2c4094f477fd1c2e205a7fe4f324e3b6813020d0a7fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "033b4d5816291ab133bc2c4094f477fd1c2e205a7fe4f324e3b6813020d0a7fa", kill_on_drop: false }`
[INFO] [stdout] 033b4d5816291ab133bc2c4094f477fd1c2e205a7fe4f324e3b6813020d0a7fa
