[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] 66b579bd210001a421f7609c30459cc920fd55ae [INFO] testing DreamLarva/learn-rust against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDreamLarva%2Flearn-rust" "/workspace/builds/worker-53/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-53/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/DreamLarva/learn-rust on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "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-53/source/Cargo.toml [INFO] crate git repo https://github.com/DreamLarva/learn-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded adder v0.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-53/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-53/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1d24328a861b19403f8c91f030a2e5a1f85b4357e4b2f8af80cc7cf0bf510962 [INFO] running `Command { std: "docker" "start" "-a" "1d24328a861b19403f8c91f030a2e5a1f85b4357e4b2f8af80cc7cf0bf510962", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1d24328a861b19403f8c91f030a2e5a1f85b4357e4b2f8af80cc7cf0bf510962", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d24328a861b19403f8c91f030a2e5a1f85b4357e4b2f8af80cc7cf0bf510962", kill_on_drop: false }` [INFO] [stdout] 1d24328a861b19403f8c91f030a2e5a1f85b4357e4b2f8af80cc7cf0bf510962 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-53/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-53/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4f6623d6704f1bdbae07b324101634fc7b377a29efd9e4470fc8189a0ef82464 [INFO] running `Command { std: "docker" "start" "-a" "4f6623d6704f1bdbae07b324101634fc7b377a29efd9e4470fc8189a0ef82464", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling proc-macro2 v1.0.29 [INFO] [stderr] Compiling libc v0.2.88 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Compiling syn v1.0.76 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Compiling threadPool v0.1.0 (/opt/rustwide/workdir/threadPool) [INFO] [stderr] Compiling adder v0.1.0 [INFO] [stdout] warning: crate `threadPool` should have a snake case name [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] = help: convert the identifier to snake case: `thread_pool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rand_core v0.6.2 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling rand_chacha v0.3.0 [INFO] [stderr] Compiling rand v0.8.3 [INFO] [stderr] Compiling hello_macro_derive v0.1.0 (/opt/rustwide/workdir/derive_macro/hello_macro_derive) [INFO] [stderr] Compiling proc_marco v0.1.0 (/opt/rustwide/workdir/proc_marco) [INFO] [stderr] Compiling hello_macro v0.1.0 (/opt/rustwide/workdir/derive_macro) [INFO] [stderr] Compiling the_rust_programming_language v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the item `hosting` is imported redundantly [INFO] [stdout] --> src/lib.rs: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: `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: 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: 18 warnings emitted [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] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 17 - let secret_number = rand::thread_rng().gen_range((1..=100)); // 这个也能运行 [INFO] [stdout] 17 + let secret_number = rand::thread_rng().gen_range(1..=100); // 这个也能运行 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ch03.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | /** 基本类型 */ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | // 直接的赋值能够直接推断出值的类型 [INFO] [stdout] 8 | let a = 1; // 默认为 i32 [INFO] [stdout] | ---------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = 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:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | /// 方法只要在作用域中声明 就能够调用(不用先声明在前) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 155 | 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: 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] = note: `#[warn(unused_imports)]` on by default [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] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 174 - let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] 174 + let secret_number = rand::thread_rng().gen_range(1..100); [INFO] [stdout] | [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] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 175 - let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stdout] 175 + let secret_number = rand::thread_rng().gen_range(1..=100); [INFO] [stdout] | [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(&mut self, key: F) [INFO] [stdout] 331 | | /// where [INFO] [stdout] 332 | | /// F: FnMut(&mut T) -> K, [INFO] [stdout] 333 | | /// K: PartialEq, [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 import: `std::panic::RefUnwindSafe` [INFO] [stdout] --> src/ch19.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::panic::RefUnwindSafe; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `slice` is imported redundantly [INFO] [stdout] --> src/ch19.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 92 | use std::slice; [INFO] [stdout] | ---------- the item `slice` is already imported here [INFO] [stdout] ... [INFO] [stdout] 117 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Add` is imported redundantly [INFO] [stdout] --> src/ch19.rs:310:17 [INFO] [stdout] | [INFO] [stdout] 277 | use std::ops::Add; [INFO] [stdout] | ------------- the item `Add` is already imported here [INFO] [stdout] ... [INFO] [stdout] 310 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/ch19.rs:507:13 [INFO] [stdout] | [INFO] [stdout] 507 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Error` [INFO] [stdout] --> src/ch19.rs:508:13 [INFO] [stdout] | [INFO] [stdout] 508 | use std::io::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::proc_macro::TokenStream` [INFO] [stdout] --> src/ch19_06.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use self::proc_macro::TokenStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::quote` [INFO] [stdout] --> src/ch19_06.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use quote::quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn` [INFO] [stdout] --> src/ch19_06.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use syn; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hex::hex` [INFO] [stdout] --> src/main.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | use hex::hex; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell`, `Ref` [INFO] [stdout] --> src/main.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | use std::cell::{Ref, RefCell}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/main.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/main.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | 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:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | 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:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | 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:688:13 [INFO] [stdout] | [INFO] [stdout] 688 | 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:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | let mut s = String::from("hello"); [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/ch04.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | let mut s = String::from("hello world"); [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: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:842:13 [INFO] [stdout] | [INFO] [stdout] 842 | 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: function cannot return without recursing [INFO] [stdout] --> src/ch18.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | fn print_coordinates(&(x, y): &(i32, i32)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing [INFO] [stdout] ... [INFO] [stdout] 89 | print_coordinates(&point); [INFO] [stdout] | ------------------------- recursive call site [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unconditional_recursion)]` on by default [INFO] [stdout] = help: a `loop` may express intention better if this is on purpose [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `ch10_02_traits::Point` in public interface (error E0446) [INFO] [stdout] --> src/ch10.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | fn summarize1(&self) -> Point; [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `ch10_02_traits::Point` in public interface (error E0446) [INFO] [stdout] --> src/ch10.rs:238:13 [INFO] [stdout] | [INFO] [stdout] 238 | fn summarize1(&self) -> Point { [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 [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:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | 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:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | 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:257:4 [INFO] [stdout] | [INFO] [stdout] 257 | 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:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | 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:139:8 [INFO] [stdout] | [INFO] [stdout] 139 | 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:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | 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:155:8 [INFO] [stdout] | [INFO] [stdout] 155 | 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:224:8 [INFO] [stdout] | [INFO] [stdout] 224 | 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] note: `UsState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:226:10 [INFO] [stdout] | [INFO] [stdout] 226 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `UsState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:226:10 [INFO] [stdout] | [INFO] [stdout] 226 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `UsState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:226:10 [INFO] [stdout] | [INFO] [stdout] 226 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `B1` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:233:10 [INFO] [stdout] | [INFO] [stdout] 233 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `B1` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:233:10 [INFO] [stdout] | [INFO] [stdout] 233 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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: `ch06_03_matches` [INFO] [stdout] --> src/ch06.rs:292:8 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn ch06_03_matches() { [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:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | 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:626:8 [INFO] [stdout] | [INFO] [stdout] 626 | pub fn ch10_03_lifetime_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `length` [INFO] [stdout] --> src/ch11_01.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | length: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Rectangle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch11_01.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `width` [INFO] [stdout] --> src/ch11_01.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | width: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Rectangle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch11_01.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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 { [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:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn run(config: Config) -> Result<(), Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search` [INFO] [stdout] --> src/ch12.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | 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 { [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>, Rc), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_02.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_02.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_03.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_03.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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>> { [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: field is never read: `value` [INFO] [stdout] --> src/ch15_04.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | value: i32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_04.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `parent` [INFO] [stdout] --> src/ch15_04.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | parent: RefCell>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_04.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `children` [INFO] [stdout] --> src/ch15_04.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | children: RefCell>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_04.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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:226:8 [INFO] [stdout] | [INFO] [stdout] 226 | 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:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn ch18_02_refutability() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch18_03_pattern_syntax` [INFO] [stdout] --> src/ch18.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn ch18_03_pattern_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch19_01_unsafe_rust` [INFO] [stdout] --> src/ch19.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn ch19_01_unsafe_rust() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch19_03_advanced_traits` [INFO] [stdout] --> src/ch19.rs:213:8 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn ch19_03_advanced_traits() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch19_04_advanced_types` [INFO] [stdout] --> src/ch19.rs:475:8 [INFO] [stdout] | [INFO] [stdout] 475 | pub fn ch19_04_advanced_types() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch19_05_advanced_functions_and_closures` [INFO] [stdout] --> src/ch19.rs:661:8 [INFO] [stdout] | [INFO] [stdout] 661 | pub fn ch19_05_advanced_functions_and_closures() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/ch19_06.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/ch20.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `handle_connection` [INFO] [stdout] --> src/ch20.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn handle_connection(mut stream: TcpStream) { [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_trio` [INFO] [stdout] --> src/ch07/mod.rs:160:20 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn clarinet_trio() { [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: `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: `clarinet` [INFO] [stdout] --> src/ch07/mod.rs:150:24 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn clarinet() { [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: unused `Filter` that must be used [INFO] [stdout] --> src/ch06.rs:299:5 [INFO] [stdout] | [INFO] [stdout] 299 | v.iter().filter(|x| matches!(x, MyEnum::Foo)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: iterators are lazy and do nothing unless consumed [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: 181 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 5m 11s [INFO] running `Command { std: "docker" "inspect" "4f6623d6704f1bdbae07b324101634fc7b377a29efd9e4470fc8189a0ef82464", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4f6623d6704f1bdbae07b324101634fc7b377a29efd9e4470fc8189a0ef82464", kill_on_drop: false }` [INFO] [stdout] 4f6623d6704f1bdbae07b324101634fc7b377a29efd9e4470fc8189a0ef82464 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-53/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-53/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 72834a4048b93b78f0ed81585846fb1192576ffd50a5372ccdb08713d66cf946 [INFO] running `Command { std: "docker" "start" "-a" "72834a4048b93b78f0ed81585846fb1192576ffd50a5372ccdb08713d66cf946", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stdout] warning: crate `threadPool` should have a snake case name [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] = help: convert the identifier to snake case: `thread_pool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [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: 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] [stderr] Compiling the_rust_programming_language v0.1.0 (/opt/rustwide/workdir) [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: `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: 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: 18 warnings emitted [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] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 17 - let secret_number = rand::thread_rng().gen_range((1..=100)); // 这个也能运行 [INFO] [stdout] 17 + let secret_number = rand::thread_rng().gen_range(1..=100); // 这个也能运行 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ch03.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | /** 基本类型 */ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | // 直接的赋值能够直接推断出值的类型 [INFO] [stdout] 8 | let a = 1; // 默认为 i32 [INFO] [stdout] | ---------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = 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:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | /// 方法只要在作用域中声明 就能够调用(不用先声明在前) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 155 | 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: 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] = note: `#[warn(unused_imports)]` on by default [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] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 174 - let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] 174 + let secret_number = rand::thread_rng().gen_range(1..100); [INFO] [stdout] | [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] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 175 - let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stdout] 175 + let secret_number = rand::thread_rng().gen_range(1..=100); [INFO] [stdout] | [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(&mut self, key: F) [INFO] [stdout] 331 | | /// where [INFO] [stdout] 332 | | /// F: FnMut(&mut T) -> K, [INFO] [stdout] 333 | | /// K: PartialEq, [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 import: `std::panic::RefUnwindSafe` [INFO] [stdout] --> src/ch19.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::panic::RefUnwindSafe; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `slice` is imported redundantly [INFO] [stdout] --> src/ch19.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 92 | use std::slice; [INFO] [stdout] | ---------- the item `slice` is already imported here [INFO] [stdout] ... [INFO] [stdout] 117 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Add` is imported redundantly [INFO] [stdout] --> src/ch19.rs:310:17 [INFO] [stdout] | [INFO] [stdout] 277 | use std::ops::Add; [INFO] [stdout] | ------------- the item `Add` is already imported here [INFO] [stdout] ... [INFO] [stdout] 310 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/ch19.rs:507:13 [INFO] [stdout] | [INFO] [stdout] 507 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Error` [INFO] [stdout] --> src/ch19.rs:508:13 [INFO] [stdout] | [INFO] [stdout] 508 | use std::io::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::proc_macro::TokenStream` [INFO] [stdout] --> src/ch19_06.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use self::proc_macro::TokenStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::quote` [INFO] [stdout] --> src/ch19_06.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use quote::quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn` [INFO] [stdout] --> src/ch19_06.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use syn; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hex::hex` [INFO] [stdout] --> src/main.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | use hex::hex; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell`, `Ref` [INFO] [stdout] --> src/main.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | use std::cell::{Ref, RefCell}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/main.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/main.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | 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:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | 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:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | 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:688:13 [INFO] [stdout] | [INFO] [stdout] 688 | 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:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | let mut s = String::from("hello"); [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/ch04.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | let mut s = String::from("hello world"); [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: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:842:13 [INFO] [stdout] | [INFO] [stdout] 842 | 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: function cannot return without recursing [INFO] [stdout] --> src/ch18.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | fn print_coordinates(&(x, y): &(i32, i32)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing [INFO] [stdout] ... [INFO] [stdout] 89 | print_coordinates(&point); [INFO] [stdout] | ------------------------- recursive call site [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unconditional_recursion)]` on by default [INFO] [stdout] = help: a `loop` may express intention better if this is on purpose [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `ch10_02_traits::Point` in public interface (error E0446) [INFO] [stdout] --> src/ch10.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | fn summarize1(&self) -> Point; [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `ch10_02_traits::Point` in public interface (error E0446) [INFO] [stdout] --> src/ch10.rs:238:13 [INFO] [stdout] | [INFO] [stdout] 238 | fn summarize1(&self) -> Point { [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 [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:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | 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:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | 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:257:4 [INFO] [stdout] | [INFO] [stdout] 257 | 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:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | 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:139:8 [INFO] [stdout] | [INFO] [stdout] 139 | 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:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | 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:155:8 [INFO] [stdout] | [INFO] [stdout] 155 | 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:224:8 [INFO] [stdout] | [INFO] [stdout] 224 | 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] note: `UsState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:226:10 [INFO] [stdout] | [INFO] [stdout] 226 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `UsState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:226:10 [INFO] [stdout] | [INFO] [stdout] 226 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `UsState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:226:10 [INFO] [stdout] | [INFO] [stdout] 226 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `B1` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:233:10 [INFO] [stdout] | [INFO] [stdout] 233 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `B1` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:233:10 [INFO] [stdout] | [INFO] [stdout] 233 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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: `ch06_03_matches` [INFO] [stdout] --> src/ch06.rs:292:8 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn ch06_03_matches() { [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:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | 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:626:8 [INFO] [stdout] | [INFO] [stdout] 626 | pub fn ch10_03_lifetime_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `length` [INFO] [stdout] --> src/ch11_01.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | length: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Rectangle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch11_01.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `width` [INFO] [stdout] --> src/ch11_01.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | width: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Rectangle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch11_01.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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 { [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:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn run(config: Config) -> Result<(), Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search` [INFO] [stdout] --> src/ch12.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | 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 { [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>, Rc), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_02.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_02.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_03.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_03.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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>> { [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: field is never read: `value` [INFO] [stdout] --> src/ch15_04.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | value: i32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_04.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `parent` [INFO] [stdout] --> src/ch15_04.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | parent: RefCell>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_04.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `children` [INFO] [stdout] --> src/ch15_04.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | children: RefCell>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_04.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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:226:8 [INFO] [stdout] | [INFO] [stdout] 226 | 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:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn ch18_02_refutability() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch18_03_pattern_syntax` [INFO] [stdout] --> src/ch18.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn ch18_03_pattern_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch19_01_unsafe_rust` [INFO] [stdout] --> src/ch19.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn ch19_01_unsafe_rust() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch19_03_advanced_traits` [INFO] [stdout] --> src/ch19.rs:213:8 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn ch19_03_advanced_traits() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch19_04_advanced_types` [INFO] [stdout] --> src/ch19.rs:475:8 [INFO] [stdout] | [INFO] [stdout] 475 | pub fn ch19_04_advanced_types() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch19_05_advanced_functions_and_closures` [INFO] [stdout] --> src/ch19.rs:661:8 [INFO] [stdout] | [INFO] [stdout] 661 | pub fn ch19_05_advanced_functions_and_closures() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/ch19_06.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/ch20.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `handle_connection` [INFO] [stdout] --> src/ch20.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn handle_connection(mut stream: TcpStream) { [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_trio` [INFO] [stdout] --> src/ch07/mod.rs:160:20 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn clarinet_trio() { [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: `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: `clarinet` [INFO] [stdout] --> src/ch07/mod.rs:150:24 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn clarinet() { [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: unused `Filter` that must be used [INFO] [stdout] --> src/ch06.rs:299:5 [INFO] [stdout] | [INFO] [stdout] 299 | v.iter().filter(|x| matches!(x, MyEnum::Foo)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: iterators are lazy and do nothing unless consumed [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: 181 warnings emitted [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: function is never used: `test2` [INFO] [stdout] --> tests/integration_test.rs:38:4 [INFO] [stdout] | [INFO] [stdout] 38 | fn test2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [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: `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: 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: 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] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 17 - let secret_number = rand::thread_rng().gen_range((1..=100)); // 这个也能运行 [INFO] [stdout] 17 + let secret_number = rand::thread_rng().gen_range(1..=100); // 这个也能运行 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ch03.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | /** 基本类型 */ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | // 直接的赋值能够直接推断出值的类型 [INFO] [stdout] 8 | let a = 1; // 默认为 i32 [INFO] [stdout] | ---------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = 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:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | /// 方法只要在作用域中声明 就能够调用(不用先声明在前) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 155 | 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: 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] = note: `#[warn(unused_imports)]` on by default [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] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 174 - let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] 174 + let secret_number = rand::thread_rng().gen_range(1..100); [INFO] [stdout] | [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] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 175 - let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stdout] 175 + let secret_number = rand::thread_rng().gen_range(1..=100); [INFO] [stdout] | [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(&mut self, key: F) [INFO] [stdout] 331 | | /// where [INFO] [stdout] 332 | | /// F: FnMut(&mut T) -> K, [INFO] [stdout] 333 | | /// K: PartialEq, [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 import: `std::panic::RefUnwindSafe` [INFO] [stdout] --> src/ch19.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::panic::RefUnwindSafe; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `slice` is imported redundantly [INFO] [stdout] --> src/ch19.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 92 | use std::slice; [INFO] [stdout] | ---------- the item `slice` is already imported here [INFO] [stdout] ... [INFO] [stdout] 117 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Add` is imported redundantly [INFO] [stdout] --> src/ch19.rs:310:17 [INFO] [stdout] | [INFO] [stdout] 277 | use std::ops::Add; [INFO] [stdout] | ------------- the item `Add` is already imported here [INFO] [stdout] ... [INFO] [stdout] 310 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/ch19.rs:507:13 [INFO] [stdout] | [INFO] [stdout] 507 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Error` [INFO] [stdout] --> src/ch19.rs:508:13 [INFO] [stdout] | [INFO] [stdout] 508 | use std::io::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::proc_macro::TokenStream` [INFO] [stdout] --> src/ch19_06.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use self::proc_macro::TokenStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::quote` [INFO] [stdout] --> src/ch19_06.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use quote::quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn` [INFO] [stdout] --> src/ch19_06.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use syn; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hex::hex` [INFO] [stdout] --> src/main.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | use hex::hex; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell`, `Ref` [INFO] [stdout] --> src/main.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | use std::cell::{Ref, RefCell}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/main.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/main.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | 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:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | use the_rust_programming_language::Config; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [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:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | 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:688:13 [INFO] [stdout] | [INFO] [stdout] 688 | 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:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | let mut s = String::from("hello"); [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/ch04.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | let mut s = String::from("hello world"); [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: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: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch10.rs:842:13 [INFO] [stdout] | [INFO] [stdout] 842 | 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: function cannot return without recursing [INFO] [stdout] --> src/ch18.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | fn print_coordinates(&(x, y): &(i32, i32)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing [INFO] [stdout] ... [INFO] [stdout] 89 | print_coordinates(&point); [INFO] [stdout] | ------------------------- recursive call site [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unconditional_recursion)]` on by default [INFO] [stdout] = help: a `loop` may express intention better if this is on purpose [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `ch10_02_traits::Point` in public interface (error E0446) [INFO] [stdout] --> src/ch10.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | fn summarize1(&self) -> Point; [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `ch10_02_traits::Point` in public interface (error E0446) [INFO] [stdout] --> src/ch10.rs:238:13 [INFO] [stdout] | [INFO] [stdout] 238 | fn summarize1(&self) -> Point { [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 [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:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | 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:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | 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:257:4 [INFO] [stdout] | [INFO] [stdout] 257 | 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:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | 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:139:8 [INFO] [stdout] | [INFO] [stdout] 139 | 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:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | 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:155:8 [INFO] [stdout] | [INFO] [stdout] 155 | 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:224:8 [INFO] [stdout] | [INFO] [stdout] 224 | 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] note: `UsState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:226:10 [INFO] [stdout] | [INFO] [stdout] 226 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `UsState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:226:10 [INFO] [stdout] | [INFO] [stdout] 226 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `UsState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:226:10 [INFO] [stdout] | [INFO] [stdout] 226 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `B1` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:233:10 [INFO] [stdout] | [INFO] [stdout] 233 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `B1` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch06.rs:233:10 [INFO] [stdout] | [INFO] [stdout] 233 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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: `ch06_03_matches` [INFO] [stdout] --> src/ch06.rs:292:8 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn ch06_03_matches() { [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:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | 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:626:8 [INFO] [stdout] | [INFO] [stdout] 626 | 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 { [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:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn run(config: Config) -> Result<(), Box> { [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>, Rc), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_02.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_02.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_03.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_03.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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>> { [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: field is never read: `value` [INFO] [stdout] --> src/ch15_04.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | value: i32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_04.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `parent` [INFO] [stdout] --> src/ch15_04.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | parent: RefCell>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_04.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `children` [INFO] [stdout] --> src/ch15_04.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | children: RefCell>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/ch15_04.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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:226:8 [INFO] [stdout] | [INFO] [stdout] 226 | 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:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn ch18_02_refutability() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch18_03_pattern_syntax` [INFO] [stdout] --> src/ch18.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn ch18_03_pattern_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch19_01_unsafe_rust` [INFO] [stdout] --> src/ch19.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn ch19_01_unsafe_rust() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch19_03_advanced_traits` [INFO] [stdout] --> src/ch19.rs:213:8 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn ch19_03_advanced_traits() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch19_04_advanced_types` [INFO] [stdout] --> src/ch19.rs:475:8 [INFO] [stdout] | [INFO] [stdout] 475 | pub fn ch19_04_advanced_types() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch19_05_advanced_functions_and_closures` [INFO] [stdout] --> src/ch19.rs:661:8 [INFO] [stdout] | [INFO] [stdout] 661 | pub fn ch19_05_advanced_functions_and_closures() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/ch19_06.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/ch20.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `handle_connection` [INFO] [stdout] --> src/ch20.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn handle_connection(mut stream: TcpStream) { [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_trio` [INFO] [stdout] --> src/ch07/mod.rs:160:20 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn clarinet_trio() { [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: `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: `clarinet` [INFO] [stdout] --> src/ch07/mod.rs:150:24 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn clarinet() { [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: unused `Filter` that must be used [INFO] [stdout] --> src/ch06.rs:299:5 [INFO] [stdout] | [INFO] [stdout] 299 | v.iter().filter(|x| matches!(x, MyEnum::Foo)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: iterators are lazy and do nothing unless consumed [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: 169 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.74s [INFO] running `Command { std: "docker" "inspect" "72834a4048b93b78f0ed81585846fb1192576ffd50a5372ccdb08713d66cf946", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "72834a4048b93b78f0ed81585846fb1192576ffd50a5372ccdb08713d66cf946", kill_on_drop: false }` [INFO] [stdout] 72834a4048b93b78f0ed81585846fb1192576ffd50a5372ccdb08713d66cf946 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-53/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-53/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b796e1f34eeeb278c4f1c7da23926f38dbd68077133c035ed3a002b88555f001 [INFO] running `Command { std: "docker" "start" "-a" "b796e1f34eeeb278c4f1c7da23926f38dbd68077133c035ed3a002b88555f001", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: crate `threadPool` should have a snake case name [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] = help: convert the identifier to snake case: `thread_pool` [INFO] [stderr] [INFO] [stderr] warning: `threadPool` (lib) generated 1 warning [INFO] [stderr] warning: the item `hosting` is imported redundantly [INFO] [stderr] --> src/lib.rs:93:9 [INFO] [stderr] | [INFO] [stderr] 93 | use crate::front_of_house::hosting; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 122 | pub use crate::front_of_house::hosting; [INFO] [stderr] | ------------------------------ the item `hosting` is already imported here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/lib.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Result as IoResult` [INFO] [stderr] --> src/lib.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | use std::io::Result as IoResult; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `borrow`, `cmp::Ordering` [INFO] [stderr] --> src/lib.rs:128:11 [INFO] [stderr] | [INFO] [stderr] 128 | use std::{borrow, cmp::Ordering}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Write`, `self` [INFO] [stderr] --> src/lib.rs:132:15 [INFO] [stderr] | [INFO] [stderr] 132 | use std::io::{self, Write}; // use io 本身 和 io::Write [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::*` [INFO] [stderr] --> src/lib.rs:135:5 [INFO] [stderr] | [INFO] [stderr] 135 | use std::collections::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::process` [INFO] [stderr] --> src/lib.rs:141:5 [INFO] [stderr] | [INFO] [stderr] 141 | use std::process; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `order1` [INFO] [stderr] --> src/lib.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | let order1 = back_of_house::Appetizer::Soup; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order1` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `order2` [INFO] [stderr] --> src/lib.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | let order2 = back_of_house::Appetizer::Salad; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c1` [INFO] [stderr] --> src/lib.rs:311:16 [INFO] [stderr] | [INFO] [stderr] 311 | pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_c1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c2` [INFO] [stderr] --> src/lib.rs:311:34 [INFO] [stderr] | [INFO] [stderr] 311 | pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_c2` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `serve_order` [INFO] [stderr] --> src/lib.rs:21:4 [INFO] [stderr] | [INFO] [stderr] 21 | fn serve_order() {} [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main` [INFO] [stderr] --> src/lib.rs:23:4 [INFO] [stderr] | [INFO] [stderr] 23 | fn main() {} [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eat_at_restaurant` [INFO] [stderr] --> src/lib.rs:95:12 [INFO] [stderr] | [INFO] [stderr] 95 | pub fn eat_at_restaurant() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fix_incorrect_order` [INFO] [stderr] --> src/lib.rs:27:8 [INFO] [stderr] | [INFO] [stderr] 27 | fn fix_incorrect_order() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `cook_order` [INFO] [stderr] --> src/lib.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | fn cook_order() {} [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `seasonal_fruit` [INFO] [stderr] --> src/lib.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | seasonal_fruit: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Appetizer` [INFO] [stderr] --> src/lib.rs:55:14 [INFO] [stderr] | [INFO] [stderr] 55 | pub enum Appetizer { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `the_rust_programming_language` (lib) generated 18 warnings [INFO] [stderr] warning: `the_rust_programming_language` (lib test) generated 17 warnings (17 duplicates) [INFO] [stderr] warning: function is never used: `test2` [INFO] [stderr] --> tests/integration_test.rs:38:4 [INFO] [stderr] | [INFO] [stderr] 38 | fn test2() { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/ch02.rs:17:54 [INFO] [stderr] | [INFO] [stderr] 17 | let secret_number = rand::thread_rng().gen_range((1..=100)); // 这个也能运行 [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 17 - let secret_number = rand::thread_rng().gen_range((1..=100)); // 这个也能运行 [INFO] [stderr] 17 + let secret_number = rand::thread_rng().gen_range(1..=100); // 这个也能运行 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/ch03.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | /** 基本类型 */ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 7 | // 直接的赋值能够直接推断出值的类型 [INFO] [stderr] 8 | let a = 1; // 默认为 i32 [INFO] [stderr] | ---------- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/ch03.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | /** 复合类型 */ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 83 | let _tup1: (i32, f64, u8) = (500, 6.4, 1); // 可以设置多种类型 [INFO] [stderr] | ------------------------------------------ rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/ch03.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | /// 方法只要在作用域中声明 就能够调用(不用先声明在前) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 155 | fun_1(); [INFO] [stderr] | ------- rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = help: use `//` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::any::Any` [INFO] [stderr] --> src/ch07/mod.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | use std::any::Any; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/ch07/mod.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | use std::collections::HashMap; // 引入HashMap 的习惯用法 而不是 use std::collections; 在使用 collections::HashMap [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::Result` [INFO] [stderr] --> src/ch07/mod.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | use std::fmt::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Result as IoResult` [INFO] [stderr] --> src/ch07/mod.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | use std::io::Result as IoResult; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/ch07/mod.rs:174:58 [INFO] [stderr] | [INFO] [stderr] 174 | let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 174 - let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stderr] 174 + let secret_number = rand::thread_rng().gen_range(1..100); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/ch07/mod.rs:175:58 [INFO] [stderr] | [INFO] [stderr] 175 | let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 175 - let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stderr] 175 + let secret_number = rand::thread_rng().gen_range(1..=100); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::Ordering` [INFO] [stderr] --> src/ch07/mod.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | use std::cmp::Ordering; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/ch07/mod.rs:183:13 [INFO] [stderr] | [INFO] [stderr] 183 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `cmp::Ordering`, `io` [INFO] [stderr] --> src/ch07/mod.rs:187:19 [INFO] [stderr] | [INFO] [stderr] 187 | use std::{cmp::Ordering, io}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/ch07/mod.rs:192:13 [INFO] [stderr] | [INFO] [stderr] 192 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Write` [INFO] [stderr] --> src/ch07/mod.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | use std::io::Write; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Write`, `self` [INFO] [stderr] --> src/ch07/mod.rs:197:23 [INFO] [stderr] | [INFO] [stderr] 197 | use std::io::{self, Write}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::*` [INFO] [stderr] --> src/ch07/mod.rs:203:13 [INFO] [stderr] | [INFO] [stderr] 203 | use std::collections::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `File`, `self` [INFO] [stderr] --> src/ch08_hashmap.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fs::{self, File}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/ch08_hashmap.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::ErrorKind` [INFO] [stderr] --> src/ch08_hashmap.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::io::ErrorKind; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> src/ch08_hashmap.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Add` [INFO] [stderr] --> src/ch08_hashmap.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::ops::Add; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the item `HashMap` is imported redundantly [INFO] [stderr] --> src/ch08_hashmap.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::*; [INFO] [stderr] | ------------------- the item `HashMap` is already imported here [INFO] [stderr] ... [INFO] [stderr] 17 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::*` [INFO] [stderr] --> src/ch08_string.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `File`, `self` [INFO] [stderr] --> src/ch08_string.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fs::{self, File}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/ch08_string.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::ErrorKind` [INFO] [stderr] --> src/ch08_string.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::io::ErrorKind; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::*` [INFO] [stderr] --> src/ch08_vec.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `File`, `self` [INFO] [stderr] --> src/ch08_vec.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fs::{self, File}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/ch08_vec.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::ErrorKind` [INFO] [stderr] --> src/ch08_vec.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::io::ErrorKind; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> src/ch08_vec.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Add` [INFO] [stderr] --> src/ch08_vec.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::ops::Add; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the item `io` is imported redundantly [INFO] [stderr] --> src/ch08_vec.rs:276:23 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io; [INFO] [stderr] | ------- the item `io` is already imported here [INFO] [stderr] ... [INFO] [stderr] 276 | use std::io::{self, Write}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/ch08_vec.rs:329:5 [INFO] [stderr] | [INFO] [stderr] 329 | / /// ``` [INFO] [stderr] 330 | | /// pub fn dedup_by_key(&mut self, key: F) [INFO] [stderr] 331 | | /// where [INFO] [stderr] 332 | | /// F: FnMut(&mut T) -> K, [INFO] [stderr] 333 | | /// K: PartialEq, [INFO] [stderr] 334 | | /// ``` [INFO] [stderr] 335 | | /// 移除vec中 调用F方法后 相同返回值中的多余一个的其他元素 [INFO] [stderr] | |______________________________________________________________^ [INFO] [stderr] 336 | / { [INFO] [stderr] 337 | | let mut vec = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; [INFO] [stderr] 338 | | [INFO] [stderr] 339 | | vec.dedup_by_key(|i| *i / 10); [INFO] [stderr] ... | [INFO] [stderr] 344 | | assert_eq!(vec, [1, 10]); [INFO] [stderr] 345 | | } [INFO] [stderr] | |_____- rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = help: use `//` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/ch09.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::future::Future` [INFO] [stderr] --> src/ch09.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::future::Future; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Ref` [INFO] [stderr] --> src/ch15_04.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | use std::cell::{Ref, RefCell}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ptr::read_volatile` [INFO] [stderr] --> src/ch16.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | use std::ptr::read_volatile; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/ch16.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the item `mpsc` is imported redundantly [INFO] [stderr] --> src/ch16.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 49 | use std::sync::{mpsc, Arc}; [INFO] [stderr] | ---- the item `mpsc` is already imported here [INFO] [stderr] ... [INFO] [stderr] 79 | use std::sync::mpsc; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the item `thread` is imported redundantly [INFO] [stderr] --> src/ch16.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 1 | use std::thread; [INFO] [stderr] | ----------- the item `thread` is already imported here [INFO] [stderr] ... [INFO] [stderr] 80 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the item `Duration` is imported redundantly [INFO] [stderr] --> src/ch16.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 2 | use std::time::Duration; [INFO] [stderr] | ------------------- the item `Duration` is already imported here [INFO] [stderr] ... [INFO] [stderr] 81 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/ch17.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::panic::RefUnwindSafe` [INFO] [stderr] --> src/ch19.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::panic::RefUnwindSafe; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the item `slice` is imported redundantly [INFO] [stderr] --> src/ch19.rs:117:17 [INFO] [stderr] | [INFO] [stderr] 92 | use std::slice; [INFO] [stderr] | ---------- the item `slice` is already imported here [INFO] [stderr] ... [INFO] [stderr] 117 | use std::slice; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the item `Add` is imported redundantly [INFO] [stderr] --> src/ch19.rs:310:17 [INFO] [stderr] | [INFO] [stderr] 277 | use std::ops::Add; [INFO] [stderr] | ------------- the item `Add` is already imported here [INFO] [stderr] ... [INFO] [stderr] 310 | use std::ops::Add; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/ch19.rs:507:13 [INFO] [stderr] | [INFO] [stderr] 507 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Error` [INFO] [stderr] --> src/ch19.rs:508:13 [INFO] [stderr] | [INFO] [stderr] 508 | use std::io::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::proc_macro::TokenStream` [INFO] [stderr] --> src/ch19_06.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | use self::proc_macro::TokenStream; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `quote::quote` [INFO] [stderr] --> src/ch19_06.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | use quote::quote; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `syn` [INFO] [stderr] --> src/ch19_06.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | use syn; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `hex::hex` [INFO] [stderr] --> src/main.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | use hex::hex; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `RefCell`, `Ref` [INFO] [stderr] --> src/main.rs:61:17 [INFO] [stderr] | [INFO] [stderr] 61 | use std::cell::{Ref, RefCell}; [INFO] [stderr] | ^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Write` [INFO] [stderr] --> src/main.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | use std::io::Write; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/main.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `the_rust_programming_language::Config` [INFO] [stderr] --> src/main.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | use the_rust_programming_language::Config; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> src/ch08_string.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/ch08_vec.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 126 | Float => (), [INFO] [stderr] | ----- matches any value [INFO] [stderr] 127 | Text => (), [INFO] [stderr] | ^^^^ unreachable pattern [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/ch08_vec.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 126 | Float => (), [INFO] [stderr] | ----- matches any value [INFO] [stderr] 127 | Text => (), [INFO] [stderr] 128 | Int => (), [INFO] [stderr] | ^^^ unreachable pattern [INFO] [stderr] [INFO] [stderr] warning: value assigned to `a` is never read [INFO] [stderr] --> src/ch03.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | a = [1, 2, 3, 4, 5]; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `count` is never read [INFO] [stderr] --> src/ch06.rs:276:18 [INFO] [stderr] | [INFO] [stderr] 276 | _ => count += 1, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `count` is never read [INFO] [stderr] --> src/ch06.rs:286:13 [INFO] [stderr] | [INFO] [stderr] 286 | count += 1; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `result` is never read [INFO] [stderr] --> src/ch10.rs:688:13 [INFO] [stderr] | [INFO] [stderr] 688 | result = longest(string1.as_str(), string2.as_str()); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/ch04.rs:211:13 [INFO] [stderr] | [INFO] [stderr] 211 | let mut s = String::from("hello"); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/ch04.rs:298:13 [INFO] [stderr] | [INFO] [stderr] 298 | let mut s = String::from("hello world"); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/ch08_string.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | let mut a = String::new(); // 使用类似Vector 的方法 新建一个空的字符串 [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/ch08_string.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | let mut s3 = s1 + &s2 + &s4; // 注意 s1 被移动了,不能继续使用 s2 s3 可以继续使用 [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/ch08_string.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | let mut t3 = String::from("") + &s2 + &s3; [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/ch10.rs:842:13 [INFO] [stderr] | [INFO] [stderr] 842 | let mut s: &'static str = "I have a static lifetime."; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function cannot return without recursing [INFO] [stderr] --> src/ch18.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | fn print_coordinates(&(x, y): &(i32, i32)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing [INFO] [stderr] ... [INFO] [stderr] 89 | print_coordinates(&point); [INFO] [stderr] | ------------------------- recursive call site [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unconditional_recursion)]` on by default [INFO] [stderr] = help: a `loop` may express intention better if this is on purpose [INFO] [stderr] [INFO] [stderr] warning: private type `ch10_02_traits::Point` in public interface (error E0446) [INFO] [stderr] --> src/ch10.rs:220:13 [INFO] [stderr] | [INFO] [stderr] 220 | fn summarize1(&self) -> Point; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(private_in_public)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `ch10_02_traits::Point` in public interface (error E0446) [INFO] [stderr] --> src/ch10.rs:238:13 [INFO] [stderr] | [INFO] [stderr] 238 | fn summarize1(&self) -> Point { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main` [INFO] [stderr] --> src/ch01.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn main() { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch02_00_guessing_game_tutorial` [INFO] [stderr] --> src/ch02.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn ch02_00_guessing_game_tutorial() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch03_02_data_types` [INFO] [stderr] --> src/ch03.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn ch03_02_data_types() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch03_03_how_functions_work` [INFO] [stderr] --> src/ch03.rs:135:8 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn ch03_03_how_functions_work() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch03_05_control_flow` [INFO] [stderr] --> src/ch03.rs:181:8 [INFO] [stderr] | [INFO] [stderr] 181 | pub fn ch03_05_control_flow() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fun_2` [INFO] [stderr] --> src/ch03.rs:257:4 [INFO] [stderr] | [INFO] [stderr] 257 | fn fun_2() {} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch04_01_what_is_ownership` [INFO] [stderr] --> src/ch04.rs:21:8 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn ch04_01_what_is_ownership() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch04_02_references_and_borrowing` [INFO] [stderr] --> src/ch04.rs:139:8 [INFO] [stderr] | [INFO] [stderr] 139 | pub fn ch04_02_references_and_borrowing() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch04_03_slices` [INFO] [stderr] --> src/ch04.rs:238:8 [INFO] [stderr] | [INFO] [stderr] 238 | pub fn ch04_03_slices() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch05_01_defining_structs` [INFO] [stderr] --> src/ch05.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn ch05_01_defining_structs() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch05_02_example_structs` [INFO] [stderr] --> src/ch05.rs:155:8 [INFO] [stderr] | [INFO] [stderr] 155 | pub fn ch05_02_example_structs() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch05_03_method_syntax` [INFO] [stderr] --> src/ch05.rs:224:8 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn ch05_03_method_syntax() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch06_01_defining_an_enum` [INFO] [stderr] --> src/ch06.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn ch06_01_defining_an_enum() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch06_02_match` [INFO] [stderr] --> src/ch06.rs:125:8 [INFO] [stderr] | [INFO] [stderr] 125 | pub fn ch06_02_match() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Alabama` [INFO] [stderr] --> src/ch06.rs:228:5 [INFO] [stderr] | [INFO] [stderr] 228 | Alabama, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `UsState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/ch06.rs:226:10 [INFO] [stderr] | [INFO] [stderr] 226 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Alaska` [INFO] [stderr] --> src/ch06.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | Alaska, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `UsState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/ch06.rs:226:10 [INFO] [stderr] | [INFO] [stderr] 226 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `A1` [INFO] [stderr] --> src/ch06.rs:230:5 [INFO] [stderr] | [INFO] [stderr] 230 | A1(B1), // --snip-- [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `UsState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/ch06.rs:226:10 [INFO] [stderr] | [INFO] [stderr] 226 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `B2` [INFO] [stderr] --> src/ch06.rs:235:5 [INFO] [stderr] | [INFO] [stderr] 235 | B2, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: `B1` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/ch06.rs:233:10 [INFO] [stderr] | [INFO] [stderr] 233 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `B3` [INFO] [stderr] --> src/ch06.rs:236:5 [INFO] [stderr] | [INFO] [stderr] 236 | B3, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: `B1` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/ch06.rs:233:10 [INFO] [stderr] | [INFO] [stderr] 233 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Coin` [INFO] [stderr] --> src/ch06.rs:240:6 [INFO] [stderr] | [INFO] [stderr] 240 | enum Coin { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch06_03_if_let` [INFO] [stderr] --> src/ch06.rs:248:8 [INFO] [stderr] | [INFO] [stderr] 248 | pub fn ch06_03_if_let() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch06_03_matches` [INFO] [stderr] --> src/ch06.rs:292:8 [INFO] [stderr] | [INFO] [stderr] 292 | pub fn ch06_03_matches() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main` [INFO] [stderr] --> src/ch07/mod.rs:79:8 [INFO] [stderr] | [INFO] [stderr] 79 | pub fn main() { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch08_03_hash_maps` [INFO] [stderr] --> src/ch08_hashmap.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn ch08_03_hash_maps() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch08_02_strings` [INFO] [stderr] --> src/ch08_string.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn ch08_02_strings() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch08_01_vectors` [INFO] [stderr] --> src/ch08_vec.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn ch08_01_vectors() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch09_01_unrecoverable_errors_with_panic` [INFO] [stderr] --> src/ch09.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn ch09_01_unrecoverable_errors_with_panic() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch09_02_recoverable_errors_with_result` [INFO] [stderr] --> src/ch09.rs:31:8 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn ch09_02_recoverable_errors_with_result() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch09_03_to_panic_or_not_to_panic` [INFO] [stderr] --> src/ch09.rs:177:8 [INFO] [stderr] | [INFO] [stderr] 177 | pub fn ch09_03_to_panic_or_not_to_panic() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch10_00_generics` [INFO] [stderr] --> src/ch10.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn ch10_00_generics() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch10_01_syntax` [INFO] [stderr] --> src/ch10.rs:32:8 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn ch10_01_syntax() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch10_02_traits` [INFO] [stderr] --> src/ch10.rs:159:8 [INFO] [stderr] | [INFO] [stderr] 159 | pub fn ch10_02_traits() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch10_03_lifetime_syntax` [INFO] [stderr] --> src/ch10.rs:626:8 [INFO] [stderr] | [INFO] [stderr] 626 | pub fn ch10_03_lifetime_syntax() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `value` [INFO] [stderr] --> src/ch11_01.rs:133:5 [INFO] [stderr] | [INFO] [stderr] 133 | value: i32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_two` [INFO] [stderr] --> src/ch11_03.rs:17:8 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn add_two(a: i32) -> i32 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Config` [INFO] [stderr] --> src/ch12.rs:20:8 [INFO] [stderr] | [INFO] [stderr] 20 | struct Config<'a> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/ch12.rs:26:8 [INFO] [stderr] | [INFO] [stderr] 26 | fn new(args: &[String]) -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `minigrep` [INFO] [stderr] --> src/ch12.rs:38:8 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn minigrep() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `run` [INFO] [stderr] --> src/ch12.rs:61:4 [INFO] [stderr] | [INFO] [stderr] 61 | fn run(config: Config) -> Result<(), Box> { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch13_01_closures` [INFO] [stderr] --> src/ch13.rs:9:8 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn ch13_01_closures() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch13_02_iterators` [INFO] [stderr] --> src/ch13.rs:224:8 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn ch13_02_iterators() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch13_04_performance` [INFO] [stderr] --> src/ch13.rs:392:8 [INFO] [stderr] | [INFO] [stderr] 392 | pub fn ch13_04_performance(buffer: &mut [i32], coefficients: [i64; 12], qlp_shift: i16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch14_01_release_profiles` [INFO] [stderr] --> src/ch14.rs:22:4 [INFO] [stderr] | [INFO] [stderr] 22 | fn ch14_01_release_profiles() {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch14_02_publishing_to_crates_io` [INFO] [stderr] --> src/ch14.rs:27:4 [INFO] [stderr] | [INFO] [stderr] 27 | fn ch14_02_publishing_to_crates_io() {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch15_01_box` [INFO] [stderr] --> src/ch15.rs:34:4 [INFO] [stderr] | [INFO] [stderr] 34 | fn ch15_01_box() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch15_02_deref` [INFO] [stderr] --> src/ch15.rs:89:8 [INFO] [stderr] | [INFO] [stderr] 89 | pub fn ch15_02_deref() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch15_03_drop` [INFO] [stderr] --> src/ch15.rs:182:8 [INFO] [stderr] | [INFO] [stderr] 182 | pub fn ch15_03_drop() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `List` [INFO] [stderr] --> src/ch15.rs:247:6 [INFO] [stderr] | [INFO] [stderr] 247 | enum List { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch15_04_rc` [INFO] [stderr] --> src/ch15.rs:252:8 [INFO] [stderr] | [INFO] [stderr] 252 | pub fn ch15_04_rc() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Cons` [INFO] [stderr] --> src/ch15_02.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Cons(Rc>, Rc), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/ch15_02.rs:8:10 [INFO] [stderr] | [INFO] [stderr] 8 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Nil` [INFO] [stderr] --> src/ch15_02.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | Nil, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/ch15_02.rs:8:10 [INFO] [stderr] | [INFO] [stderr] 8 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main` [INFO] [stderr] --> src/ch15_02.rs:16:8 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn main() { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Cons` [INFO] [stderr] --> src/ch15_03.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | Cons(i32, RefCell>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/ch15_03.rs:11:10 [INFO] [stderr] | [INFO] [stderr] 11 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Nil` [INFO] [stderr] --> src/ch15_03.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | Nil, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/ch15_03.rs:11:10 [INFO] [stderr] | [INFO] [stderr] 11 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `tail` [INFO] [stderr] --> src/ch15_03.rs:20:8 [INFO] [stderr] | [INFO] [stderr] 20 | fn tail(&self) -> Option<&RefCell>> { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main` [INFO] [stderr] --> src/ch15_03.rs:28:8 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn main() { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `value` [INFO] [stderr] --> src/ch15_04.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | value: i32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/ch15_04.rs:21:10 [INFO] [stderr] | [INFO] [stderr] 21 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `parent` [INFO] [stderr] --> src/ch15_04.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | parent: RefCell>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/ch15_04.rs:21:10 [INFO] [stderr] | [INFO] [stderr] 21 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `children` [INFO] [stderr] --> src/ch15_04.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | children: RefCell>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/ch15_04.rs:21:10 [INFO] [stderr] | [INFO] [stderr] 21 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main` [INFO] [stderr] --> src/ch15_04.rs:30:8 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn main() { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch16_01_threads` [INFO] [stderr] --> src/ch16.rs:16:8 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn ch16_01_threads() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch16_02_message_passing` [INFO] [stderr] --> src/ch16.rs:52:8 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn ch16_02_message_passing() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch16_03_shared_state` [INFO] [stderr] --> src/ch16.rs:140:8 [INFO] [stderr] | [INFO] [stderr] 140 | pub fn ch16_03_shared_state() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch16_04_extensible_concurrency_sync_and_send` [INFO] [stderr] --> src/ch16.rs:218:8 [INFO] [stderr] | [INFO] [stderr] 218 | pub fn ch16_04_extensible_concurrency_sync_and_send() {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch17_01whatis_oo` [INFO] [stderr] --> src/ch17.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn ch17_01whatis_oo() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch17_02_trait_objects` [INFO] [stderr] --> src/ch17.rs:37:8 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn ch17_02_trait_objects() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch17_03_oo_design_patterns` [INFO] [stderr] --> src/ch17.rs:226:8 [INFO] [stderr] | [INFO] [stderr] 226 | pub fn ch17_03_oo_design_patterns() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch18_01_all_the_places_for_patterns` [INFO] [stderr] --> src/ch18.rs:2:8 [INFO] [stderr] | [INFO] [stderr] 2 | pub fn ch18_01_all_the_places_for_patterns() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch18_02_refutability` [INFO] [stderr] --> src/ch18.rs:95:8 [INFO] [stderr] | [INFO] [stderr] 95 | pub fn ch18_02_refutability() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch18_03_pattern_syntax` [INFO] [stderr] --> src/ch18.rs:104:8 [INFO] [stderr] | [INFO] [stderr] 104 | pub fn ch18_03_pattern_syntax() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch19_01_unsafe_rust` [INFO] [stderr] --> src/ch19.rs:6:8 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn ch19_01_unsafe_rust() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch19_03_advanced_traits` [INFO] [stderr] --> src/ch19.rs:213:8 [INFO] [stderr] | [INFO] [stderr] 213 | pub fn ch19_03_advanced_traits() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch19_04_advanced_types` [INFO] [stderr] --> src/ch19.rs:475:8 [INFO] [stderr] | [INFO] [stderr] 475 | pub fn ch19_04_advanced_types() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ch19_05_advanced_functions_and_closures` [INFO] [stderr] --> src/ch19.rs:661:8 [INFO] [stderr] | [INFO] [stderr] 661 | pub fn ch19_05_advanced_functions_and_closures() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main` [INFO] [stderr] --> src/ch19_06.rs:35:4 [INFO] [stderr] | [INFO] [stderr] 35 | fn main() { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main` [INFO] [stderr] --> src/ch20.rs:7:8 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn main() { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `handle_connection` [INFO] [stderr] --> src/ch20.rs:19:4 [INFO] [stderr] | [INFO] [stderr] 19 | fn handle_connection(mut stream: TcpStream) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `breathe_in` [INFO] [stderr] --> src/ch07/mod.rs:14:8 [INFO] [stderr] | [INFO] [stderr] 14 | fn breathe_in() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Vegetable` [INFO] [stderr] --> src/ch07/mod.rs:26:16 [INFO] [stderr] | [INFO] [stderr] 26 | pub struct Vegetable { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/ch07/mod.rs:32:16 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn new(name: &str) -> Vegetable { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `generate_struct` [INFO] [stderr] --> src/ch07/mod.rs:40:12 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn generate_struct() -> Vegetable { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Appetizer` [INFO] [stderr] --> src/ch07/mod.rs:50:14 [INFO] [stderr] | [INFO] [stderr] 50 | pub enum Appetizer { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `clarinet_trio` [INFO] [stderr] --> src/ch07/mod.rs:63:12 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn clarinet_trio() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `clarinet_trio` [INFO] [stderr] --> src/ch07/mod.rs:160:20 [INFO] [stderr] | [INFO] [stderr] 160 | pub fn clarinet_trio() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `clarinet` [INFO] [stderr] --> src/ch07/mod.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn clarinet() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `clarinet` [INFO] [stderr] --> src/ch07/sound1.rs:2:12 [INFO] [stderr] | [INFO] [stderr] 2 | pub fn clarinet() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `clarinet` [INFO] [stderr] --> src/ch07/sound2/instrument.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn clarinet() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `clarinet` [INFO] [stderr] --> src/ch07/sound3/instrument.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn clarinet() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `clarinet` [INFO] [stderr] --> src/ch07/mod.rs:150:24 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn clarinet() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: cannot test inner items [INFO] [stderr] --> src/ch13.rs:294:9 [INFO] [stderr] | [INFO] [stderr] 294 | #[test] [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unnameable_test_items)]` on by default [INFO] [stderr] = note: this warning originates in the attribute macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable `changeColorMessage` should have a snake case name [INFO] [stderr] --> src/ch06.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | let changeColorMessage = ChangeColorMessage(1, 1, 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `change_color_message` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Filter` that must be used [INFO] [stderr] --> src/ch06.rs:299:5 [INFO] [stderr] | [INFO] [stderr] 299 | v.iter().filter(|x| matches!(x, MyEnum::Foo)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: iterators are lazy and do nothing unless consumed [INFO] [stderr] [INFO] [stderr] warning: variable `Float` should have a snake case name [INFO] [stderr] --> src/ch08_vec.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | Float => (), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `float` [INFO] [stderr] [INFO] [stderr] warning: variable `Text` should have a snake case name [INFO] [stderr] --> src/ch08_vec.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | Text => (), [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `text` [INFO] [stderr] [INFO] [stderr] warning: variable `Int` should have a snake case name [INFO] [stderr] --> src/ch08_vec.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | Int => (), [INFO] [stderr] | ^^^ help: convert the identifier to snake case (notice the capitalization): `int` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> src/ch17.rs:18:22 [INFO] [stderr] | [INFO] [stderr] 18 | Some(Value) => { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `length` [INFO] [stderr] --> src/ch11_01.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | length: u32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Rectangle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/ch11_01.rs:3:10 [INFO] [stderr] | [INFO] [stderr] 3 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `width` [INFO] [stderr] --> src/ch11_01.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | width: u32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Rectangle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/ch11_01.rs:3:10 [INFO] [stderr] | [INFO] [stderr] 3 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `can_hold` [INFO] [stderr] --> src/ch11_01.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn can_hold(&self, other: &Rectangle) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_two` [INFO] [stderr] --> src/ch11_01.rs:82:8 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn add_two(a: i32) -> i32 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `greeting` [INFO] [stderr] --> src/ch11_01.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn greeting(name: &str) -> String { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Guess` [INFO] [stderr] --> src/ch11_01.rs:132:12 [INFO] [stderr] | [INFO] [stderr] 132 | pub struct Guess { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/ch11_01.rs:137:12 [INFO] [stderr] | [INFO] [stderr] 137 | pub fn new(value: i32) -> Guess { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prints_and_returns_10` [INFO] [stderr] --> src/ch11_02.rs:12:4 [INFO] [stderr] | [INFO] [stderr] 12 | fn prints_and_returns_10(a: i32) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_two` [INFO] [stderr] --> src/ch11_02.rs:38:8 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn add_two(a: i32) -> i32 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `internal_adder` [INFO] [stderr] --> src/ch11_03.rs:22:4 [INFO] [stderr] | [INFO] [stderr] 22 | fn internal_adder(a: i32, b: i32) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `search` [INFO] [stderr] --> src/ch12.rs:72:8 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `LimitTracker` [INFO] [stderr] --> src/ch15.rs:347:12 [INFO] [stderr] | [INFO] [stderr] 347 | pub struct LimitTracker<'a, T: Messenger> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/ch15.rs:357:12 [INFO] [stderr] | [INFO] [stderr] 357 | pub fn new(messenger: &T, max: usize) -> LimitTracker { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `set_value` [INFO] [stderr] --> src/ch15.rs:365:12 [INFO] [stderr] | [INFO] [stderr] 365 | pub fn set_value(&mut self, value: usize) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `the_rust_programming_language` (test "integration_test") generated 1 warning [INFO] [stderr] warning: `the_rust_programming_language` (bin "the_rust_programming_language" test) generated 169 warnings [INFO] [stderr] warning: `the_rust_programming_language` (bin "the_rust_programming_language") generated 181 warnings (167 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 55.74s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/the_rust_programming_language-1588b01c4c712f97) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test tests::case_insensitive ... ok [INFO] [stdout] test tests::case_sensitive ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/the_rust_programming_language-ba40f864915e8a59) [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test ch11_01::test4::greeting_contains_name ... ok [INFO] [stdout] test ch11_01::tests1::it_works ... ok [INFO] [stdout] test ch11_01::tests2::larger_can_hold_smaller ... ok [INFO] [stdout] test ch11_01::tests2::smaller_cannot_hold_larger ... ok [INFO] [stdout] test ch11_01::tests3::it_adds_two ... ok [INFO] [stdout] test ch11_01::tests3::test_struct ... ok [INFO] [stdout] test ch11_01::tests6::it_works ... ok [INFO] [stdout] test ch11_02::tests1::add_three_and_two ... ok [INFO] [stdout] test ch11_02::tests1::expensive_test ... ignored [INFO] [stdout] test ch11_02::tests1::add_two_and_two ... ok [INFO] [stdout] test ch11_02::tests::this_test_will_pass ... ok [INFO] [stdout] test ch11_03::tests::internal ... ok [INFO] [stdout] test ch11_02::tests1::one_hundred ... ok [INFO] [stdout] test ch12::tests::one_result ... ok [INFO] [stdout] test ch13::iterator_demonstration ... ok [INFO] [stdout] test ch15::tests::it_sends_an_over_75_percent_warning_message ... ok [INFO] [stderr] Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-e37dbe96c2374c05) [INFO] [stdout] test ch11_02::tests::this_test_will_fail - should panic ... ok [INFO] [stdout] test ch11_01::tests5::greater_than_100 - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Doc-tests the_rust_programming_language [INFO] [stdout] running 1 test [INFO] [stdout] test it_adds_two ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/lib.rs - add_one (line 259) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.54s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b796e1f34eeeb278c4f1c7da23926f38dbd68077133c035ed3a002b88555f001", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b796e1f34eeeb278c4f1c7da23926f38dbd68077133c035ed3a002b88555f001", kill_on_drop: false }` [INFO] [stdout] b796e1f34eeeb278c4f1c7da23926f38dbd68077133c035ed3a002b88555f001