[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] 61935bd35ccb9030747edf3bcbf788e6866678aa [INFO] checking DreamLarva/learn-rust against try#163937523761cc0def32f1ba9ed63fdf65ad3478 for pr-156749 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDreamLarva%2Flearn-rust" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [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-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/DreamLarva/learn-rust on toolchain 163937523761cc0def32f1ba9ed63fdf65ad3478 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/DreamLarva/learn-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 8d5963ce1f3f426722f83641959c7e326f65146c52b52e813a44bb070b8c6bdd [INFO] running `Command { std: "docker" "start" "8d5963ce1f3f426722f83641959c7e326f65146c52b52e813a44bb070b8c6bdd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8d5963ce1f3f426722f83641959c7e326f65146c52b52e813a44bb070b8c6bdd" "/opt/rustwide/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8d5963ce1f3f426722f83641959c7e326f65146c52b52e813a44bb070b8c6bdd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8d5963ce1f3f426722f83641959c7e326f65146c52b52e813a44bb070b8c6bdd" "/opt/rustwide/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling syn v1.0.76 [INFO] [stderr] Checking unicode-ident v1.0.18 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Checking unicode-xid v0.2.2 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Checking adder v0.1.0 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking threadPool v0.1.0 (/opt/rustwide/workdir/threadPool) [INFO] [stderr] Checking glob v0.3.1 [INFO] [stdout] warning: crate `threadPool` should have a snake case name [INFO] [stdout] | [INFO] [stdout] = help: convert the identifier to snake case: `thread_pool` [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking regex-automata v0.4.8 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking quote v1.0.40 [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 proc_marco v0.1.0 (/opt/rustwide/workdir/proc_marco) [INFO] [stderr] Checking hello_macro_derive v0.1.0 (/opt/rustwide/workdir/derive_macro/hello_macro_derive) [INFO] [stderr] Checking attribute_macro v0.1.0 (/opt/rustwide/workdir/attribute_macro) [INFO] [stdout] warning: unused import: `quote::quote` [INFO] [stdout] --> attribute_macro/src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use quote::quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn` [INFO] [stdout] --> attribute_macro/src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use syn; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::quote` [INFO] [stdout] --> attribute_macro/src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use quote::quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn` [INFO] [stdout] --> attribute_macro/src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use syn; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking regex v1.11.1 [INFO] [stdout] warning: unused import: `quote::quote` [INFO] [stdout] --> attribute_macro/src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use quote::quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn` [INFO] [stdout] --> attribute_macro/src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use syn; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] attr: "GET, "/"" [INFO] [stdout] item: "pub fn macro_attribute() { println!("fn macro_attribute") }" [INFO] [stdout] attr: "GET, "/"" [INFO] [stdout] item: "pub fn macro_attribute() { println!("fn macro_attribute") }" [INFO] [stderr] Checking av v0.1.0 (/opt/rustwide/workdir/av) [INFO] [stderr] Checking hello_macro v0.1.0 (/opt/rustwide/workdir/derive_macro) [INFO] [stderr] Checking the_rust_programming_language v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::front_of_house::hosting::add_to_waitlist` [INFO] [stdout] --> src/lib.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | use crate::front_of_house::hosting::add_to_waitlist; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ch07::plant::Vegetable` [INFO] [stdout] --> src/ch07/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::ch07::plant::Vegetable; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/ch07/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/ch07/mod.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | 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:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | use std::fmt::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch07/mod.rs:197:58 [INFO] [stdout] | [INFO] [stdout] 197 | let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 197 - let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] 197 + let secret_number = rand::thread_rng().gen_range(1..100 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch07/mod.rs:198:58 [INFO] [stdout] | [INFO] [stdout] 198 | let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 198 - let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stdout] 198 + let secret_number = rand::thread_rng().gen_range(1..=100 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Ordering` [INFO] [stdout] --> src/ch07/mod.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch07/mod.rs:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::Ordering` and `io` [INFO] [stdout] --> src/ch07/mod.rs:210:19 [INFO] [stdout] | [INFO] [stdout] 210 | use std::{cmp::Ordering, io}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch07/mod.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/ch07/mod.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/ch07/mod.rs:220:23 [INFO] [stdout] | [INFO] [stdout] 220 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::*` [INFO] [stdout] --> src/ch07/mod.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | use std::collections::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/lib.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Result as IoResult` [INFO] [stdout] --> src/lib.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | use std::io::Result as IoResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `borrow` and `cmp::Ordering` [INFO] [stdout] --> src/lib.rs:130:11 [INFO] [stdout] | [INFO] [stdout] 130 | use std::{borrow, cmp::Ordering}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/lib.rs:134:15 [INFO] [stdout] | [INFO] [stdout] 134 | 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:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | use std::collections::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process` [INFO] [stdout] --> src/lib.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 143 | use std::process; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::front_of_house::hosting::add_to_waitlist` [INFO] [stdout] --> src/lib.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | use crate::front_of_house::hosting::add_to_waitlist; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ch07::plant::Vegetable` [INFO] [stdout] --> src/ch07/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::ch07::plant::Vegetable; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/ch07/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/ch07/mod.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | 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:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | use std::fmt::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch07/mod.rs:197:58 [INFO] [stdout] | [INFO] [stdout] 197 | let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 197 - let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] 197 + let secret_number = rand::thread_rng().gen_range(1..100 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch07/mod.rs:198:58 [INFO] [stdout] | [INFO] [stdout] 198 | let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 198 - let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stdout] 198 + let secret_number = rand::thread_rng().gen_range(1..=100 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Ordering` [INFO] [stdout] --> src/ch07/mod.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch07/mod.rs:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::Ordering` and `io` [INFO] [stdout] --> src/ch07/mod.rs:210:19 [INFO] [stdout] | [INFO] [stdout] 210 | use std::{cmp::Ordering, io}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch07/mod.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/ch07/mod.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/ch07/mod.rs:220:23 [INFO] [stdout] | [INFO] [stdout] 220 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::*` [INFO] [stdout] --> src/ch07/mod.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | use std::collections::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/lib.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Result as IoResult` [INFO] [stdout] --> src/lib.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | use std::io::Result as IoResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `borrow` and `cmp::Ordering` [INFO] [stdout] --> src/lib.rs:130:11 [INFO] [stdout] | [INFO] [stdout] 130 | use std::{borrow, cmp::Ordering}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/lib.rs:134:15 [INFO] [stdout] | [INFO] [stdout] 134 | 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:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | use std::collections::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process` [INFO] [stdout] --> src/lib.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 143 | use std::process; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/ch07/mod.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let a = super::plant::generate_struct(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/ch07/mod.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let v = Vegetable { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `order1` [INFO] [stdout] --> src/ch07/mod.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | let order1 = menu::Appetizer::Soup; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `order2` [INFO] [stdout] --> src/ch07/mod.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | let order2 = menu::Appetizer::Salad; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/ch07/mod.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | let a: IoResult = Ok(32); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_number` [INFO] [stdout] --> src/ch07/mod.rs:197:13 [INFO] [stdout] | [INFO] [stdout] 197 | let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `order1` [INFO] [stdout] --> src/lib.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | let order1 = back_of_house::Appetizer::Soup; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `order2` [INFO] [stdout] --> src/lib.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | 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: `a` [INFO] [stdout] --> src/ch07/mod.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let a = super::plant::generate_struct(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/ch07/mod.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let v = Vegetable { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `order1` [INFO] [stdout] --> src/ch07/mod.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | let order1 = menu::Appetizer::Soup; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `order2` [INFO] [stdout] --> src/ch07/mod.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | let order2 = menu::Appetizer::Salad; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/ch07/mod.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | let a: IoResult = Ok(32); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_number` [INFO] [stdout] --> src/ch07/mod.rs:197:13 [INFO] [stdout] | [INFO] [stdout] 197 | let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `order1` [INFO] [stdout] --> src/lib.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | let order1 = back_of_house::Appetizer::Soup; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_order1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `order2` [INFO] [stdout] --> src/lib.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | 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:313:16 [INFO] [stdout] | [INFO] [stdout] 313 | 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:313:34 [INFO] [stdout] | [INFO] [stdout] 313 | 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 `serve_order` is never used [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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/lib.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn main() {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `eat_at_restaurant` is never used [INFO] [stdout] --> src/lib.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn eat_at_restaurant() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fix_incorrect_order` is never used [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 `cook_order` is never used [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 `seasonal_fruit` is never read [INFO] [stdout] --> src/lib.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct Breakfast { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 42 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Appetizer` is never used [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 `main` is never used [INFO] [stdout] --> src/ch07/mod.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `breathe_in` is never used [INFO] [stdout] --> src/ch07/mod.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | fn breathe_in() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet` is never used [INFO] [stdout] --> src/ch07/mod.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `private_fn` is never used [INFO] [stdout] --> src/ch07/mod.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | fn private_fn() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vegetable` is never constructed [INFO] [stdout] --> src/ch07/mod.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct Vegetable { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ch07/mod.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 39 | impl Vegetable { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 40 | pub fn new(name: &str) -> Vegetable { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_struct` is never used [INFO] [stdout] --> src/ch07/mod.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn generate_struct() -> Vegetable { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test` is never used [INFO] [stdout] --> src/ch07/mod.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | fn test() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Appetizer` is never used [INFO] [stdout] --> src/ch07/mod.rs:72:14 [INFO] [stdout] | [INFO] [stdout] 72 | pub enum Appetizer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet_trio` is never used [INFO] [stdout] --> src/ch07/mod.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn clarinet_trio() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet` is never used [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 `clarinet` is never used [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 `clarinet` is never used [INFO] [stdout] --> src/ch07/mod.rs:173:24 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet_trio` is never used [INFO] [stdout] --> src/ch07/mod.rs:183:20 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn clarinet_trio() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c1` [INFO] [stdout] --> src/lib.rs:313:16 [INFO] [stdout] | [INFO] [stdout] 313 | 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:313:34 [INFO] [stdout] | [INFO] [stdout] 313 | 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 `serve_order` is never used [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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `eat_at_restaurant` is never used [INFO] [stdout] --> src/lib.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn eat_at_restaurant() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fix_incorrect_order` is never used [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 `cook_order` is never used [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 `seasonal_fruit` is never read [INFO] [stdout] --> src/lib.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct Breakfast { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 42 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Appetizer` is never used [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 `main` is never used [INFO] [stdout] --> src/ch07/mod.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `breathe_in` is never used [INFO] [stdout] --> src/ch07/mod.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | fn breathe_in() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet` is never used [INFO] [stdout] --> src/ch07/mod.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `private_fn` is never used [INFO] [stdout] --> src/ch07/mod.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | fn private_fn() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vegetable` is never constructed [INFO] [stdout] --> src/ch07/mod.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct Vegetable { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ch07/mod.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 39 | impl Vegetable { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 40 | pub fn new(name: &str) -> Vegetable { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_struct` is never used [INFO] [stdout] --> src/ch07/mod.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn generate_struct() -> Vegetable { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test` is never used [INFO] [stdout] --> src/ch07/mod.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | fn test() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Appetizer` is never used [INFO] [stdout] --> src/ch07/mod.rs:72:14 [INFO] [stdout] | [INFO] [stdout] 72 | pub enum Appetizer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet_trio` is never used [INFO] [stdout] --> src/ch07/mod.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn clarinet_trio() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet` is never used [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 `clarinet` is never used [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 `clarinet` is never used [INFO] [stdout] --> src/ch07/mod.rs:173:24 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet_trio` is never used [INFO] [stdout] --> src/ch07/mod.rs:183:20 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn clarinet_trio() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch02.rs:17:54 [INFO] [stdout] | [INFO] [stdout] 17 | let secret_number = rand::thread_rng().gen_range((1..=100)); // 这个也能运行 [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 17 - let secret_number = rand::thread_rng().gen_range((1..=100)); // 这个也能运行 [INFO] [stdout] 17 + let secret_number = rand::thread_rng().gen_range(1..=100); // 这个也能运行 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ch03.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | /** 基本类型 */ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | // 直接的赋值能够直接推断出值的类型 [INFO] [stdout] 8 | let a = 1; // 默认为 i32 [INFO] [stdout] | ---------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/ch03.rs:263:9 [INFO] [stdout] | [INFO] [stdout] 263 | 'inner: for j in 0..10 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ch07::plant::Vegetable` [INFO] [stdout] --> src/ch07/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::ch07::plant::Vegetable; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/ch07/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/ch07/mod.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | 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:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | use std::fmt::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch07/mod.rs:197:58 [INFO] [stdout] | [INFO] [stdout] 197 | let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 197 - let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] 197 + let secret_number = rand::thread_rng().gen_range(1..100 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch07/mod.rs:198:58 [INFO] [stdout] | [INFO] [stdout] 198 | let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 198 - let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stdout] 198 + let secret_number = rand::thread_rng().gen_range(1..=100 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Ordering` [INFO] [stdout] --> src/ch07/mod.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch07/mod.rs:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::Ordering` and `io` [INFO] [stdout] --> src/ch07/mod.rs:210:19 [INFO] [stdout] | [INFO] [stdout] 210 | use std::{cmp::Ordering, io}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch07/mod.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/ch07/mod.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/ch07/mod.rs:220:23 [INFO] [stdout] | [INFO] [stdout] 220 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::*` [INFO] [stdout] --> src/ch07/mod.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | use std::collections::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env::temp_dir` [INFO] [stdout] --> src/ch08_hashmap.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::env::temp_dir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File` and `self` [INFO] [stdout] --> src/ch08_hashmap.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::{self, File}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch08_hashmap.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> src/ch08_hashmap.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/ch08_hashmap.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/ch08_hashmap.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::ops::Add; [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` and `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` and `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: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/ch09.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::Future` [INFO] [stdout] --> src/ch09.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::future::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> src/ch13.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> src/ch15.rs:302:5 [INFO] [stdout] | [INFO] [stdout] 302 | use std::ops::DerefMut; [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::collections::*` [INFO] [stdout] --> src/ch15_05.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::*; [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: unused import: `std::rc::Rc` [INFO] [stdout] --> src/ch17.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::panic::RefUnwindSafe` [INFO] [stdout] --> src/ch19.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::panic::RefUnwindSafe; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/ch19.rs:509:13 [INFO] [stdout] | [INFO] [stdout] 509 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test2` is never used [INFO] [stdout] --> tests/integration_test.rs:38:4 [INFO] [stdout] | [INFO] [stdout] 38 | fn test2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Error` [INFO] [stdout] --> src/ch19.rs:510:13 [INFO] [stdout] | [INFO] [stdout] 510 | use std::io::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::proc_macro::TokenStream` [INFO] [stdout] --> src/ch19_06.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use self::proc_macro::TokenStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::quote` [INFO] [stdout] --> src/ch19_06.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use quote::quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn` [INFO] [stdout] --> src/ch19_06.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use syn; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glob::glob` [INFO] [stdout] --> src/test.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | use glob::glob; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/main.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | mod test; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hex::hex` [INFO] [stdout] --> src/main.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | use hex::hex; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell` and `Ref` [INFO] [stdout] --> src/main.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | use std::cell::{Ref, RefCell}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap` and `hash_map` [INFO] [stdout] --> src/main.rs:65:24 [INFO] [stdout] | [INFO] [stdout] 65 | use std::collections::{HashMap, hash_map}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Debug` and `Display` [INFO] [stdout] --> src/main.rs:66:16 [INFO] [stdout] | [INFO] [stdout] 66 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hash::Hash` [INFO] [stdout] --> src/main.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | use std::hash::Hash; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/main.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::num::ParseIntError` [INFO] [stdout] --> src/main.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | use std::num::ParseIntError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/main.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice::from_raw_parts` [INFO] [stdout] --> src/main.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | use std::slice::from_raw_parts; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::from_utf8_unchecked` [INFO] [stdout] --> src/main.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | use std::str::from_utf8_unchecked; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `env`, `fs`, `io`, and `process` [INFO] [stdout] --> src/main.rs:73:11 [INFO] [stdout] | [INFO] [stdout] 73 | use std::{env, fs, io, process}; [INFO] [stdout] | ^^^ ^^ ^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `the_rust_programming_language::Config` [INFO] [stdout] --> src/main.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | use the_rust_programming_language::Config; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::TimeDelta` [INFO] [stdout] --> src/main.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | use chrono::TimeDelta; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::prelude::*` [INFO] [stdout] --> src/main.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | use chrono::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Local` and `Utc` [INFO] [stdout] --> src/main.rs:78:14 [INFO] [stdout] | [INFO] [stdout] 78 | use chrono::{Local, Utc}; [INFO] [stdout] | ^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch02.rs:17:54 [INFO] [stdout] | [INFO] [stdout] 17 | let secret_number = rand::thread_rng().gen_range((1..=100)); // 这个也能运行 [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 17 - let secret_number = rand::thread_rng().gen_range((1..=100)); // 这个也能运行 [INFO] [stdout] 17 + let secret_number = rand::thread_rng().gen_range(1..=100); // 这个也能运行 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/ch03.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | /** 基本类型 */ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | // 直接的赋值能够直接推断出值的类型 [INFO] [stdout] 8 | let a = 1; // 默认为 i32 [INFO] [stdout] | ---------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/ch03.rs:263:9 [INFO] [stdout] | [INFO] [stdout] 263 | 'inner: for j in 0..10 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ch07::plant::Vegetable` [INFO] [stdout] --> src/ch07/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::ch07::plant::Vegetable; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/ch07/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/ch07/mod.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | 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:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | use std::fmt::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch07/mod.rs:197:58 [INFO] [stdout] | [INFO] [stdout] 197 | let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 197 - let secret_number = rand::thread_rng().gen_range((1..100)); [INFO] [stdout] 197 + let secret_number = rand::thread_rng().gen_range(1..100 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/ch07/mod.rs:198:58 [INFO] [stdout] | [INFO] [stdout] 198 | let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 198 - let secret_number = rand::thread_rng().gen_range((1..=100)); [INFO] [stdout] 198 + let secret_number = rand::thread_rng().gen_range(1..=100 ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Ordering` [INFO] [stdout] --> src/ch07/mod.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch07/mod.rs:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::Ordering` and `io` [INFO] [stdout] --> src/ch07/mod.rs:210:19 [INFO] [stdout] | [INFO] [stdout] 210 | use std::{cmp::Ordering, io}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch07/mod.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/ch07/mod.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/ch07/mod.rs:220:23 [INFO] [stdout] | [INFO] [stdout] 220 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::*` [INFO] [stdout] --> src/ch07/mod.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | use std::collections::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env::temp_dir` [INFO] [stdout] --> src/ch08_hashmap.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::env::temp_dir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File` and `self` [INFO] [stdout] --> src/ch08_hashmap.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::{self, File}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/ch08_hashmap.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> src/ch08_hashmap.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/ch08_hashmap.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/ch08_hashmap.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::ops::Add; [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` and `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` and `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: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/ch09.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::Future` [INFO] [stdout] --> src/ch09.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::future::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> src/ch13.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot test inner items [INFO] [stdout] --> src/ch13.rs:411:9 [INFO] [stdout] | [INFO] [stdout] 411 | #[test] [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnameable_test_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> src/ch15.rs:302:5 [INFO] [stdout] | [INFO] [stdout] 302 | use std::ops::DerefMut; [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::collections::*` [INFO] [stdout] --> src/ch15_05.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::*; [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: unused import: `std::rc::Rc` [INFO] [stdout] --> src/ch17.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::panic::RefUnwindSafe` [INFO] [stdout] --> src/ch19.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::panic::RefUnwindSafe; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/ch19.rs:509:13 [INFO] [stdout] | [INFO] [stdout] 509 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Error` [INFO] [stdout] --> src/ch19.rs:510:13 [INFO] [stdout] | [INFO] [stdout] 510 | use std::io::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::proc_macro::TokenStream` [INFO] [stdout] --> src/ch19_06.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use self::proc_macro::TokenStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::quote` [INFO] [stdout] --> src/ch19_06.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use quote::quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn` [INFO] [stdout] --> src/ch19_06.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use syn; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glob::glob` [INFO] [stdout] --> src/test.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | use glob::glob; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hex::hex` [INFO] [stdout] --> src/main.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | use hex::hex; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell` and `Ref` [INFO] [stdout] --> src/main.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | use std::cell::{Ref, RefCell}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap` and `hash_map` [INFO] [stdout] --> src/main.rs:65:24 [INFO] [stdout] | [INFO] [stdout] 65 | use std::collections::{HashMap, hash_map}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Debug` and `Display` [INFO] [stdout] --> src/main.rs:66:16 [INFO] [stdout] | [INFO] [stdout] 66 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hash::Hash` [INFO] [stdout] --> src/main.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | use std::hash::Hash; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/main.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::num::ParseIntError` [INFO] [stdout] --> src/main.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | use std::num::ParseIntError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/main.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice::from_raw_parts` [INFO] [stdout] --> src/main.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | use std::slice::from_raw_parts; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::from_utf8_unchecked` [INFO] [stdout] --> src/main.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | use std::str::from_utf8_unchecked; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `env`, `fs`, `io`, and `process` [INFO] [stdout] --> src/main.rs:73:11 [INFO] [stdout] | [INFO] [stdout] 73 | use std::{env, fs, io, process}; [INFO] [stdout] | ^^^ ^^ ^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `the_rust_programming_language::Config` [INFO] [stdout] --> src/main.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | use the_rust_programming_language::Config; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::TimeDelta` [INFO] [stdout] --> src/main.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | use chrono::TimeDelta; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::prelude::*` [INFO] [stdout] --> src/main.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | use chrono::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Local` and `Utc` [INFO] [stdout] --> src/main.rs:78:14 [INFO] [stdout] | [INFO] [stdout] 78 | use chrono::{Local, Utc}; [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: value assigned to `a` is never read [INFO] [stdout] --> src/ch03.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | a = [1, 2, 3, 4, 5]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch04.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | let mut s = String::from("hello"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch04.rs:305:13 [INFO] [stdout] | [INFO] [stdout] 305 | let mut s = String::from("hello world"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `count` is never read [INFO] [stdout] --> src/ch06.rs:292:18 [INFO] [stdout] | [INFO] [stdout] 292 | _ => 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:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | count += 1; [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: value assigned to `a` is never read [INFO] [stdout] --> src/ch03.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | a = [1, 2, 3, 4, 5]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch04.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | let mut s = String::from("hello"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) 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:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | 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:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | 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/ch04.rs:305:13 [INFO] [stdout] | [INFO] [stdout] 305 | let mut s = String::from("hello world"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ch08_vec.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 136 | Float => (), [INFO] [stdout] | ----- matches any value [INFO] [stdout] 137 | Text => (), [INFO] [stdout] | ^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ch08_vec.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 136 | Float => (), [INFO] [stdout] | ----- matches any value [INFO] [stdout] 137 | Text => (), [INFO] [stdout] 138 | Int => (), [INFO] [stdout] | ^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `count` is never read [INFO] [stdout] --> src/ch06.rs:292:18 [INFO] [stdout] | [INFO] [stdout] 292 | _ => 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:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | count += 1; [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/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:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | 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:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | let mut t3 = String::from("") + &s2 + &s3; [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ch08_vec.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 136 | Float => (), [INFO] [stdout] | ----- matches any value [INFO] [stdout] 137 | Text => (), [INFO] [stdout] | ^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ch08_vec.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 136 | Float => (), [INFO] [stdout] | ----- matches any value [INFO] [stdout] 137 | Text => (), [INFO] [stdout] 138 | Int => (), [INFO] [stdout] | ^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch10.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | let mut p = Point { x: 5, y: 10 }; [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:988:13 [INFO] [stdout] | [INFO] [stdout] 988 | 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: value assigned to `result` is never read [INFO] [stdout] --> src/ch10.rs:828:13 [INFO] [stdout] | [INFO] [stdout] 828 | 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/ch10.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | let mut p = Point { x: 5, y: 10 }; [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/ch15.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | let mut z = MyBox::new(x); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `z` is never read [INFO] [stdout] --> src/ch15.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | z = &mut 4; [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/ch10.rs:988:13 [INFO] [stdout] | [INFO] [stdout] 988 | 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: value assigned to `result` is never read [INFO] [stdout] --> src/ch10.rs:828:13 [INFO] [stdout] | [INFO] [stdout] 828 | 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/ch15_03.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | let mut log = self.log.borrow(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function cannot return without recursing [INFO] [stdout] --> src/ch18.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | fn print_coordinates(&(x, y): &(i32, i32)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing [INFO] [stdout] ... [INFO] [stdout] 91 | print_coordinates(&point); [INFO] [stdout] | ------------------------- recursive call site [INFO] [stdout] | [INFO] [stdout] = help: a `loop` may express intention better if this is on purpose [INFO] [stdout] = note: `#[warn(unconditional_recursion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch15.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | let mut z = MyBox::new(x); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `z` is never read [INFO] [stdout] --> src/ch15.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | z = &mut 4; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/ch19.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch15_03.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | let mut log = self.log.borrow(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Summary` is never used [INFO] [stdout] --> src/main.rs:176:15 [INFO] [stdout] | [INFO] [stdout] 176 | pub trait Summary { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NewsArticle` is never constructed [INFO] [stdout] --> src/main.rs:181:16 [INFO] [stdout] | [INFO] [stdout] 181 | pub struct NewsArticle { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Another` is never constructed [INFO] [stdout] --> src/main.rs:189:16 [INFO] [stdout] | [INFO] [stdout] 189 | pub struct Another {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `notify` is never used [INFO] [stdout] --> src/main.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 194 | pub fn notify(item: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/ch01.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch02_00_guessing_game_tutorial` is never used [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 `ch03_02_data_types` is never used [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 `ch03_03_how_functions_work` is never used [INFO] [stdout] --> src/ch03.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn ch03_03_how_functions_work() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch03_05_control_flow` is never used [INFO] [stdout] --> src/ch03.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn ch03_05_control_flow() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fun_2` is never used [INFO] [stdout] --> src/ch03.rs:272:4 [INFO] [stdout] | [INFO] [stdout] 272 | fn fun_2() {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch04_01_what_is_ownership` is never used [INFO] [stdout] --> src/ch04.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn ch04_01_what_is_ownership() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch04_02_references_and_borrowing` is never used [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 `ch04_03_slices` is never used [INFO] [stdout] --> src/ch04.rs:242:8 [INFO] [stdout] | [INFO] [stdout] 242 | pub fn ch04_03_slices() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch05_01_defining_structs` is never used [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 `ch05_02_example_structs` is never used [INFO] [stdout] --> src/ch05.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | pub fn ch05_02_example_structs() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch05_03_method_syntax` is never used [INFO] [stdout] --> src/ch05.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn ch05_03_method_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `area`, `set_height`, `set_weight`, and `test1` are never used [INFO] [stdout] --> src/ch05.rs:247:16 [INFO] [stdout] | [INFO] [stdout] 246 | impl Rectangle { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 247 | fn area(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | fn set_height(&mut self, new_value: u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 257 | fn set_weight(&mut self, new_value: u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | fn test1(self) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `area` and `can_hold` are never used [INFO] [stdout] --> src/ch05.rs:305:16 [INFO] [stdout] | [INFO] [stdout] 304 | impl Rectangle { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 305 | fn area(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | fn can_hold(&self, other: &Rectangle) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `square` is never used [INFO] [stdout] --> src/ch05.rs:345:16 [INFO] [stdout] | [INFO] [stdout] 343 | impl Rectangle { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 344 | // 参数中 没有 &self 相当于一个静态方法 [INFO] [stdout] 345 | fn square(size: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `square` is never used [INFO] [stdout] --> src/ch05.rs:366:16 [INFO] [stdout] | [INFO] [stdout] 365 | impl Rectangle { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 366 | fn square(size: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `area` is never used [INFO] [stdout] --> src/ch05.rs:375:16 [INFO] [stdout] | [INFO] [stdout] 374 | impl Rectangle { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 375 | fn area(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `can_hold` is never used [INFO] [stdout] --> src/ch05.rs:381:16 [INFO] [stdout] | [INFO] [stdout] 380 | impl Rectangle { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 381 | fn can_hold(&self, other: &Rectangle) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch06_01_defining_an_enum` is never used [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: method `call` is never used [INFO] [stdout] --> src/ch06.rs:91:16 [INFO] [stdout] | [INFO] [stdout] 90 | impl Message { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 91 | fn call(&self) -> i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch06_02_match` is never used [INFO] [stdout] --> src/ch06.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn ch06_02_match() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UsState` is never used [INFO] [stdout] --> src/ch06.rs:243:6 [INFO] [stdout] | [INFO] [stdout] 243 | enum UsState { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `B1` is never used [INFO] [stdout] --> src/ch06.rs:250:6 [INFO] [stdout] | [INFO] [stdout] 250 | enum B1 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Coin` is never used [INFO] [stdout] --> src/ch06.rs:256:6 [INFO] [stdout] | [INFO] [stdout] 256 | enum Coin { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch06_03_if_let` is never used [INFO] [stdout] --> src/ch06.rs:264:8 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn ch06_03_if_let() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch06_03_matches` is never used [INFO] [stdout] --> src/ch06.rs:324:8 [INFO] [stdout] | [INFO] [stdout] 324 | pub fn ch06_03_matches() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/ch07/mod.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `breathe_in` is never used [INFO] [stdout] --> src/ch07/mod.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | fn breathe_in() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet` is never used [INFO] [stdout] --> src/ch07/mod.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `private_fn` is never used [INFO] [stdout] --> src/ch07/mod.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | fn private_fn() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vegetable` is never constructed [INFO] [stdout] --> src/ch07/mod.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct Vegetable { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ch07/mod.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 39 | impl Vegetable { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 40 | pub fn new(name: &str) -> Vegetable { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_struct` is never used [INFO] [stdout] --> src/ch07/mod.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn generate_struct() -> Vegetable { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test` is never used [INFO] [stdout] --> src/ch07/mod.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | fn test() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Appetizer` is never used [INFO] [stdout] --> src/ch07/mod.rs:72:14 [INFO] [stdout] | [INFO] [stdout] 72 | pub enum Appetizer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet_trio` is never used [INFO] [stdout] --> src/ch07/mod.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn clarinet_trio() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet` is never used [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 `clarinet` is never used [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 `clarinet` is never used [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 `clarinet` is never used [INFO] [stdout] --> src/ch07/mod.rs:173:24 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet_trio` is never used [INFO] [stdout] --> src/ch07/mod.rs:183:20 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn clarinet_trio() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch08_03_hash_maps` is never used [INFO] [stdout] --> src/ch08_hashmap.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn ch08_03_hash_maps() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch08_02_strings` is never used [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 `ch08_01_vectors` is never used [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 `ch09_01_unrecoverable_errors_with_panic` is never used [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 `ch09_02_recoverable_errors_with_result` is never used [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 `ch09_03_to_panic_or_not_to_panic` is never used [INFO] [stdout] --> src/ch09.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | pub fn ch09_03_to_panic_or_not_to_panic() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch10_00_generics` is never used [INFO] [stdout] --> src/ch10.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn ch10_00_generics() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch10_01_syntax` is never used [INFO] [stdout] --> src/ch10.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn ch10_01_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `x` is never used [INFO] [stdout] --> src/ch10.rs:79:16 [INFO] [stdout] | [INFO] [stdout] 78 | impl Point { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 79 | fn x(&self) -> &A { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `distance_from_origin` is never used [INFO] [stdout] --> src/ch10.rs:85:16 [INFO] [stdout] | [INFO] [stdout] 84 | impl Point { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 85 | fn distance_from_origin(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `mix_up` is never used [INFO] [stdout] --> src/ch10.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 106 | impl Point { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 109 | fn mix_up(self, other: Point) -> Point { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch10_02_traits` is never used [INFO] [stdout] --> src/ch10.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn ch10_02_traits() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ch10.rs:739:16 [INFO] [stdout] | [INFO] [stdout] 738 | impl Pair { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 739 | fn new(x: T, y: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cmp_display` is never used [INFO] [stdout] --> src/ch10.rs:746:16 [INFO] [stdout] | [INFO] [stdout] 745 | impl Pair { [INFO] [stdout] | ------------------------------------- method in this implementation [INFO] [stdout] 746 | fn cmp_display(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch10_03_lifetime_syntax` is never used [INFO] [stdout] --> src/ch10.rs:774:8 [INFO] [stdout] | [INFO] [stdout] 774 | pub fn ch10_03_lifetime_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `level` is never used [INFO] [stdout] --> src/ch10.rs:944:16 [INFO] [stdout] | [INFO] [stdout] 943 | impl ImportantExcerpt { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 944 | fn level(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `level` and `announce_and_return_part` are never used [INFO] [stdout] --> src/ch10.rs:962:16 [INFO] [stdout] | [INFO] [stdout] 961 | impl<'a> ImportantExcerpt<'a> { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] 962 | fn level(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 965 | fn announce_and_return_part(&self, announcement: &str) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `a` is never used [INFO] [stdout] --> src/ch10.rs:978:16 [INFO] [stdout] | [INFO] [stdout] 977 | impl ImportantExcerpt<'_> { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] 978 | fn a(&self, announcement: &str) -> &str { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rectangle` is never constructed [INFO] [stdout] --> src/ch11_01.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Rectangle { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `can_hold` is never used [INFO] [stdout] --> src/ch11_01.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Rectangle { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 10 | pub fn can_hold(&self, other: &Rectangle) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestStruct` is never constructed [INFO] [stdout] --> src/ch11_01.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | struct TestStruct { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_two` is never used [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 `greeting` is never used [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 `Guess` is never constructed [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 `new` is never used [INFO] [stdout] --> src/ch11_01.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 136 | impl Guess { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 137 | pub fn new(value: i32) -> Guess { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prints_and_returns_10` is never used [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 `add_two` is never used [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 `add_two` is never used [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 `internal_adder` is never used [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 `Config` is never constructed [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 `new` is never used [INFO] [stdout] --> src/ch12.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | impl Config<'_> { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 26 | fn new(args: &[String]) -> Result, &'static str> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `minigrep` is never used [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 `run` is never used [INFO] [stdout] --> src/ch12.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn run(config: Config) -> Result<(), Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `search` is never used [INFO] [stdout] --> src/ch12.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch13_01_closures` is never used [INFO] [stdout] --> src/ch13.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn ch13_01_closures() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `value` are never used [INFO] [stdout] --> src/ch13.rs:118:16 [INFO] [stdout] | [INFO] [stdout] 114 | / impl Cacher [INFO] [stdout] 115 | | where [INFO] [stdout] 116 | | T: Fn(u32) -> u32, // 还得再写一遍 [INFO] [stdout] | |______________________________- associated items in this implementation [INFO] [stdout] 117 | { [INFO] [stdout] 118 | fn new(calculation: T) -> Cacher { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn value(&mut self, arg: u32) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `value` are never used [INFO] [stdout] --> src/ch13.rs:178:16 [INFO] [stdout] | [INFO] [stdout] 174 | / impl Cacher [INFO] [stdout] 175 | | where [INFO] [stdout] 176 | | T: Fn(u32) -> u32, [INFO] [stdout] | |______________________________- associated items in this implementation [INFO] [stdout] 177 | { [INFO] [stdout] 178 | fn new(calculation: T) -> Cacher { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | fn value(&mut self, arg: u32) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `value` are never used [INFO] [stdout] --> src/ch13.rs:221:16 [INFO] [stdout] | [INFO] [stdout] 216 | / impl Cacher1 [INFO] [stdout] 217 | | where [INFO] [stdout] 218 | | U: Eq + Hash + Clone, [INFO] [stdout] 219 | | T: Fn(U) -> u32, // 获取所有权 [INFO] [stdout] | |____________________________- associated items in this implementation [INFO] [stdout] 220 | { [INFO] [stdout] 221 | fn new(calculation: T) -> Cacher1 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn value(&mut self, arg: U) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `value` are never used [INFO] [stdout] --> src/ch13.rs:261:16 [INFO] [stdout] | [INFO] [stdout] 256 | / impl Cacher2 [INFO] [stdout] 257 | | where [INFO] [stdout] 258 | | U: Eq + Hash + Clone, [INFO] [stdout] 259 | | T: Fn(&U) -> u32, [INFO] [stdout] | |_____________________________- associated items in this implementation [INFO] [stdout] 260 | { [INFO] [stdout] 261 | fn new(calculation: T) -> Cacher2 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | fn value(&mut self, arg: U) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch13_02_iterators` is never used [INFO] [stdout] --> src/ch13.rs:339:8 [INFO] [stdout] | [INFO] [stdout] 339 | pub fn ch13_02_iterators() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ch13.rs:456:16 [INFO] [stdout] | [INFO] [stdout] 455 | impl Counter { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 456 | fn new() -> Counter { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch13_04_performance` is never used [INFO] [stdout] --> src/ch13.rs:528:8 [INFO] [stdout] | [INFO] [stdout] 528 | pub fn ch13_04_performance(buffer: &mut [i32], coefficients: [i64; 12], qlp_shift: i16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch14_01_release_profiles` is never used [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 `ch14_02_publishing_to_crates_io` is never used [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 `ch15_01_box` is never used [INFO] [stdout] --> src/ch15.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn ch15_01_box() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch15_02_deref` is never used [INFO] [stdout] --> src/ch15.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn ch15_02_deref() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ch15.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 134 | impl MyBox { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 135 | fn new(x: T) -> MyBox { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ch15.rs:212:16 [INFO] [stdout] | [INFO] [stdout] 211 | impl MyBox { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 212 | fn new(x: T) -> MyBox { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch15_03_drop` is never used [INFO] [stdout] --> src/ch15.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn ch15_03_drop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `List` is never used [INFO] [stdout] --> src/ch15.rs:305:6 [INFO] [stdout] | [INFO] [stdout] 305 | enum List { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch15_04_rc` is never used [INFO] [stdout] --> src/ch15.rs:310:8 [INFO] [stdout] | [INFO] [stdout] 310 | pub fn ch15_04_rc() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Messenger` is never used [INFO] [stdout] --> src/ch15.rs:404:11 [INFO] [stdout] | [INFO] [stdout] 404 | pub trait Messenger { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LimitTracker` is never constructed [INFO] [stdout] --> src/ch15.rs:408:12 [INFO] [stdout] | [INFO] [stdout] 408 | pub struct LimitTracker<'a, T: Messenger> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `set_value` are never used [INFO] [stdout] --> src/ch15.rs:418:12 [INFO] [stdout] | [INFO] [stdout] 414 | / impl<'a, T> LimitTracker<'a, T> [INFO] [stdout] 415 | | where [INFO] [stdout] 416 | | T: Messenger, [INFO] [stdout] | |_________________- associated items in this implementation [INFO] [stdout] 417 | { [INFO] [stdout] 418 | pub fn new(messenger: &'_ T, max: usize) -> LimitTracker<'_, T> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 426 | pub fn set_value(&mut self, value: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `List` is never used [INFO] [stdout] --> src/ch15_02.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | enum List { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [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: enum `List` is never used [INFO] [stdout] --> src/ch15_03.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | enum List { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `tail` is never used [INFO] [stdout] --> src/ch15_03.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl List { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 19 | // 我们希望能够修改 Cons 成员所指向的 List。这里还增加了一个 tail 方法来方便我们在有 Cons 成员的时候访问其第二项。 [INFO] [stdout] 20 | fn tail(&self) -> Option<&RefCell>> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function cannot return without recursing [INFO] [stdout] --> src/ch18.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | fn print_coordinates(&(x, y): &(i32, i32)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing [INFO] [stdout] ... [INFO] [stdout] 91 | print_coordinates(&point); [INFO] [stdout] | ------------------------- recursive call site [INFO] [stdout] | [INFO] [stdout] = help: a `loop` may express intention better if this is on purpose [INFO] [stdout] = note: `#[warn(unconditional_recursion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [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: struct `Worker` is never constructed [INFO] [stdout] --> src/ch15_03.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct Worker { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `run` are never used [INFO] [stdout] --> src/ch15_03.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl Worker { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 69 | pub fn new(id: usize, log: Rc>>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn run(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Engine` is never constructed [INFO] [stdout] --> src/ch15_03.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct Engine { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_worker`, `run`, and `print_log` are never used [INFO] [stdout] --> src/ch15_03.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl Engine { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 85 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn add_worker(&mut self, id: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn run(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn print_log(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/ch15_04.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [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 `abs_all` is never used [INFO] [stdout] --> src/ch15_05.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn abs_all<'a, 'b>(input: &'a mut Cow<'b, [i32]>) -> &'a mut Cow<'b, [i32]> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SomeStruct` is never constructed [INFO] [stdout] --> src/ch15_05.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | struct SomeStruct { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Switcher` is never constructed [INFO] [stdout] --> src/ch15_05.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub struct Switcher<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `switch` are never used [INFO] [stdout] --> src/ch15_05.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl<'a> Switcher<'a> { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 114 | pub fn new(lamp: &'a Cell) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn switch(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lamp` is never constructed [INFO] [stdout] --> src/ch15_05.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | pub struct Lamp { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_on`, `switch_on`, and `switch_off` are never used [INFO] [stdout] --> src/ch15_05.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 134 | impl Lamp { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 135 | pub fn is_on(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn switch_on(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn switch_off(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch16_01_threads` is never used [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 `ch16_02_message_passing` is never used [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 `ch16_03_shared_state` is never used [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 `ch16_04_extensible_concurrency_sync_and_send` is never used [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 `ch17_01whatis_oo` is never used [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: methods `add`, `remove`, `average`, and `update_average` are never used [INFO] [stdout] --> src/ch17.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 9 | impl AveragedCollection { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] 10 | pub fn add(&mut self, value: i32) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn remove(&mut self) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn average(&self) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | fn update_average(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch17_02_trait_objects` is never used [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: method `run` is never used [INFO] [stdout] --> src/ch17.rs:49:16 [INFO] [stdout] | [INFO] [stdout] 48 | impl Screen { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 49 | pub fn run(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/ch17.rs:70:20 [INFO] [stdout] | [INFO] [stdout] 66 | / impl Screen [INFO] [stdout] 67 | | where [INFO] [stdout] 68 | | T: Draw, [INFO] [stdout] | |____________________- method in this implementation [INFO] [stdout] 69 | { [INFO] [stdout] 70 | pub fn run(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch17_03_oo_design_patterns` is never used [INFO] [stdout] --> src/ch17.rs:226:8 [INFO] [stdout] | [INFO] [stdout] 226 | pub fn ch17_03_oo_design_patterns() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_text`, `content`, `request_review`, `approve`, and `reject` are never used [INFO] [stdout] --> src/ch17.rs:241:20 [INFO] [stdout] | [INFO] [stdout] 240 | impl Post { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 241 | pub fn new() -> Post { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn add_text(&mut self, text: &str) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn content(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn request_review(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn approve(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn reject(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `content` are never used [INFO] [stdout] --> src/ch17.rs:386:20 [INFO] [stdout] | [INFO] [stdout] 385 | impl Post { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 386 | pub fn new() -> DraftPost { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 391 | pub fn content(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `add_text` and `request_review` are never used [INFO] [stdout] --> src/ch17.rs:397:20 [INFO] [stdout] | [INFO] [stdout] 396 | impl DraftPost { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 397 | pub fn add_text(&mut self, text: &str) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 401 | pub fn request_review(self) -> PendingReviewPost { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `approve` is never used [INFO] [stdout] --> src/ch17.rs:413:20 [INFO] [stdout] | [INFO] [stdout] 412 | impl PendingReviewPost { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 413 | pub fn approve(self) -> Post { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch18_01_all_the_places_for_patterns` is never used [INFO] [stdout] --> src/ch18.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn ch18_01_all_the_places_for_patterns() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch18_02_refutability` is never used [INFO] [stdout] --> src/ch18.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn ch18_02_refutability() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch18_03_pattern_syntax` is never used [INFO] [stdout] --> src/ch18.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn ch18_03_pattern_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch19_01_unsafe_rust` is never used [INFO] [stdout] --> src/ch19.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn ch19_01_unsafe_rust() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch19_03_advanced_traits` is never used [INFO] [stdout] --> src/ch19.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn ch19_03_advanced_traits() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fly` is never used [INFO] [stdout] --> src/ch19.rs:363:16 [INFO] [stdout] | [INFO] [stdout] 362 | impl Human { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 363 | fn fly(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `baby_name` is never used [INFO] [stdout] --> src/ch19.rs:385:16 [INFO] [stdout] | [INFO] [stdout] 384 | impl Dog { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 385 | fn baby_name() -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch19_04_advanced_types` is never used [INFO] [stdout] --> src/ch19.rs:477:8 [INFO] [stdout] | [INFO] [stdout] 477 | pub fn ch19_04_advanced_types() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch19_05_advanced_functions_and_closures` is never used [INFO] [stdout] --> src/ch19.rs:663:8 [INFO] [stdout] | [INFO] [stdout] 663 | pub fn ch19_05_advanced_functions_and_closures() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `abs` is never used [INFO] [stdout] --> src/ch19.rs:134:12 [INFO] [stdout] | [INFO] [stdout] 134 | fn abs(input: i32) -> i32; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/ch19_06.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/ch20.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_connection` is never used [INFO] [stdout] --> src/ch20.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn handle_connection(mut stream: TcpStream) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/test.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement with no effect [INFO] [stdout] --> src/ch06.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 315 | a; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(path_statements)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement with no effect [INFO] [stdout] --> src/ch06.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 316 | b; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement with no effect [INFO] [stdout] --> src/ch06.rs:317:9 [INFO] [stdout] | [INFO] [stdout] 317 | c; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement with no effect [INFO] [stdout] --> src/ch06.rs:318:9 [INFO] [stdout] | [INFO] [stdout] 318 | d; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/ch19.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Float` should have a snake case name [INFO] [stdout] --> src/ch08_vec.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | Float => (), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `float` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Text` should have a snake case name [INFO] [stdout] --> src/ch08_vec.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | 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:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | Int => (), [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch02_00_guessing_game_tutorial` is never used [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 `ch03_02_data_types` is never used [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 `ch03_03_how_functions_work` is never used [INFO] [stdout] --> src/ch03.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn ch03_03_how_functions_work() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch03_05_control_flow` is never used [INFO] [stdout] --> src/ch03.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn ch03_05_control_flow() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fun_2` is never used [INFO] [stdout] --> src/ch03.rs:272:4 [INFO] [stdout] | [INFO] [stdout] 272 | fn fun_2() {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch04_01_what_is_ownership` is never used [INFO] [stdout] --> src/ch04.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn ch04_01_what_is_ownership() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch04_02_references_and_borrowing` is never used [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 `ch04_03_slices` is never used [INFO] [stdout] --> src/ch04.rs:242:8 [INFO] [stdout] | [INFO] [stdout] 242 | pub fn ch04_03_slices() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch05_01_defining_structs` is never used [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 `ch05_02_example_structs` is never used [INFO] [stdout] --> src/ch05.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | pub fn ch05_02_example_structs() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch05_03_method_syntax` is never used [INFO] [stdout] --> src/ch05.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn ch05_03_method_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `area`, `set_height`, `set_weight`, and `test1` are never used [INFO] [stdout] --> src/ch05.rs:247:16 [INFO] [stdout] | [INFO] [stdout] 246 | impl Rectangle { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 247 | fn area(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | fn set_height(&mut self, new_value: u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 257 | fn set_weight(&mut self, new_value: u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | fn test1(self) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `area` and `can_hold` are never used [INFO] [stdout] --> src/ch05.rs:305:16 [INFO] [stdout] | [INFO] [stdout] 304 | impl Rectangle { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 305 | fn area(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | fn can_hold(&self, other: &Rectangle) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `square` is never used [INFO] [stdout] --> src/ch05.rs:345:16 [INFO] [stdout] | [INFO] [stdout] 343 | impl Rectangle { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 344 | // 参数中 没有 &self 相当于一个静态方法 [INFO] [stdout] 345 | fn square(size: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `square` is never used [INFO] [stdout] --> src/ch05.rs:366:16 [INFO] [stdout] | [INFO] [stdout] 365 | impl Rectangle { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 366 | fn square(size: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `area` is never used [INFO] [stdout] --> src/ch05.rs:375:16 [INFO] [stdout] | [INFO] [stdout] 374 | impl Rectangle { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 375 | fn area(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `can_hold` is never used [INFO] [stdout] --> src/ch05.rs:381:16 [INFO] [stdout] | [INFO] [stdout] 380 | impl Rectangle { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 381 | fn can_hold(&self, other: &Rectangle) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch06_01_defining_an_enum` is never used [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: method `call` is never used [INFO] [stdout] --> src/ch06.rs:91:16 [INFO] [stdout] | [INFO] [stdout] 90 | impl Message { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 91 | fn call(&self) -> i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch06_02_match` is never used [INFO] [stdout] --> src/ch06.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn ch06_02_match() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UsState` is never used [INFO] [stdout] --> src/ch06.rs:243:6 [INFO] [stdout] | [INFO] [stdout] 243 | enum UsState { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `B1` is never used [INFO] [stdout] --> src/ch06.rs:250:6 [INFO] [stdout] | [INFO] [stdout] 250 | enum B1 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Coin` is never used [INFO] [stdout] --> src/ch06.rs:256:6 [INFO] [stdout] | [INFO] [stdout] 256 | enum Coin { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch06_03_if_let` is never used [INFO] [stdout] --> src/ch06.rs:264:8 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn ch06_03_if_let() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch06_03_matches` is never used [INFO] [stdout] --> src/ch06.rs:324:8 [INFO] [stdout] | [INFO] [stdout] 324 | pub fn ch06_03_matches() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/ch07/mod.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `breathe_in` is never used [INFO] [stdout] --> src/ch07/mod.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | fn breathe_in() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet` is never used [INFO] [stdout] --> src/ch07/mod.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `private_fn` is never used [INFO] [stdout] --> src/ch07/mod.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | fn private_fn() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vegetable` is never constructed [INFO] [stdout] --> src/ch07/mod.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct Vegetable { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ch07/mod.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 39 | impl Vegetable { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 40 | pub fn new(name: &str) -> Vegetable { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_struct` is never used [INFO] [stdout] --> src/ch07/mod.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn generate_struct() -> Vegetable { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test` is never used [INFO] [stdout] --> src/ch07/mod.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | fn test() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Appetizer` is never used [INFO] [stdout] --> src/ch07/mod.rs:72:14 [INFO] [stdout] | [INFO] [stdout] 72 | pub enum Appetizer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet_trio` is never used [INFO] [stdout] --> src/ch07/mod.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn clarinet_trio() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet` is never used [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 `clarinet` is never used [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 `clarinet` is never used [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 `clarinet` is never used [INFO] [stdout] --> src/ch07/mod.rs:173:24 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn clarinet() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clarinet_trio` is never used [INFO] [stdout] --> src/ch07/mod.rs:183:20 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn clarinet_trio() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch08_03_hash_maps` is never used [INFO] [stdout] --> src/ch08_hashmap.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn ch08_03_hash_maps() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch08_02_strings` is never used [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 `ch08_01_vectors` is never used [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 `ch09_01_unrecoverable_errors_with_panic` is never used [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 `ch09_02_recoverable_errors_with_result` is never used [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 `ch09_03_to_panic_or_not_to_panic` is never used [INFO] [stdout] --> src/ch09.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | pub fn ch09_03_to_panic_or_not_to_panic() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch10_00_generics` is never used [INFO] [stdout] --> src/ch10.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn ch10_00_generics() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch10_01_syntax` is never used [INFO] [stdout] --> src/ch10.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn ch10_01_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `x` is never used [INFO] [stdout] --> src/ch10.rs:79:16 [INFO] [stdout] | [INFO] [stdout] 78 | impl Point { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 79 | fn x(&self) -> &A { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `distance_from_origin` is never used [INFO] [stdout] --> src/ch10.rs:85:16 [INFO] [stdout] | [INFO] [stdout] 84 | impl Point { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 85 | fn distance_from_origin(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `mix_up` is never used [INFO] [stdout] --> src/ch10.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 106 | impl Point { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 109 | fn mix_up(self, other: Point) -> Point { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch10_02_traits` is never used [INFO] [stdout] --> src/ch10.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn ch10_02_traits() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ch10.rs:739:16 [INFO] [stdout] | [INFO] [stdout] 738 | impl Pair { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 739 | fn new(x: T, y: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cmp_display` is never used [INFO] [stdout] --> src/ch10.rs:746:16 [INFO] [stdout] | [INFO] [stdout] 745 | impl Pair { [INFO] [stdout] | ------------------------------------- method in this implementation [INFO] [stdout] 746 | fn cmp_display(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch10_03_lifetime_syntax` is never used [INFO] [stdout] --> src/ch10.rs:774:8 [INFO] [stdout] | [INFO] [stdout] 774 | pub fn ch10_03_lifetime_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `level` is never used [INFO] [stdout] --> src/ch10.rs:944:16 [INFO] [stdout] | [INFO] [stdout] 943 | impl ImportantExcerpt { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 944 | fn level(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `level` and `announce_and_return_part` are never used [INFO] [stdout] --> src/ch10.rs:962:16 [INFO] [stdout] | [INFO] [stdout] 961 | impl<'a> ImportantExcerpt<'a> { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] 962 | fn level(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 965 | fn announce_and_return_part(&self, announcement: &str) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `a` is never used [INFO] [stdout] --> src/ch10.rs:978:16 [INFO] [stdout] | [INFO] [stdout] 977 | impl ImportantExcerpt<'_> { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] 978 | fn a(&self, announcement: &str) -> &str { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `value` is never read [INFO] [stdout] --> src/ch11_01.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub struct Guess { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 133 | value: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_two` is never used [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 `Config` is never constructed [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 `new` is never used [INFO] [stdout] --> src/ch12.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | impl Config<'_> { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 26 | fn new(args: &[String]) -> Result, &'static str> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `minigrep` is never used [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 `run` is never used [INFO] [stdout] --> src/ch12.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn run(config: Config) -> Result<(), Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch13_01_closures` is never used [INFO] [stdout] --> src/ch13.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn ch13_01_closures() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `value` are never used [INFO] [stdout] --> src/ch13.rs:118:16 [INFO] [stdout] | [INFO] [stdout] 114 | / impl Cacher [INFO] [stdout] 115 | | where [INFO] [stdout] 116 | | T: Fn(u32) -> u32, // 还得再写一遍 [INFO] [stdout] | |______________________________- associated items in this implementation [INFO] [stdout] 117 | { [INFO] [stdout] 118 | fn new(calculation: T) -> Cacher { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn value(&mut self, arg: u32) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `value` are never used [INFO] [stdout] --> src/ch13.rs:178:16 [INFO] [stdout] | [INFO] [stdout] 174 | / impl Cacher [INFO] [stdout] 175 | | where [INFO] [stdout] 176 | | T: Fn(u32) -> u32, [INFO] [stdout] | |______________________________- associated items in this implementation [INFO] [stdout] 177 | { [INFO] [stdout] 178 | fn new(calculation: T) -> Cacher { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | fn value(&mut self, arg: u32) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `value` are never used [INFO] [stdout] --> src/ch13.rs:221:16 [INFO] [stdout] | [INFO] [stdout] 216 | / impl Cacher1 [INFO] [stdout] 217 | | where [INFO] [stdout] 218 | | U: Eq + Hash + Clone, [INFO] [stdout] 219 | | T: Fn(U) -> u32, // 获取所有权 [INFO] [stdout] | |____________________________- associated items in this implementation [INFO] [stdout] 220 | { [INFO] [stdout] 221 | fn new(calculation: T) -> Cacher1 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn value(&mut self, arg: U) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `value` are never used [INFO] [stdout] --> src/ch13.rs:261:16 [INFO] [stdout] | [INFO] [stdout] 256 | / impl Cacher2 [INFO] [stdout] 257 | | where [INFO] [stdout] 258 | | U: Eq + Hash + Clone, [INFO] [stdout] 259 | | T: Fn(&U) -> u32, [INFO] [stdout] | |_____________________________- associated items in this implementation [INFO] [stdout] 260 | { [INFO] [stdout] 261 | fn new(calculation: T) -> Cacher2 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | fn value(&mut self, arg: U) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch13_02_iterators` is never used [INFO] [stdout] --> src/ch13.rs:339:8 [INFO] [stdout] | [INFO] [stdout] 339 | pub fn ch13_02_iterators() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ch13.rs:456:16 [INFO] [stdout] | [INFO] [stdout] 455 | impl Counter { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 456 | fn new() -> Counter { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch13_04_performance` is never used [INFO] [stdout] --> src/ch13.rs:528:8 [INFO] [stdout] | [INFO] [stdout] 528 | pub fn ch13_04_performance(buffer: &mut [i32], coefficients: [i64; 12], qlp_shift: i16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch14_01_release_profiles` is never used [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 `ch14_02_publishing_to_crates_io` is never used [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 `ch15_01_box` is never used [INFO] [stdout] --> src/ch15.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn ch15_01_box() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch15_02_deref` is never used [INFO] [stdout] --> src/ch15.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn ch15_02_deref() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ch15.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 134 | impl MyBox { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 135 | fn new(x: T) -> MyBox { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ch15.rs:212:16 [INFO] [stdout] | [INFO] [stdout] 211 | impl MyBox { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 212 | fn new(x: T) -> MyBox { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch15_03_drop` is never used [INFO] [stdout] --> src/ch15.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn ch15_03_drop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `List` is never used [INFO] [stdout] --> src/ch15.rs:305:6 [INFO] [stdout] | [INFO] [stdout] 305 | enum List { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch15_04_rc` is never used [INFO] [stdout] --> src/ch15.rs:310:8 [INFO] [stdout] | [INFO] [stdout] 310 | pub fn ch15_04_rc() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Messenger` is never used [INFO] [stdout] --> src/ch15.rs:404:11 [INFO] [stdout] | [INFO] [stdout] 404 | pub trait Messenger { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LimitTracker` is never constructed [INFO] [stdout] --> src/ch15.rs:408:12 [INFO] [stdout] | [INFO] [stdout] 408 | pub struct LimitTracker<'a, T: Messenger> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `set_value` are never used [INFO] [stdout] --> src/ch15.rs:418:12 [INFO] [stdout] | [INFO] [stdout] 414 | / impl<'a, T> LimitTracker<'a, T> [INFO] [stdout] 415 | | where [INFO] [stdout] 416 | | T: Messenger, [INFO] [stdout] | |_________________- associated items in this implementation [INFO] [stdout] 417 | { [INFO] [stdout] 418 | pub fn new(messenger: &'_ T, max: usize) -> LimitTracker<'_, T> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 426 | pub fn set_value(&mut self, value: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `List` is never used [INFO] [stdout] --> src/ch15_02.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | enum List { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [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: enum `List` is never used [INFO] [stdout] --> src/ch15_03.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | enum List { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `tail` is never used [INFO] [stdout] --> src/ch15_03.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl List { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 19 | // 我们希望能够修改 Cons 成员所指向的 List。这里还增加了一个 tail 方法来方便我们在有 Cons 成员的时候访问其第二项。 [INFO] [stdout] 20 | fn tail(&self) -> Option<&RefCell>> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [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: struct `Node` is never constructed [INFO] [stdout] --> src/ch15_04.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [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: field `regular_field` is never read [INFO] [stdout] --> src/ch15_05.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 86 | struct SomeStruct { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 87 | regular_field: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch16_01_threads` is never used [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 `ch16_02_message_passing` is never used [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 `ch16_03_shared_state` is never used [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 `ch16_04_extensible_concurrency_sync_and_send` is never used [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 `ch17_01whatis_oo` is never used [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: methods `add`, `remove`, `average`, and `update_average` are never used [INFO] [stdout] --> src/ch17.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 9 | impl AveragedCollection { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] 10 | pub fn add(&mut self, value: i32) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn remove(&mut self) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn average(&self) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | fn update_average(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch17_02_trait_objects` is never used [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: method `run` is never used [INFO] [stdout] --> src/ch17.rs:49:16 [INFO] [stdout] | [INFO] [stdout] 48 | impl Screen { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 49 | pub fn run(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/ch17.rs:70:20 [INFO] [stdout] | [INFO] [stdout] 66 | / impl Screen [INFO] [stdout] 67 | | where [INFO] [stdout] 68 | | T: Draw, [INFO] [stdout] | |____________________- method in this implementation [INFO] [stdout] 69 | { [INFO] [stdout] 70 | pub fn run(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch17_03_oo_design_patterns` is never used [INFO] [stdout] --> src/ch17.rs:226:8 [INFO] [stdout] | [INFO] [stdout] 226 | pub fn ch17_03_oo_design_patterns() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_text`, `content`, `request_review`, `approve`, and `reject` are never used [INFO] [stdout] --> src/ch17.rs:241:20 [INFO] [stdout] | [INFO] [stdout] 240 | impl Post { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 241 | pub fn new() -> Post { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn add_text(&mut self, text: &str) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn content(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn request_review(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn approve(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn reject(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `content` are never used [INFO] [stdout] --> src/ch17.rs:386:20 [INFO] [stdout] | [INFO] [stdout] 385 | impl Post { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 386 | pub fn new() -> DraftPost { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 391 | pub fn content(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `add_text` and `request_review` are never used [INFO] [stdout] --> src/ch17.rs:397:20 [INFO] [stdout] | [INFO] [stdout] 396 | impl DraftPost { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 397 | pub fn add_text(&mut self, text: &str) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 401 | pub fn request_review(self) -> PendingReviewPost { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `approve` is never used [INFO] [stdout] --> src/ch17.rs:413:20 [INFO] [stdout] | [INFO] [stdout] 412 | impl PendingReviewPost { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 413 | pub fn approve(self) -> Post { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch18_01_all_the_places_for_patterns` is never used [INFO] [stdout] --> src/ch18.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn ch18_01_all_the_places_for_patterns() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch18_02_refutability` is never used [INFO] [stdout] --> src/ch18.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn ch18_02_refutability() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch18_03_pattern_syntax` is never used [INFO] [stdout] --> src/ch18.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn ch18_03_pattern_syntax() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch19_01_unsafe_rust` is never used [INFO] [stdout] --> src/ch19.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn ch19_01_unsafe_rust() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch19_03_advanced_traits` is never used [INFO] [stdout] --> src/ch19.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn ch19_03_advanced_traits() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fly` is never used [INFO] [stdout] --> src/ch19.rs:363:16 [INFO] [stdout] | [INFO] [stdout] 362 | impl Human { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 363 | fn fly(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `baby_name` is never used [INFO] [stdout] --> src/ch19.rs:385:16 [INFO] [stdout] | [INFO] [stdout] 384 | impl Dog { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 385 | fn baby_name() -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch19_04_advanced_types` is never used [INFO] [stdout] --> src/ch19.rs:477:8 [INFO] [stdout] | [INFO] [stdout] 477 | pub fn ch19_04_advanced_types() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch19_05_advanced_functions_and_closures` is never used [INFO] [stdout] --> src/ch19.rs:663:8 [INFO] [stdout] | [INFO] [stdout] 663 | pub fn ch19_05_advanced_functions_and_closures() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `abs` is never used [INFO] [stdout] --> src/ch19.rs:134:12 [INFO] [stdout] | [INFO] [stdout] 134 | fn abs(input: i32) -> i32; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/ch19_06.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/ch20.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_connection` is never used [INFO] [stdout] --> src/ch20.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn handle_connection(mut stream: TcpStream) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/test.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement with no effect [INFO] [stdout] --> src/ch06.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 315 | a; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(path_statements)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement with no effect [INFO] [stdout] --> src/ch06.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 316 | b; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement with no effect [INFO] [stdout] --> src/ch06.rs:317:9 [INFO] [stdout] | [INFO] [stdout] 317 | c; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement with no effect [INFO] [stdout] --> src/ch06.rs:318:9 [INFO] [stdout] | [INFO] [stdout] 318 | d; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Float` should have a snake case name [INFO] [stdout] --> src/ch08_vec.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | Float => (), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `float` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Text` should have a snake case name [INFO] [stdout] --> src/ch08_vec.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | 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:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | Int => (), [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `int` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ch15.rs:464:31 [INFO] [stdout] | [INFO] [stdout] 464 | pub fn new(messenger: &T, max: usize) -> LimitTracker { [INFO] [stdout] | ^^ ^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 464 | pub fn new(messenger: &T, max: usize) -> LimitTracker<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.37s [INFO] running `Command { std: "docker" "inspect" "8d5963ce1f3f426722f83641959c7e326f65146c52b52e813a44bb070b8c6bdd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8d5963ce1f3f426722f83641959c7e326f65146c52b52e813a44bb070b8c6bdd", kill_on_drop: false }` [INFO] [stdout] 8d5963ce1f3f426722f83641959c7e326f65146c52b52e813a44bb070b8c6bdd