[INFO] cloning repository https://github.com/DreamLarva/learn-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DreamLarva/learn-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDreamLarva%2Flearn-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDreamLarva%2Flearn-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8b384b2406dda6533877ea4f76c753583f8226c7 [INFO] checking DreamLarva/learn-rust against master#33fdb797f59421c7bbecaa4588ed5d7a31a9494a for pr-87190-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDreamLarva%2Flearn-rust" "/workspace/builds/worker-116/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-116/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/DreamLarva/learn-rust on toolchain 33fdb797f59421c7bbecaa4588ed5d7a31a9494a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+33fdb797f59421c7bbecaa4588ed5d7a31a9494a" "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-116/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" "+33fdb797f59421c7bbecaa4588ed5d7a31a9494a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-116/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-116/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+33fdb797f59421c7bbecaa4588ed5d7a31a9494a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0d172d424b7564787d67ae17a7773cf8f55c8c3130c345ceb93a199bacdd2dd9 [INFO] running `Command { std: "docker" "start" "-a" "0d172d424b7564787d67ae17a7773cf8f55c8c3130c345ceb93a199bacdd2dd9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0d172d424b7564787d67ae17a7773cf8f55c8c3130c345ceb93a199bacdd2dd9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0d172d424b7564787d67ae17a7773cf8f55c8c3130c345ceb93a199bacdd2dd9", kill_on_drop: false }` [INFO] [stdout] 0d172d424b7564787d67ae17a7773cf8f55c8c3130c345ceb93a199bacdd2dd9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-116/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-116/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=forbid" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+33fdb797f59421c7bbecaa4588ed5d7a31a9494a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ebecf626fc92781bb247b9ad078607bd2d47f4cbcfffdb4f4b70c6b9459a5e93 [INFO] running `Command { std: "docker" "start" "-a" "ebecf626fc92781bb247b9ad078607bd2d47f4cbcfffdb4f4b70c6b9459a5e93", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.88 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking getrandom v0.2.2 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking rand_core v0.6.2 [INFO] [stderr] Checking rand_chacha v0.3.0 [INFO] [stderr] Checking rand v0.8.3 [INFO] [stderr] Checking add-one v0.1.0 (/opt/rustwide/workdir/add-one) [INFO] [stderr] Checking adder v0.1.0 (/opt/rustwide/workdir/adder) [INFO] [stderr] Checking 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: 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: 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: 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: 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: 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: 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: 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: 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: `cook_order` [INFO] [stdout] --> src/lib.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | fn cook_order() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `seasonal_fruit` [INFO] [stdout] --> src/lib.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Appetizer` [INFO] [stdout] --> src/lib.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | pub enum Appetizer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `eat_at_restaurant` [INFO] [stdout] --> src/lib.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn eat_at_restaurant() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `serve_order` [INFO] [stdout] --> src/lib.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn serve_order() {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fix_incorrect_order` [INFO] [stdout] --> src/lib.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | fn fix_incorrect_order() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cook_order` [INFO] [stdout] --> src/lib.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | fn cook_order() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `seasonal_fruit` [INFO] [stdout] --> src/lib.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Appetizer` [INFO] [stdout] --> src/lib.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | pub enum Appetizer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `eat_at_restaurant` [INFO] [stdout] --> src/lib.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn eat_at_restaurant() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `adder` [INFO] [stdout] --> tests/integration_test.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use adder; [INFO] [stdout] | ^^^^^ no external crate `adder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stderr] error: could not compile `the_rust_programming_language` due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File`, `self` [INFO] [stdout] --> src/main.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::{self, File}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Add`, `Index` [INFO] [stdout] --> src/main.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | use std::ops::{Add, Index}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `env`, `io`, `process` [INFO] [stdout] --> src/main.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | use std::{env, io, process}; [INFO] [stdout] | ^^^ ^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch02.rs:17:54 [INFO] [stdout] | [INFO] [stdout] 17 | let secret_number = rand::thread_rng().gen_range((1..=100)); // 这个也能运行 [INFO] [stdout] | ^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ch03.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | /** 基本类型 */ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | // 直接的赋值能够直接推断出值的类型 [INFO] [stdout] 8 | let a = 1; // 默认为 i32 [INFO] [stdout] | ---------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ch03.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | /** 复合类型 */ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | let _tup1: (i32, f64, u8) = (500, 6.4, 1); // 可以设置多种类型 [INFO] [stdout] | ------------------------------------------ rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ch03.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | /// 方法只要在作用域中声明 就能够调用(不用先声明在前) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 154 | fun_1(); [INFO] [stdout] | ------- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/ch05.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | let (x) = &origin; [INFO] [stdout] | ^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/ch07/mod.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/ch07/mod.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | use std::collections::HashMap; // 引入HashMap 的习惯用法 而不是 use std::collections; 在使用 collections::HashMap [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Result` [INFO] [stdout] --> src/ch07/mod.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | use std::fmt::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Result as IoResult` [INFO] [stdout] --> src/ch07/mod.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | use std::io::Result as IoResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch07/mod.rs:174:58 [INFO] [stdout] | [INFO] [stdout] 174 | let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] | ^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch07/mod.rs:175:58 [INFO] [stdout] | [INFO] [stdout] 175 | let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stdout] | ^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Ordering` [INFO] [stdout] --> src/ch07/mod.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch07/mod.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::Ordering`, `io` [INFO] [stdout] --> src/ch07/mod.rs:187:19 [INFO] [stdout] | [INFO] [stdout] 187 | use std::{cmp::Ordering, io}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch07/mod.rs:192:13 [INFO] [stdout] | [INFO] [stdout] 192 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/ch07/mod.rs:193:13 [INFO] [stdout] | [INFO] [stdout] 193 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `self` [INFO] [stdout] --> src/ch07/mod.rs:197:23 [INFO] [stdout] | [INFO] [stdout] 197 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::*` [INFO] [stdout] --> src/ch07/mod.rs:203:13 [INFO] [stdout] | [INFO] [stdout] 203 | use std::collections::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File`, `self` [INFO] [stdout] --> src/ch08_hashmap.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, File}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch08_hashmap.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> src/ch08_hashmap.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/ch08_hashmap.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/ch08_hashmap.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `HashMap` is imported redundantly [INFO] [stdout] --> src/ch08_hashmap.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::*; [INFO] [stdout] | ------------------- the item `HashMap` is already imported here [INFO] [stdout] ... [INFO] [stdout] 17 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::*` [INFO] [stdout] --> src/ch08_string.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File`, `self` [INFO] [stdout] --> src/ch08_string.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, File}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch08_string.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> src/ch08_string.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::*` [INFO] [stdout] --> src/ch08_vec.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File`, `self` [INFO] [stdout] --> src/ch08_vec.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, File}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch08_vec.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> src/ch08_vec.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/ch08_vec.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/ch08_vec.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `io` is imported redundantly [INFO] [stdout] --> src/ch08_vec.rs:276:23 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io; [INFO] [stdout] | ------- the item `io` is already imported here [INFO] [stdout] ... [INFO] [stdout] 276 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ch08_vec.rs:329:5 [INFO] [stdout] | [INFO] [stdout] 329 | / /// ``` [INFO] [stdout] 330 | | /// pub fn dedup_by_key(&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 imports: `RefCell`, `Ref` [INFO] [stdout] --> src/main.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | use std::cell::{Ref, RefCell}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/main.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `the_rust_programming_language::Config` [INFO] [stdout] --> src/main.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | use the_rust_programming_language::Config; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File`, `self` [INFO] [stdout] --> src/main.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::{self, File}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Add`, `Index` [INFO] [stdout] --> src/main.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | use std::ops::{Add, Index}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `env`, `io`, `process` [INFO] [stdout] --> src/main.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | use std::{env, io, process}; [INFO] [stdout] | ^^^ ^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch02.rs:17:54 [INFO] [stdout] | [INFO] [stdout] 17 | let secret_number = rand::thread_rng().gen_range((1..=100)); // 这个也能运行 [INFO] [stdout] | ^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ch03.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | /** 基本类型 */ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | // 直接的赋值能够直接推断出值的类型 [INFO] [stdout] 8 | let a = 1; // 默认为 i32 [INFO] [stdout] | ---------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ch03.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | /** 复合类型 */ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | let _tup1: (i32, f64, u8) = (500, 6.4, 1); // 可以设置多种类型 [INFO] [stdout] | ------------------------------------------ rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ch03.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | /// 方法只要在作用域中声明 就能够调用(不用先声明在前) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 154 | fun_1(); [INFO] [stdout] | ------- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/ch05.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | let (x) = &origin; [INFO] [stdout] | ^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/ch07/mod.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/ch07/mod.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | use std::collections::HashMap; // 引入HashMap 的习惯用法 而不是 use std::collections; 在使用 collections::HashMap [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Result` [INFO] [stdout] --> src/ch07/mod.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | use std::fmt::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Result as IoResult` [INFO] [stdout] --> src/ch07/mod.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | use std::io::Result as IoResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch07/mod.rs:174:58 [INFO] [stdout] | [INFO] [stdout] 174 | let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] | ^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch07/mod.rs:175:58 [INFO] [stdout] | [INFO] [stdout] 175 | let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stdout] | ^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Ordering` [INFO] [stdout] --> src/ch07/mod.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch07/mod.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::Ordering`, `io` [INFO] [stdout] --> src/ch07/mod.rs:187:19 [INFO] [stdout] | [INFO] [stdout] 187 | use std::{cmp::Ordering, io}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch07/mod.rs:192:13 [INFO] [stdout] | [INFO] [stdout] 192 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/ch07/mod.rs:193:13 [INFO] [stdout] | [INFO] [stdout] 193 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `self` [INFO] [stdout] --> src/ch07/mod.rs:197:23 [INFO] [stdout] | [INFO] [stdout] 197 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::*` [INFO] [stdout] --> src/ch07/mod.rs:203:13 [INFO] [stdout] | [INFO] [stdout] 203 | use std::collections::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File`, `self` [INFO] [stdout] --> src/ch08_hashmap.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, File}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch08_hashmap.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> src/ch08_hashmap.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/ch08_hashmap.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/ch08_hashmap.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `HashMap` is imported redundantly [INFO] [stdout] --> src/ch08_hashmap.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::*; [INFO] [stdout] | ------------------- the item `HashMap` is already imported here [INFO] [stdout] ... [INFO] [stdout] 17 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::*` [INFO] [stdout] --> src/ch08_string.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File`, `self` [INFO] [stdout] --> src/ch08_string.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, File}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch08_string.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> src/ch08_string.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::*` [INFO] [stdout] --> src/ch08_vec.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File`, `self` [INFO] [stdout] --> src/ch08_vec.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{self, File}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch08_vec.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> src/ch08_vec.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/ch08_vec.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/ch08_vec.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `io` is imported redundantly [INFO] [stdout] --> src/ch08_vec.rs:276:23 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io; [INFO] [stdout] | ------- the item `io` is already imported here [INFO] [stdout] ... [INFO] [stdout] 276 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ch08_vec.rs:329:5 [INFO] [stdout] | [INFO] [stdout] 329 | / /// ``` [INFO] [stdout] 330 | | /// pub fn dedup_by_key(&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 imports: `RefCell`, `Ref` [INFO] [stdout] --> src/main.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | use std::cell::{Ref, RefCell}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/main.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `the_rust_programming_language::Config` [INFO] [stdout] --> src/main.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | use the_rust_programming_language::Config; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/ch08_string.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ch08_vec.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 126 | Float => (), [INFO] [stdout] | ----- matches any value [INFO] [stdout] 127 | Text => (), [INFO] [stdout] | ^^^^ unreachable pattern [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ch08_vec.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 126 | Float => (), [INFO] [stdout] | ----- matches any value [INFO] [stdout] 127 | Text => (), [INFO] [stdout] 128 | Int => (), [INFO] [stdout] | ^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `a` is never read [INFO] [stdout] --> src/ch03.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | a = [1, 2, 3, 4, 5]; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `count` is never read [INFO] [stdout] --> src/ch06.rs:276:18 [INFO] [stdout] | [INFO] [stdout] 276 | _ => count += 1, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `count` is never read [INFO] [stdout] --> src/ch06.rs:286:13 [INFO] [stdout] | [INFO] [stdout] 286 | count += 1; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `result` is never read [INFO] [stdout] --> src/ch10.rs:654:13 [INFO] [stdout] | [INFO] [stdout] 654 | result = longest(string1.as_str(), string2.as_str()); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/ch08_string.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ch08_vec.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 126 | Float => (), [INFO] [stdout] | ----- matches any value [INFO] [stdout] 127 | Text => (), [INFO] [stdout] | ^^^^ unreachable pattern [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ch08_vec.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 126 | Float => (), [INFO] [stdout] | ----- matches any value [INFO] [stdout] 127 | Text => (), [INFO] [stdout] 128 | Int => (), [INFO] [stdout] | ^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `a` is never read [INFO] [stdout] --> src/ch03.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | a = [1, 2, 3, 4, 5]; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `count` is never read [INFO] [stdout] --> src/ch06.rs:276:18 [INFO] [stdout] | [INFO] [stdout] 276 | _ => count += 1, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `count` is never read [INFO] [stdout] --> src/ch06.rs:286:13 [INFO] [stdout] | [INFO] [stdout] 286 | count += 1; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `result` is never read [INFO] [stdout] --> src/ch10.rs:654:13 [INFO] [stdout] | [INFO] [stdout] 654 | result = longest(string1.as_str(), string2.as_str()); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch04.rs:277:13 [INFO] [stdout] | [INFO] [stdout] 277 | let mut s = String::from("hello world"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch04.rs:277:13 [INFO] [stdout] | [INFO] [stdout] 277 | let mut s = String::from("hello world"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch08_string.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let mut a = String::new(); // 使用类似Vector 的方法 新建一个空的字符串 [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch08_string.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | let mut s3 = s1 + &s2 + &s4; // 注意 s1 被移动了,不能继续使用 s2 s3 可以继续使用 [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch08_string.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let mut t3 = String::from("") + &s2 + &s3; [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch08_string.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let mut a = String::new(); // 使用类似Vector 的方法 新建一个空的字符串 [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch08_string.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | let mut s3 = s1 + &s2 + &s4; // 注意 s1 被移动了,不能继续使用 s2 s3 可以继续使用 [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch08_string.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let mut t3 = String::from("") + &s2 + &s3; [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch10.rs:808:13 [INFO] [stdout] | [INFO] [stdout] 808 | let mut s: &'static str = "I have a static lifetime."; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch10.rs:808:13 [INFO] [stdout] | [INFO] [stdout] 808 | let mut s: &'static str = "I have a static lifetime."; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `ch10_02_traits::Point` in public interface (error E0446) [INFO] [stdout] --> src/ch10.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | 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:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | 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:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn ch03_03_how_functions_work() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch03_05_control_flow` [INFO] [stdout] --> src/ch03.rs:180:8 [INFO] [stdout] | [INFO] [stdout] 180 | pub fn ch03_05_control_flow() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fun_2` [INFO] [stdout] --> src/ch03.rs:256:4 [INFO] [stdout] | [INFO] [stdout] 256 | fn fun_2() {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch04_01_what_is_ownership` [INFO] [stdout] --> src/ch04.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn ch04_01_what_is_ownership() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch04_02_references_and_borrowing` [INFO] [stdout] --> src/ch04.rs:140:8 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn ch04_02_references_and_borrowing() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch04_03_slices` [INFO] [stdout] --> src/ch04.rs:230:8 [INFO] [stdout] | [INFO] [stdout] 230 | pub fn ch04_03_slices() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch05_01_defining_structs` [INFO] [stdout] --> src/ch05.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn ch05_01_defining_structs() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch05_02_example_structs` [INFO] [stdout] --> src/ch05.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn ch05_02_example_structs() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch05_03_method_syntax` [INFO] [stdout] --> src/ch05.rs:185:8 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn ch05_03_method_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch06_01_defining_an_enum` [INFO] [stdout] --> src/ch06.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn ch06_01_defining_an_enum() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch06_02_match` [INFO] [stdout] --> src/ch06.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn ch06_02_match() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Alabama` [INFO] [stdout] --> src/ch06.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 228 | Alabama, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Alaska` [INFO] [stdout] --> src/ch06.rs:229:5 [INFO] [stdout] | [INFO] [stdout] 229 | Alaska, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `A1` [INFO] [stdout] --> src/ch06.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | A1(B1), // --snip-- [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `B2` [INFO] [stdout] --> src/ch06.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | B2, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `B3` [INFO] [stdout] --> src/ch06.rs:236:5 [INFO] [stdout] | [INFO] [stdout] 236 | B3, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Coin` [INFO] [stdout] --> src/ch06.rs:240:6 [INFO] [stdout] | [INFO] [stdout] 240 | enum Coin { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch06_03_if_let` [INFO] [stdout] --> src/ch06.rs:248:8 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn ch06_03_if_let() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clarinet` [INFO] [stdout] --> src/ch07/mod.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `breathe_in` [INFO] [stdout] --> src/ch07/mod.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | fn breathe_in() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Vegetable` [INFO] [stdout] --> src/ch07/mod.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Vegetable { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/ch07/mod.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn new(name: &str) -> Vegetable { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `generate_struct` [INFO] [stdout] --> src/ch07/mod.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn generate_struct() -> Vegetable { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Appetizer` [INFO] [stdout] --> src/ch07/mod.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | pub enum Appetizer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clarinet_trio` [INFO] [stdout] --> src/ch07/mod.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn clarinet_trio() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clarinet` [INFO] [stdout] --> src/ch07/sound1.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clarinet` [INFO] [stdout] --> src/ch07/sound2/instrument.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clarinet` [INFO] [stdout] --> src/ch07/sound3/instrument.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/ch07/mod.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch08_03_hash_maps` [INFO] [stdout] --> src/ch08_hashmap.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn ch08_03_hash_maps() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch08_02_strings` [INFO] [stdout] --> src/ch08_string.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn ch08_02_strings() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch08_01_vectors` [INFO] [stdout] --> src/ch08_vec.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn ch08_01_vectors() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch09_01_unrecoverable_errors_with_panic` [INFO] [stdout] --> src/ch09.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn ch09_01_unrecoverable_errors_with_panic() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch09_02_recoverable_errors_with_result` [INFO] [stdout] --> src/ch09.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn ch09_02_recoverable_errors_with_result() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch09_03_to_panic_or_not_to_panic` [INFO] [stdout] --> src/ch09.rs:177:8 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn ch09_03_to_panic_or_not_to_panic() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch10_00_generics` [INFO] [stdout] --> src/ch10.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn ch10_00_generics() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch10_01_syntax` [INFO] [stdout] --> src/ch10.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn ch10_01_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch10_02_traits` [INFO] [stdout] --> src/ch10.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn ch10_02_traits() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch10_03_lifetime_syntax` [INFO] [stdout] --> src/ch10.rs:594:8 [INFO] [stdout] | [INFO] [stdout] 594 | pub fn ch10_03_lifetime_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `can_hold` [INFO] [stdout] --> src/ch11_01.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn can_hold(&self, other: &Rectangle) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_two` [INFO] [stdout] --> src/ch11_01.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn add_two(a: i32) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `greeting` [INFO] [stdout] --> src/ch11_01.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn greeting(name: &str) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Guess` [INFO] [stdout] --> src/ch11_01.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | pub struct Guess { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/ch11_01.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn new(value: i32) -> Guess { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prints_and_returns_10` [INFO] [stdout] --> src/ch11_02.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn prints_and_returns_10(a: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_two` [INFO] [stdout] --> src/ch11_02.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn add_two(a: i32) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_two` [INFO] [stdout] --> src/ch11_03.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn add_two(a: i32) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `internal_adder` [INFO] [stdout] --> src/ch11_03.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn internal_adder(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Config` [INFO] [stdout] --> src/ch12.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | struct Config<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/ch12.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | fn new(args: &[String]) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `minigrep` [INFO] [stdout] --> src/ch12.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn minigrep() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `run` [INFO] [stdout] --> src/ch12.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn run(config: Config) -> Result<(), Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search` [INFO] [stdout] --> src/ch12.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch13_01_closures` [INFO] [stdout] --> src/ch13.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn ch13_01_closures() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch13_02_iterators` [INFO] [stdout] --> src/ch13.rs:224:8 [INFO] [stdout] | [INFO] [stdout] 224 | pub fn ch13_02_iterators() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch13_04_performance` [INFO] [stdout] --> src/ch13.rs:392:8 [INFO] [stdout] | [INFO] [stdout] 392 | pub fn ch13_04_performance(buffer: &mut [i32], coefficients: [i64; 12], qlp_shift: i16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch14_01_release_profiles` [INFO] [stdout] --> src/ch14.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn ch14_01_release_profiles() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch14_02_publishing_to_crates_io` [INFO] [stdout] --> src/ch14.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn ch14_02_publishing_to_crates_io() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch15_01_box` [INFO] [stdout] --> src/ch15.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn ch15_01_box() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch15_02_deref` [INFO] [stdout] --> src/ch15.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn ch15_02_deref() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch15_03_drop` [INFO] [stdout] --> src/ch15.rs:182:8 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn ch15_03_drop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `List` [INFO] [stdout] --> src/ch15.rs:247:6 [INFO] [stdout] | [INFO] [stdout] 247 | enum List { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch15_04_rc` [INFO] [stdout] --> src/ch15.rs:252:8 [INFO] [stdout] | [INFO] [stdout] 252 | pub fn ch15_04_rc() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `LimitTracker` [INFO] [stdout] --> src/ch15.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 347 | pub struct LimitTracker<'a, T: Messenger> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/ch15.rs:357:12 [INFO] [stdout] | [INFO] [stdout] 357 | pub fn new(messenger: &T, max: usize) -> LimitTracker { [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] [INFO] [stdout] warning: variant is never constructed: `Nil` [INFO] [stdout] --> src/ch15_02.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/ch15_02.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Cons` [INFO] [stdout] --> src/ch15_03.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | Cons(i32, RefCell>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Nil` [INFO] [stdout] --> src/ch15_03.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `tail` [INFO] [stdout] --> src/ch15_03.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | fn tail(&self) -> Option<&RefCell>> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/ch15_03.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/ch15_04.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch16_01_threads` [INFO] [stdout] --> src/ch16.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn ch16_01_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch16_02_message_passing` [INFO] [stdout] --> src/ch16.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn ch16_02_message_passing() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch16_03_shared_state` [INFO] [stdout] --> src/ch16.rs:140:8 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn ch16_03_shared_state() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch16_04_extensible_concurrency_sync_and_send` [INFO] [stdout] --> src/ch16.rs:218:8 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn ch16_04_extensible_concurrency_sync_and_send() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch17_01whatis_oo` [INFO] [stdout] --> src/ch17.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn ch17_01whatis_oo() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch17_02_trait_objects` [INFO] [stdout] --> src/ch17.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn ch17_02_trait_objects() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch17_03_oo_design_patterns` [INFO] [stdout] --> src/ch17.rs:221:8 [INFO] [stdout] | [INFO] [stdout] 221 | pub fn ch17_03_oo_design_patterns() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch18_01_all_the_places_for_patterns` [INFO] [stdout] --> src/ch18.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn ch18_01_all_the_places_for_patterns() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch18_02_refutability` [INFO] [stdout] --> src/ch18.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn ch18_02_refutability() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quit` [INFO] [stdout] --> src/ch18.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Move` [INFO] [stdout] --> src/ch18.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 180 | Move { x: i32, y: i32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Write` [INFO] [stdout] --> src/ch18.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | Write(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Rgb` [INFO] [stdout] --> src/ch18.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | Rgb(i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quit` [INFO] [stdout] --> src/ch18.rs:212:13 [INFO] [stdout] | [INFO] [stdout] 212 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Move` [INFO] [stdout] --> src/ch18.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | Move { x: i32, y: i32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Write` [INFO] [stdout] --> src/ch18.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | Write(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `y` [INFO] [stdout] --> src/ch18.rs:290:13 [INFO] [stdout] | [INFO] [stdout] 290 | y: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `z` [INFO] [stdout] --> src/ch18.rs:291:13 [INFO] [stdout] | [INFO] [stdout] 291 | z: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `changeColorMessage` should have a snake case name [INFO] [stdout] --> src/ch06.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let changeColorMessage = ChangeColorMessage(1, 1, 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `change_color_message` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Float` should have a snake case name [INFO] [stdout] --> src/ch08_vec.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | Float => (), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Text` should have a snake case name [INFO] [stdout] --> src/ch08_vec.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | Text => (), [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Int` should have a snake case name [INFO] [stdout] --> src/ch08_vec.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | Int => (), [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> src/ch17.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | Some(Value) => { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 168 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `ch10_02_traits::Point` in public interface (error E0446) [INFO] [stdout] --> src/ch10.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | 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:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | 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:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn ch03_03_how_functions_work() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch03_05_control_flow` [INFO] [stdout] --> src/ch03.rs:180:8 [INFO] [stdout] | [INFO] [stdout] 180 | pub fn ch03_05_control_flow() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fun_2` [INFO] [stdout] --> src/ch03.rs:256:4 [INFO] [stdout] | [INFO] [stdout] 256 | fn fun_2() {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch04_01_what_is_ownership` [INFO] [stdout] --> src/ch04.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn ch04_01_what_is_ownership() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch04_02_references_and_borrowing` [INFO] [stdout] --> src/ch04.rs:140:8 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn ch04_02_references_and_borrowing() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch04_03_slices` [INFO] [stdout] --> src/ch04.rs:230:8 [INFO] [stdout] | [INFO] [stdout] 230 | pub fn ch04_03_slices() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch05_01_defining_structs` [INFO] [stdout] --> src/ch05.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn ch05_01_defining_structs() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch05_02_example_structs` [INFO] [stdout] --> src/ch05.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn ch05_02_example_structs() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch05_03_method_syntax` [INFO] [stdout] --> src/ch05.rs:185:8 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn ch05_03_method_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch06_01_defining_an_enum` [INFO] [stdout] --> src/ch06.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn ch06_01_defining_an_enum() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch06_02_match` [INFO] [stdout] --> src/ch06.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn ch06_02_match() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Alabama` [INFO] [stdout] --> src/ch06.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 228 | Alabama, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Alaska` [INFO] [stdout] --> src/ch06.rs:229:5 [INFO] [stdout] | [INFO] [stdout] 229 | Alaska, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `A1` [INFO] [stdout] --> src/ch06.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | A1(B1), // --snip-- [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `B2` [INFO] [stdout] --> src/ch06.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | B2, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `B3` [INFO] [stdout] --> src/ch06.rs:236:5 [INFO] [stdout] | [INFO] [stdout] 236 | B3, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Coin` [INFO] [stdout] --> src/ch06.rs:240:6 [INFO] [stdout] | [INFO] [stdout] 240 | enum Coin { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch06_03_if_let` [INFO] [stdout] --> src/ch06.rs:248:8 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn ch06_03_if_let() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clarinet` [INFO] [stdout] --> src/ch07/mod.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `breathe_in` [INFO] [stdout] --> src/ch07/mod.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | fn breathe_in() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Vegetable` [INFO] [stdout] --> src/ch07/mod.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Vegetable { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/ch07/mod.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn new(name: &str) -> Vegetable { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `generate_struct` [INFO] [stdout] --> src/ch07/mod.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn generate_struct() -> Vegetable { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Appetizer` [INFO] [stdout] --> src/ch07/mod.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | pub enum Appetizer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clarinet_trio` [INFO] [stdout] --> src/ch07/mod.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn clarinet_trio() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clarinet` [INFO] [stdout] --> src/ch07/sound1.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clarinet` [INFO] [stdout] --> src/ch07/sound2/instrument.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clarinet` [INFO] [stdout] --> src/ch07/sound3/instrument.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/ch07/mod.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch08_03_hash_maps` [INFO] [stdout] --> src/ch08_hashmap.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn ch08_03_hash_maps() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch08_02_strings` [INFO] [stdout] --> src/ch08_string.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn ch08_02_strings() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch08_01_vectors` [INFO] [stdout] --> src/ch08_vec.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn ch08_01_vectors() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch09_01_unrecoverable_errors_with_panic` [INFO] [stdout] --> src/ch09.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn ch09_01_unrecoverable_errors_with_panic() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch09_02_recoverable_errors_with_result` [INFO] [stdout] --> src/ch09.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn ch09_02_recoverable_errors_with_result() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch09_03_to_panic_or_not_to_panic` [INFO] [stdout] --> src/ch09.rs:177:8 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn ch09_03_to_panic_or_not_to_panic() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch10_00_generics` [INFO] [stdout] --> src/ch10.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn ch10_00_generics() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch10_01_syntax` [INFO] [stdout] --> src/ch10.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn ch10_01_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch10_02_traits` [INFO] [stdout] --> src/ch10.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn ch10_02_traits() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch10_03_lifetime_syntax` [INFO] [stdout] --> src/ch10.rs:594:8 [INFO] [stdout] | [INFO] [stdout] 594 | pub fn ch10_03_lifetime_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `value` [INFO] [stdout] --> src/ch11_01.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | value: i32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_two` [INFO] [stdout] --> src/ch11_03.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn add_two(a: i32) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Config` [INFO] [stdout] --> src/ch12.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | struct Config<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/ch12.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | fn new(args: &[String]) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `minigrep` [INFO] [stdout] --> src/ch12.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn minigrep() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `run` [INFO] [stdout] --> src/ch12.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn run(config: Config) -> Result<(), Box> { [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] [INFO] [stdout] warning: variant is never constructed: `Nil` [INFO] [stdout] --> src/ch15_02.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/ch15_02.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Cons` [INFO] [stdout] --> src/ch15_03.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | Cons(i32, RefCell>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Nil` [INFO] [stdout] --> src/ch15_03.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `tail` [INFO] [stdout] --> src/ch15_03.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | fn tail(&self) -> Option<&RefCell>> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/ch15_03.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/ch15_04.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch16_01_threads` [INFO] [stdout] --> src/ch16.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn ch16_01_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch16_02_message_passing` [INFO] [stdout] --> src/ch16.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn ch16_02_message_passing() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch16_03_shared_state` [INFO] [stdout] --> src/ch16.rs:140:8 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn ch16_03_shared_state() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch16_04_extensible_concurrency_sync_and_send` [INFO] [stdout] --> src/ch16.rs:218:8 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn ch16_04_extensible_concurrency_sync_and_send() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch17_01whatis_oo` [INFO] [stdout] --> src/ch17.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn ch17_01whatis_oo() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch17_02_trait_objects` [INFO] [stdout] --> src/ch17.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn ch17_02_trait_objects() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch17_03_oo_design_patterns` [INFO] [stdout] --> src/ch17.rs:221:8 [INFO] [stdout] | [INFO] [stdout] 221 | pub fn ch17_03_oo_design_patterns() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch18_01_all_the_places_for_patterns` [INFO] [stdout] --> src/ch18.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn ch18_01_all_the_places_for_patterns() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ch18_02_refutability` [INFO] [stdout] --> src/ch18.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn ch18_02_refutability() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quit` [INFO] [stdout] --> src/ch18.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Move` [INFO] [stdout] --> src/ch18.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 180 | Move { x: i32, y: i32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Write` [INFO] [stdout] --> src/ch18.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | Write(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Rgb` [INFO] [stdout] --> src/ch18.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | Rgb(i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quit` [INFO] [stdout] --> src/ch18.rs:212:13 [INFO] [stdout] | [INFO] [stdout] 212 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Move` [INFO] [stdout] --> src/ch18.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | Move { x: i32, y: i32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Write` [INFO] [stdout] --> src/ch18.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | Write(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `y` [INFO] [stdout] --> src/ch18.rs:290:13 [INFO] [stdout] | [INFO] [stdout] 290 | y: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `z` [INFO] [stdout] --> src/ch18.rs:291:13 [INFO] [stdout] | [INFO] [stdout] 291 | z: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot test inner items [INFO] [stdout] --> src/ch13.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | #[test] [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnameable_test_items)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `changeColorMessage` should have a snake case name [INFO] [stdout] --> src/ch06.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let changeColorMessage = ChangeColorMessage(1, 1, 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `change_color_message` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Float` should have a snake case name [INFO] [stdout] --> src/ch08_vec.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | Float => (), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Text` should have a snake case name [INFO] [stdout] --> src/ch08_vec.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | Text => (), [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Int` should have a snake case name [INFO] [stdout] --> src/ch08_vec.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | Int => (), [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> src/ch17.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | Some(Value) => { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 158 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "ebecf626fc92781bb247b9ad078607bd2d47f4cbcfffdb4f4b70c6b9459a5e93", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ebecf626fc92781bb247b9ad078607bd2d47f4cbcfffdb4f4b70c6b9459a5e93", kill_on_drop: false }` [INFO] [stdout] ebecf626fc92781bb247b9ad078607bd2d47f4cbcfffdb4f4b70c6b9459a5e93