[INFO] cloning repository https://github.com/shiqiduan/rust-kata
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shiqiduan/rust-kata" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshiqiduan%2Frust-kata", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshiqiduan%2Frust-kata'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 37ae32a7b6cc157b69b0ce50e88bbf223e46a5cd
[INFO] checking shiqiduan/rust-kata against try#04ea1e1f1a12cfa912c228ca278237d92d0bb6df for pr-148477-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshiqiduan%2Frust-kata" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shiqiduan/rust-kata
[INFO] finished tweaking git repo https://github.com/shiqiduan/rust-kata
[INFO] tweaked toml for git repo https://github.com/shiqiduan/rust-kata written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shiqiduan/rust-kata on toolchain 04ea1e1f1a12cfa912c228ca278237d92d0bb6df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/shiqiduan/rust-kata 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" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking shiqiduan/rust-kata against try#04ea1e1f1a12cfa912c228ca278237d92d0bb6df for pr-148477-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshiqiduan%2Frust-kata" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shiqiduan/rust-kata
[INFO] finished tweaking git repo https://github.com/shiqiduan/rust-kata
[INFO] tweaked toml for git repo https://github.com/shiqiduan/rust-kata written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shiqiduan/rust-kata on toolchain 04ea1e1f1a12cfa912c228ca278237d92d0bb6df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/shiqiduan/rust-kata 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" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 709c6086e482327dfe866615c6efa67b32ba5abfe501539414b028b0bf7e82f9
[INFO] running `Command { std: "docker" "start" "-a" "709c6086e482327dfe866615c6efa67b32ba5abfe501539414b028b0bf7e82f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "709c6086e482327dfe866615c6efa67b32ba5abfe501539414b028b0bf7e82f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "709c6086e482327dfe866615c6efa67b32ba5abfe501539414b028b0bf7e82f9", kill_on_drop: false }`
[INFO] [stdout] 709c6086e482327dfe866615c6efa67b32ba5abfe501539414b028b0bf7e82f9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 60e788933336f2be211aba185498905191c41b51fed05127e3b02b2c8da8682d
[INFO] running `Command { std: "docker" "start" "-a" "60e788933336f2be211aba185498905191c41b51fed05127e3b02b2c8da8682d", kill_on_drop: false }`
[INFO] [stderr]     Checking rust-kata v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Shape` and `print_area`
[INFO] [stdout]    --> src/basics/generics_trait.rs:146:40
[INFO] [stdout]     |
[INFO] [stdout] 146 |         demo_01, largest, largest_i32, print_area, Circle, Point, Rectangle, Shape,
[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 variable: `first`
[INFO] [stdout]   --> src/basics/collecton.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let first = &v[0];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/basics/collecton.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let d = map.get("d").copied().unwrap_or(0);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user2`
[INFO] [stdout]   --> src/basics/compound_types.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let user2 = User {
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_user2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/basics/compound_types.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let a = [1, 2, 3, 4, 5];
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/basics/compound_types.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let a: [i32; 5] = [1, 2, 3, 4, 5];
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]   --> src/basics/collecton.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let first = &v[0];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/basics/generics_trait.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn notify(item: &impl Summary) {
[INFO] [stdout]    |               ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/basics/generics_trait.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn notify_01(item: &(impl Summary + Display)) {}
[INFO] [stdout]    |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/basics/collecton.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let d = map.get("d").copied().unwrap_or(0);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/basics/generics_trait.rs:100:40
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn notify_02<T: Summary + Display>(item: &T) {}
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/basics/generics_trait.rs:103:24
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn some_function<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user2`
[INFO] [stdout]   --> src/basics/compound_types.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let user2 = User {
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_user2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]    --> src/basics/generics_trait.rs:103:31
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn some_function<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/basics/lifetime.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let a = AAA { part: &s };
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/basics/ownership_borrowing.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let y = x;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/basics/compound_types.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let a = [1, 2, 3, 4, 5];
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/basics/compound_types.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let a: [i32; 5] = [1, 2, 3, 4, 5];
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/basics/pattern_match.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |         Point { x, y: 0 } => println!("y = 0"),
[INFO] [stdout]    |                 ^ help: try ignoring the field: `x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/basics/pattern_match.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |         Point { x: 0, y } => println!("x = 0"),
[INFO] [stdout]     |                       ^ help: try ignoring the field: `y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/basics/pattern_match.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Point { x, y } => println!("point"),
[INFO] [stdout]     |                 ^ help: try ignoring the field: `x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/basics/pattern_match.rs:101:20
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Point { x, y } => println!("point"),
[INFO] [stdout]     |                    ^ help: try ignoring the field: `y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/basics/pattern_match.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |         Point { x, .. } => println!("point"),
[INFO] [stdout]     |                 ^ help: try ignoring the field: `x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `six`
[INFO] [stdout]    --> src/basics/pattern_match.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let six = plus_one(five);
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_six`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/basics/generics_trait.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn notify(item: &impl Summary) {
[INFO] [stdout]    |               ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/basics/generics_trait.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn notify_01(item: &(impl Summary + Display)) {}
[INFO] [stdout]    |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/basics/generics_trait.rs:100:40
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn notify_02<T: Summary + Display>(item: &T) {}
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/basics/generics_trait.rs:103:24
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn some_function<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]    --> src/basics/generics_trait.rs:103:31
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn some_function<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rectangle`
[INFO] [stdout]    --> src/basics/generics_trait.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let rectangle = Rectangle {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rectangle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `circle`
[INFO] [stdout]    --> src/basics/generics_trait.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let circle = Circle { radius: 2.5 };
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_circle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/basics/lifetime.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let a = AAA { part: &s };
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `none`
[INFO] [stdout]    --> src/basics/pattern_match.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let none = plus_one(None);
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `None`
[INFO] [stdout]     |
[INFO] [stdout] 165 -     let none = plus_one(None);
[INFO] [stdout] 165 +     let std::prelude::v1::None = plus_one(None);
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let _none = plus_one(None);
[INFO] [stdout]     |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/basics/ownership_borrowing.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let y = x;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/basics/return_panic.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut f = File::open("hello.txt")?;
[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: unused variable: `x`
[INFO] [stdout]   --> src/basics/pattern_match.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |         Point { x, y: 0 } => println!("y = 0"),
[INFO] [stdout]    |                 ^ help: try ignoring the field: `x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/basics/pattern_match.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |         Point { x: 0, y } => println!("x = 0"),
[INFO] [stdout]     |                       ^ help: try ignoring the field: `y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/basics/pattern_match.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Point { x, y } => println!("point"),
[INFO] [stdout]     |                 ^ help: try ignoring the field: `x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/basics/pattern_match.rs:101:20
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Point { x, y } => println!("point"),
[INFO] [stdout]     |                    ^ help: try ignoring the field: `y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/basics/pattern_match.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |         Point { x, .. } => println!("point"),
[INFO] [stdout]     |                 ^ help: try ignoring the field: `x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `six`
[INFO] [stdout]    --> src/basics/pattern_match.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let six = plus_one(five);
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_six`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/basics/variable.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let (a, mut b): (bool, bool) = (true, false);
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_demo` is never used
[INFO] [stdout]  --> src/basics/collecton.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn vector_demo() {
[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 `vector_demo_01` is never used
[INFO] [stdout]   --> src/basics/collecton.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn vector_demo_01() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_demo_02` is never used
[INFO] [stdout]   --> src/basics/collecton.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn vector_demo_02() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_demo_03` is never used
[INFO] [stdout]   --> src/basics/collecton.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn vector_demo_03() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_sort` is never used
[INFO] [stdout]   --> src/basics/collecton.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn vector_sort() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyKey` is never constructed
[INFO] [stdout]   --> src/basics/collecton.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | struct MyKey {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hashmap_demo_01` is never used
[INFO] [stdout]   --> src/basics/collecton.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn hashmap_demo_01() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hashmap_demo_02` is never used
[INFO] [stdout]    --> src/basics/collecton.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn hashmap_demo_02() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hashmap_demo_03` is never used
[INFO] [stdout]    --> src/basics/collecton.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn hashmap_demo_03() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `comment_demo` is never used
[INFO] [stdout]  --> src/basics/comment_doc.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn comment_demo() {}
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `age` and `active` are never read
[INFO] [stdout]   --> src/basics/compound_types.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     struct User {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 20 |         name: String,
[INFO] [stdout] 21 |         age: i32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 22 |         active: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Color` is never constructed
[INFO] [stdout]   --> src/basics/compound_types.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     struct Color(i32, i32, i32);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/basics/compound_types.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     struct Point(i32, i32, i32);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoData` is never constructed
[INFO] [stdout]   --> src/basics/compound_types.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |     struct NoData;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enum_demo` is never used
[INFO] [stdout]   --> src/basics/compound_types.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn enum_demo() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_demo` is never used
[INFO] [stdout]   --> src/basics/compound_types.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn array_demo() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo` is never used
[INFO] [stdout]   --> src/basics/flow_control.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn demo() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `for_demo1` is never used
[INFO] [stdout]   --> src/basics/flow_control.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn for_demo1() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]  --> src/basics/function.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn add(i:i32, j:i32) -> i32 {
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plus_or_minus` is never used
[INFO] [stdout]   --> src/basics/function.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn plus_or_minus(x:i32) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_i32` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn largest_i32(list: &[i32]) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn largest<T: PartialOrd + Copy>(list: &[T]) -> T {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/basics/generics_trait.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct Point<T> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `x` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl<T> Point<T> {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 55 |     fn x(&self) -> &T {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo_01` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn demo_01() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Summary` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub trait Summary {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn notify(item: &impl Summary) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nofity` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn nofity<T: Summary>(item: &T) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_01` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn notify_01(item: &(impl Summary + Display)) {}
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_02` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn notify_02<T: Summary + Display>(item: &T) {}
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `some_function` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn some_function<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Shape` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:114:7
[INFO] [stdout]     |
[INFO] [stdout] 114 | trait Shape {
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]    --> src/basics/generics_trait.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | struct Rectangle {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Circle` is never constructed
[INFO] [stdout]    --> src/basics/generics_trait.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | struct Circle {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_area` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn print_area(shape: impl Shape) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetime_demo_01` is never used
[INFO] [stdout]  --> src/basics/lifetime.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn lifetime_demo_01() {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetime_demo_02` is never used
[INFO] [stdout]   --> src/basics/lifetime.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn lifetime_demo_02() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetime_demo_03` is never used
[INFO] [stdout]   --> src/basics/lifetime.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn lifetime_demo_03() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetime_demo_04` is never used
[INFO] [stdout]   --> src/basics/lifetime.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn lifetime_demo_04() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]   --> src/basics/method.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Rectangle {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `area` is never used
[INFO] [stdout]   --> src/basics/method.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Rectangle {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 27 |     fn area(&self) -> u32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `none`
[INFO] [stdout]    --> src/basics/pattern_match.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let none = plus_one(None);
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `None`
[INFO] [stdout]     |
[INFO] [stdout] 165 -     let none = plus_one(None);
[INFO] [stdout] 165 +     let std::prelude::v1::None = plus_one(None);
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let _none = plus_one(None);
[INFO] [stdout]     |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/basics/method.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Rectangle {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 33 |     // 3. 关联函数
[INFO] [stdout] 34 |     fn new(width: u32, height: u32) -> Rectangle {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo` is never used
[INFO] [stdout]   --> src/basics/method.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn demo() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo` is never used
[INFO] [stdout]   --> src/basics/ownership_borrowing.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn demo() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo_01` is never used
[INFO] [stdout]   --> src/basics/ownership_borrowing.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn demo_01() {}
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/basics/pattern_match.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Direction {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo` is never used
[INFO] [stdout]   --> src/basics/pattern_match.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn demo() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Action` is never used
[INFO] [stdout]   --> src/basics/pattern_match.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 34 | enum Action {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo_01` is never used
[INFO] [stdout]   --> src/basics/pattern_match.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn demo_01() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pattern_demo` is never used
[INFO] [stdout]   --> src/basics/pattern_match.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn pattern_demo() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo_02` is never used
[INFO] [stdout]    --> src/basics/pattern_match.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn demo_02() {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `option_demo` is never used
[INFO] [stdout]    --> src/basics/pattern_match.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn option_demo() {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_file` is never used
[INFO] [stdout]   --> src/basics/return_panic.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn open_file() -> Result<File, Box<dyn std::error::Error>> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_from_file` is never used
[INFO] [stdout]   --> src/basics/return_panic.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn read_from_file() -> Result<String, io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `error_demo` is never used
[INFO] [stdout]   --> src/basics/return_panic.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn error_demo() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyType` is never constructed
[INFO] [stdout]   --> src/basics/return_panic.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct MyType {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_demo` is never used
[INFO] [stdout]   --> src/basics/return_panic.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn from_demo() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Struct` is never constructed
[INFO] [stdout]   --> src/basics/variable.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct Struct {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A_B_C` is never used
[INFO] [stdout]   --> src/basics/variable.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const A_B_C:i32 = 100;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shadowing_demo` is never used
[INFO] [stdout]   --> src/basics/variable.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn shadowing_demo() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/basics/return_panic.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut f = File::open("hello.txt")?;
[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/basics/variable.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let (a, mut b): (bool, bool) = (true, false);
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/basics/collecton.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |         V4(String),
[INFO] [stdout]    |         -- ^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IpAddr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 45 -         V4(String),
[INFO] [stdout] 45 +         V4(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/basics/collecton.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 |         V5(String),
[INFO] [stdout]    |         -- ^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IpAddr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 46 -         V5(String),
[INFO] [stdout] 46 +         V5(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyKey` is never constructed
[INFO] [stdout]   --> src/basics/collecton.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | struct MyKey {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `comment_demo` is never used
[INFO] [stdout]  --> src/basics/comment_doc.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn comment_demo() {}
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `age` and `active` are never read
[INFO] [stdout]   --> src/basics/compound_types.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     struct User {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 20 |         name: String,
[INFO] [stdout] 21 |         age: i32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 22 |         active: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Color` is never constructed
[INFO] [stdout]   --> src/basics/compound_types.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     struct Color(i32, i32, i32);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/basics/compound_types.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     struct Point(i32, i32, i32);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoData` is never constructed
[INFO] [stdout]   --> src/basics/compound_types.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |     struct NoData;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/basics/compound_types.rs:64:15
[INFO] [stdout]    |
[INFO] [stdout] 64 |         Clubs(u8),
[INFO] [stdout]    |         ----- ^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PokerSuit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 64 -         Clubs(u8),
[INFO] [stdout] 64 +         Clubs(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/basics/compound_types.rs:65:16
[INFO] [stdout]    |
[INFO] [stdout] 65 |         Spades(u8),
[INFO] [stdout]    |         ------ ^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PokerSuit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 65 -         Spades(u8),
[INFO] [stdout] 65 +         Spades(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/basics/compound_types.rs:66:18
[INFO] [stdout]    |
[INFO] [stdout] 66 |         Diamonds(u8, char),
[INFO] [stdout]    |         -------- ^^  ^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PokerSuit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 66 -         Diamonds(u8, char),
[INFO] [stdout] 66 +         Diamonds((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]   --> src/basics/compound_types.rs:67:18
[INFO] [stdout]    |
[INFO] [stdout] 67 |         Hearts { x: u8, y: char },
[INFO] [stdout]    |         ------   ^      ^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PokerSuit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `y` is never read
[INFO] [stdout]   --> src/basics/generics_trait.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct Point<T> {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 50 |     x: T,
[INFO] [stdout] 51 |     y: T,
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Summary` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub trait Summary {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn notify(item: &impl Summary) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nofity` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn nofity<T: Summary>(item: &T) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_01` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn notify_01(item: &(impl Summary + Display)) {}
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_02` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn notify_02<T: Summary + Display>(item: &T) {}
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `some_function` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn some_function<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Shape` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:114:7
[INFO] [stdout]     |
[INFO] [stdout] 114 | trait Shape {
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width` and `height` are never read
[INFO] [stdout]    --> src/basics/generics_trait.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | struct Rectangle {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 119 |     width: f64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 120 |     height: f64,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `radius` is never read
[INFO] [stdout]    --> src/basics/generics_trait.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | struct Circle {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 130 |     radius: f64,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_area` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn print_area(shape: impl Shape) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetime_demo_03` is never used
[INFO] [stdout]   --> src/basics/lifetime.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn lifetime_demo_03() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetime_demo_04` is never used
[INFO] [stdout]   --> src/basics/lifetime.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn lifetime_demo_04() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo_01` is never used
[INFO] [stdout]   --> src/basics/ownership_borrowing.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn demo_01() {}
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `East`, `West`, and `North` are never constructed
[INFO] [stdout]   --> src/basics/pattern_match.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Direction {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout] 17 |     East,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 18 |     West,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 19 |     North,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `2` is never read
[INFO] [stdout]   --> src/basics/pattern_match.rs:37:30
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ChangeColorRGB(u16, u16, u16),
[INFO] [stdout]    |     --------------           ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 37 -     ChangeColorRGB(u16, u16, u16),
[INFO] [stdout] 37 +     ChangeColorRGB(u16, u16, ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_file` is never used
[INFO] [stdout]   --> src/basics/return_panic.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn open_file() -> Result<File, Box<dyn std::error::Error>> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_from_file` is never used
[INFO] [stdout]   --> src/basics/return_panic.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn read_from_file() -> Result<String, io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Struct` is never constructed
[INFO] [stdout]   --> src/basics/variable.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct Struct {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A_B_C` is never used
[INFO] [stdout]   --> src/basics/variable.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const A_B_C:i32 = 100;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Shape` and `print_area`
[INFO] [stdout]    --> src/basics/generics_trait.rs:146:40
[INFO] [stdout]     |
[INFO] [stdout] 146 |         demo_01, largest, largest_i32, print_area, Circle, Point, Rectangle, Shape,
[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 variable: `first`
[INFO] [stdout]   --> src/basics/collecton.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let first = &v[0];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/basics/collecton.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let d = map.get("d").copied().unwrap_or(0);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user2`
[INFO] [stdout]   --> src/basics/compound_types.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let user2 = User {
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_user2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/basics/compound_types.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let a = [1, 2, 3, 4, 5];
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/basics/compound_types.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let a: [i32; 5] = [1, 2, 3, 4, 5];
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/basics/generics_trait.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn notify(item: &impl Summary) {
[INFO] [stdout]    |               ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/basics/generics_trait.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn notify_01(item: &(impl Summary + Display)) {}
[INFO] [stdout]    |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/basics/generics_trait.rs:100:40
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn notify_02<T: Summary + Display>(item: &T) {}
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/basics/generics_trait.rs:103:24
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn some_function<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]    --> src/basics/generics_trait.rs:103:31
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn some_function<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rectangle`
[INFO] [stdout]    --> src/basics/generics_trait.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let rectangle = Rectangle {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rectangle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `circle`
[INFO] [stdout]    --> src/basics/generics_trait.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let circle = Circle { radius: 2.5 };
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_circle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/basics/lifetime.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let a = AAA { part: &s };
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/basics/ownership_borrowing.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let y = x;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/basics/pattern_match.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |         Point { x, y: 0 } => println!("y = 0"),
[INFO] [stdout]    |                 ^ help: try ignoring the field: `x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/basics/pattern_match.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |         Point { x: 0, y } => println!("x = 0"),
[INFO] [stdout]     |                       ^ help: try ignoring the field: `y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/basics/pattern_match.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Point { x, y } => println!("point"),
[INFO] [stdout]     |                 ^ help: try ignoring the field: `x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/basics/pattern_match.rs:101:20
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Point { x, y } => println!("point"),
[INFO] [stdout]     |                    ^ help: try ignoring the field: `y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/basics/pattern_match.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |         Point { x, .. } => println!("point"),
[INFO] [stdout]     |                 ^ help: try ignoring the field: `x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `six`
[INFO] [stdout]    --> src/basics/pattern_match.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let six = plus_one(five);
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_six`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `none`
[INFO] [stdout]    --> src/basics/pattern_match.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let none = plus_one(None);
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `None`
[INFO] [stdout]     |
[INFO] [stdout] 165 -     let none = plus_one(None);
[INFO] [stdout] 165 +     let std::prelude::v1::None = plus_one(None);
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let _none = plus_one(None);
[INFO] [stdout]     |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/basics/return_panic.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut f = File::open("hello.txt")?;
[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/basics/variable.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let (a, mut b): (bool, bool) = (true, false);
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]   --> src/basics/collecton.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let first = &v[0];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/basics/collecton.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |         V4(String),
[INFO] [stdout]    |         -- ^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IpAddr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 45 -         V4(String),
[INFO] [stdout] 45 +         V4(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/basics/collecton.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 |         V5(String),
[INFO] [stdout]    |         -- ^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IpAddr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 46 -         V5(String),
[INFO] [stdout] 46 +         V5(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyKey` is never constructed
[INFO] [stdout]   --> src/basics/collecton.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | struct MyKey {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `comment_demo` is never used
[INFO] [stdout]  --> src/basics/comment_doc.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn comment_demo() {}
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `age` and `active` are never read
[INFO] [stdout]   --> src/basics/compound_types.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     struct User {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 20 |         name: String,
[INFO] [stdout] 21 |         age: i32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 22 |         active: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Color` is never constructed
[INFO] [stdout]   --> src/basics/compound_types.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     struct Color(i32, i32, i32);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/basics/compound_types.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     struct Point(i32, i32, i32);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoData` is never constructed
[INFO] [stdout]   --> src/basics/compound_types.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |     struct NoData;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/basics/compound_types.rs:64:15
[INFO] [stdout]    |
[INFO] [stdout] 64 |         Clubs(u8),
[INFO] [stdout]    |         ----- ^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PokerSuit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 64 -         Clubs(u8),
[INFO] [stdout] 64 +         Clubs(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/basics/compound_types.rs:65:16
[INFO] [stdout]    |
[INFO] [stdout] 65 |         Spades(u8),
[INFO] [stdout]    |         ------ ^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PokerSuit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 65 -         Spades(u8),
[INFO] [stdout] 65 +         Spades(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/basics/compound_types.rs:66:18
[INFO] [stdout]    |
[INFO] [stdout] 66 |         Diamonds(u8, char),
[INFO] [stdout]    |         -------- ^^  ^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PokerSuit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 66 -         Diamonds(u8, char),
[INFO] [stdout] 66 +         Diamonds((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]   --> src/basics/compound_types.rs:67:18
[INFO] [stdout]    |
[INFO] [stdout] 67 |         Hearts { x: u8, y: char },
[INFO] [stdout]    |         ------   ^      ^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PokerSuit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `y` is never read
[INFO] [stdout]   --> src/basics/generics_trait.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct Point<T> {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 50 |     x: T,
[INFO] [stdout] 51 |     y: T,
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Summary` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub trait Summary {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn notify(item: &impl Summary) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nofity` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn nofity<T: Summary>(item: &T) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_01` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn notify_01(item: &(impl Summary + Display)) {}
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_02` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn notify_02<T: Summary + Display>(item: &T) {}
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `some_function` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn some_function<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Shape` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:114:7
[INFO] [stdout]     |
[INFO] [stdout] 114 | trait Shape {
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width` and `height` are never read
[INFO] [stdout]    --> src/basics/generics_trait.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | struct Rectangle {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 119 |     width: f64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 120 |     height: f64,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `radius` is never read
[INFO] [stdout]    --> src/basics/generics_trait.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | struct Circle {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 130 |     radius: f64,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_area` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn print_area(shape: impl Shape) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetime_demo_03` is never used
[INFO] [stdout]   --> src/basics/lifetime.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn lifetime_demo_03() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetime_demo_04` is never used
[INFO] [stdout]   --> src/basics/lifetime.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn lifetime_demo_04() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo_01` is never used
[INFO] [stdout]   --> src/basics/ownership_borrowing.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn demo_01() {}
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `East`, `West`, and `North` are never constructed
[INFO] [stdout]   --> src/basics/pattern_match.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Direction {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout] 17 |     East,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 18 |     West,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 19 |     North,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `2` is never read
[INFO] [stdout]   --> src/basics/pattern_match.rs:37:30
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ChangeColorRGB(u16, u16, u16),
[INFO] [stdout]    |     --------------           ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 37 -     ChangeColorRGB(u16, u16, u16),
[INFO] [stdout] 37 +     ChangeColorRGB(u16, u16, ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_file` is never used
[INFO] [stdout]   --> src/basics/return_panic.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn open_file() -> Result<File, Box<dyn std::error::Error>> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_from_file` is never used
[INFO] [stdout]   --> src/basics/return_panic.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn read_from_file() -> Result<String, io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Struct` is never constructed
[INFO] [stdout]   --> src/basics/variable.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct Struct {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A_B_C` is never used
[INFO] [stdout]   --> src/basics/variable.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const A_B_C:i32 = 100;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/basics/collecton.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let d = map.get("d").copied().unwrap_or(0);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user2`
[INFO] [stdout]   --> src/basics/compound_types.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let user2 = User {
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_user2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/basics/compound_types.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let a = [1, 2, 3, 4, 5];
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/basics/compound_types.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let a: [i32; 5] = [1, 2, 3, 4, 5];
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/basics/generics_trait.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn notify(item: &impl Summary) {
[INFO] [stdout]    |               ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/basics/generics_trait.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn notify_01(item: &(impl Summary + Display)) {}
[INFO] [stdout]    |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/basics/generics_trait.rs:100:40
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn notify_02<T: Summary + Display>(item: &T) {}
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/basics/generics_trait.rs:103:24
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn some_function<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]    --> src/basics/generics_trait.rs:103:31
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn some_function<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/basics/lifetime.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let a = AAA { part: &s };
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/basics/ownership_borrowing.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let y = x;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/basics/pattern_match.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |         Point { x, y: 0 } => println!("y = 0"),
[INFO] [stdout]    |                 ^ help: try ignoring the field: `x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/basics/pattern_match.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |         Point { x: 0, y } => println!("x = 0"),
[INFO] [stdout]     |                       ^ help: try ignoring the field: `y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/basics/pattern_match.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Point { x, y } => println!("point"),
[INFO] [stdout]     |                 ^ help: try ignoring the field: `x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/basics/pattern_match.rs:101:20
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Point { x, y } => println!("point"),
[INFO] [stdout]     |                    ^ help: try ignoring the field: `y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/basics/pattern_match.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |         Point { x, .. } => println!("point"),
[INFO] [stdout]     |                 ^ help: try ignoring the field: `x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `six`
[INFO] [stdout]    --> src/basics/pattern_match.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let six = plus_one(five);
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_six`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `none`
[INFO] [stdout]    --> src/basics/pattern_match.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let none = plus_one(None);
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `None`
[INFO] [stdout]     |
[INFO] [stdout] 165 -     let none = plus_one(None);
[INFO] [stdout] 165 +     let std::prelude::v1::None = plus_one(None);
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let _none = plus_one(None);
[INFO] [stdout]     |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/basics/return_panic.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut f = File::open("hello.txt")?;
[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/basics/variable.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let (a, mut b): (bool, bool) = (true, false);
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_demo` is never used
[INFO] [stdout]  --> src/basics/collecton.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn vector_demo() {
[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 `vector_demo_01` is never used
[INFO] [stdout]   --> src/basics/collecton.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn vector_demo_01() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_demo_02` is never used
[INFO] [stdout]   --> src/basics/collecton.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn vector_demo_02() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_demo_03` is never used
[INFO] [stdout]   --> src/basics/collecton.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn vector_demo_03() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_sort` is never used
[INFO] [stdout]   --> src/basics/collecton.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn vector_sort() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyKey` is never constructed
[INFO] [stdout]   --> src/basics/collecton.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | struct MyKey {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hashmap_demo_01` is never used
[INFO] [stdout]   --> src/basics/collecton.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn hashmap_demo_01() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hashmap_demo_02` is never used
[INFO] [stdout]    --> src/basics/collecton.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn hashmap_demo_02() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hashmap_demo_03` is never used
[INFO] [stdout]    --> src/basics/collecton.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn hashmap_demo_03() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `comment_demo` is never used
[INFO] [stdout]  --> src/basics/comment_doc.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn comment_demo() {}
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tuple_demo` is never used
[INFO] [stdout]  --> src/basics/compound_types.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn tuple_demo() {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `struct_demo` is never used
[INFO] [stdout]   --> src/basics/compound_types.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn struct_demo() {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enum_demo` is never used
[INFO] [stdout]   --> src/basics/compound_types.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn enum_demo() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_demo` is never used
[INFO] [stdout]   --> src/basics/compound_types.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn array_demo() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo` is never used
[INFO] [stdout]   --> src/basics/flow_control.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn demo() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `for_demo1` is never used
[INFO] [stdout]   --> src/basics/flow_control.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn for_demo1() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]  --> src/basics/function.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn add(i:i32, j:i32) -> i32 {
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plus_or_minus` is never used
[INFO] [stdout]   --> src/basics/function.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn plus_or_minus(x:i32) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_i32` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn largest_i32(list: &[i32]) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn largest<T: PartialOrd + Copy>(list: &[T]) -> T {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/basics/generics_trait.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct Point<T> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `x` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl<T> Point<T> {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 55 |     fn x(&self) -> &T {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo_01` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn demo_01() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Summary` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub trait Summary {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn notify(item: &impl Summary) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nofity` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn nofity<T: Summary>(item: &T) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_01` is never used
[INFO] [stdout]   --> src/basics/generics_trait.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn notify_01(item: &(impl Summary + Display)) {}
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_02` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn notify_02<T: Summary + Display>(item: &T) {}
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `some_function` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn some_function<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Shape` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:114:7
[INFO] [stdout]     |
[INFO] [stdout] 114 | trait Shape {
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]    --> src/basics/generics_trait.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | struct Rectangle {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Circle` is never constructed
[INFO] [stdout]    --> src/basics/generics_trait.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | struct Circle {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_area` is never used
[INFO] [stdout]    --> src/basics/generics_trait.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn print_area(shape: impl Shape) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetime_demo_01` is never used
[INFO] [stdout]  --> src/basics/lifetime.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn lifetime_demo_01() {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetime_demo_02` is never used
[INFO] [stdout]   --> src/basics/lifetime.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn lifetime_demo_02() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetime_demo_03` is never used
[INFO] [stdout]   --> src/basics/lifetime.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn lifetime_demo_03() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetime_demo_04` is never used
[INFO] [stdout]   --> src/basics/lifetime.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn lifetime_demo_04() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]   --> src/basics/method.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Rectangle {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `area` is never used
[INFO] [stdout]   --> src/basics/method.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Rectangle {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 27 |     fn area(&self) -> u32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/basics/method.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Rectangle {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 33 |     // 3. 关联函数
[INFO] [stdout] 34 |     fn new(width: u32, height: u32) -> Rectangle {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo` is never used
[INFO] [stdout]   --> src/basics/method.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn demo() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo` is never used
[INFO] [stdout]   --> src/basics/ownership_borrowing.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn demo() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo_01` is never used
[INFO] [stdout]   --> src/basics/ownership_borrowing.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn demo_01() {}
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/basics/pattern_match.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Direction {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo` is never used
[INFO] [stdout]   --> src/basics/pattern_match.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn demo() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Action` is never used
[INFO] [stdout]   --> src/basics/pattern_match.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 34 | enum Action {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo_01` is never used
[INFO] [stdout]   --> src/basics/pattern_match.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn demo_01() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pattern_demo` is never used
[INFO] [stdout]   --> src/basics/pattern_match.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn pattern_demo() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo_02` is never used
[INFO] [stdout]    --> src/basics/pattern_match.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn demo_02() {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `option_demo` is never used
[INFO] [stdout]    --> src/basics/pattern_match.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn option_demo() {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo` is never used
[INFO] [stdout]   --> src/basics/primitive_types.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn demo() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_file` is never used
[INFO] [stdout]   --> src/basics/return_panic.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn open_file() -> Result<File, Box<dyn std::error::Error>> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_from_file` is never used
[INFO] [stdout]   --> src/basics/return_panic.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn read_from_file() -> Result<String, io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `error_demo` is never used
[INFO] [stdout]   --> src/basics/return_panic.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn error_demo() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyType` is never constructed
[INFO] [stdout]   --> src/basics/return_panic.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct MyType {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_demo` is never used
[INFO] [stdout]   --> src/basics/return_panic.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn from_demo() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo` is never used
[INFO] [stdout]   --> src/basics/variable.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn demo() {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Struct` is never constructed
[INFO] [stdout]   --> src/basics/variable.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct Struct {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A_B_C` is never used
[INFO] [stdout]   --> src/basics/variable.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const A_B_C:i32 = 100;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shadowing_demo` is never used
[INFO] [stdout]   --> src/basics/variable.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn shadowing_demo() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.46s
[INFO] running `Command { std: "docker" "inspect" "60e788933336f2be211aba185498905191c41b51fed05127e3b02b2c8da8682d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "60e788933336f2be211aba185498905191c41b51fed05127e3b02b2c8da8682d", kill_on_drop: false }`
[INFO] [stdout] 60e788933336f2be211aba185498905191c41b51fed05127e3b02b2c8da8682d
