[INFO] cloning repository https://github.com/mxdzs0612/rust-by-practice
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mxdzs0612/rust-by-practice" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmxdzs0612%2Frust-by-practice", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmxdzs0612%2Frust-by-practice'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ab89d3528e8232391f1761d19227230912c60869
[INFO] testing mxdzs0612/rust-by-practice against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmxdzs0612%2Frust-by-practice" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mxdzs0612/rust-by-practice
[INFO] finished tweaking git repo https://github.com/mxdzs0612/rust-by-practice
[INFO] tweaked toml for git repo https://github.com/mxdzs0612/rust-by-practice written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mxdzs0612/rust-by-practice on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mxdzs0612/rust-by-practice 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] df19b656cf3957f7498ad220381a7d0508605e1c38d30c80dc889f7f28551aee
[INFO] running `Command { std: "docker" "start" "-a" "df19b656cf3957f7498ad220381a7d0508605e1c38d30c80dc889f7f28551aee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "df19b656cf3957f7498ad220381a7d0508605e1c38d30c80dc889f7f28551aee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "df19b656cf3957f7498ad220381a7d0508605e1c38d30c80dc889f7f28551aee", kill_on_drop: false }`
[INFO] [stdout] df19b656cf3957f7498ad220381a7d0508605e1c38d30c80dc889f7f28551aee
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 296ad2602af2b6494c70edba3c6c4256812653ad947fdc6265ad3e5111fbd31e
[INFO] running `Command { std: "docker" "start" "-a" "296ad2602af2b6494c70edba3c6c4256812653ad947fdc6265ad3e5111fbd31e", kill_on_drop: false }`
[INFO] [stderr]    Compiling rust_by_practice v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `complain` is never used
[INFO] [stdout]  --> src/front_of_house/serving.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn complain() {} 
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]   --> src/bin/6-6-4.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |     Move { x: i32, y: i32 },
[INFO] [stdout]    |     ----   ^       ^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Message` 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/bin/6-6-4.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 |     ChangeColor(i32, i32, i32),
[INFO] [stdout]    |     ----------- ^^^  ^^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Message` 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] 33 -     ChangeColor(i32, i32, i32),
[INFO] [stdout] 33 +     ChangeColor((), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Write` is never constructed
[INFO] [stdout]   --> src/bin/6-6-4.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | enum Message {
[INFO] [stdout]    |      ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 32 |     Write(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bin/4-1-7.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let x = 1_000.000_1; // f64
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/bin/4-1-7.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let y: f32 = 0.12; // f32
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]   --> src/bin/4-1-7.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let z = 0.01_f64; // f64
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Result`
[INFO] [stdout]  --> src/bin/14-3-1.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fmt::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Result as IoResult`
[INFO] [stdout]  --> src/bin/14-3-1.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::Result as IoResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/7-8.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     for i in 0..=100 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/18-1-8.rs:51:43
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn exec<'a, F: FnOnce(&'a str) -> String>(mut f: F) {
[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 label
[INFO] [stdout]   --> src/bin/7-11.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         'inner2: loop {
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportantExcerpt` is never constructed
[INFO] [stdout]   --> src/bin/17-1-9.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct ImportantExcerpt<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `level` is never used
[INFO] [stdout]   --> src/bin/17-1-9.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<'a> ImportantExcerpt<'a> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] 41 |     fn level(&'a self) -> i32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bin/10-3-8.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl<T> Pair<T> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 45 |     fn new(x: T, y: T) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/8-1-8.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Qux(u32),
[INFO] [stdout]    |     --- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[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] 25 -     Qux(u32),
[INFO] [stdout] 25 +     Qux(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bar` and `Baz` are never constructed
[INFO] [stdout]   --> src/bin/8-1-8.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum Foo {
[INFO] [stdout]    |      --- variants in this enum
[INFO] [stdout] 23 |     Bar,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 24 |     Baz,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_on_ref_zero` is never used
[INFO] [stdout]   --> src/bin/17-3-4.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn call_on_ref_zero<F>(f: F) where F: for<'a> Fn(&'a i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/8-1-3.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |     ChangeColor(i32, i32, i32),
[INFO] [stdout]    |     ----------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[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] 43 -     ChangeColor(i32, i32, i32),
[INFO] [stdout] 43 +     ChangeColor((), i32, i32),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Write` is never constructed
[INFO] [stdout]   --> src/bin/8-1-3.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | enum Message {
[INFO] [stdout]    |      ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 42 |     Write(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/12-1-2.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let v = 1000 as u8;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width` and `height` are never read
[INFO] [stdout]   --> src/bin/6-4-7.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct Rectangle {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 26 |     width: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 27 |     height: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Rectangle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/4-1-2.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let v: u16 = 38_u8 as u16;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `integer`
[INFO] [stdout]   --> src/bin/10-1-3.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let integer = Point { x: 5, y: 10 };
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `float`
[INFO] [stdout]   --> src/bin/10-1-3.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let float = Point { x: 1.0, y: 4.0 };
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]   --> src/bin/10-1-3.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Point<T>{
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 15 |     x: T,
[INFO] [stdout]    |     ^
[INFO] [stdout] 16 |     y: T,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i3`
[INFO] [stdout]   --> src/bin/12-2-1.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let i3: u32 = 'a'.into();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_i3`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/12-2-1.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let s: String = 'a'.into();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_option` is never used
[INFO] [stdout]   --> src/bin/4-4-4.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn get_option(tp: u8) -> Option<i32> {
[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 `never_return_fn` is never used
[INFO] [stdout]   --> src/bin/4-4-4.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn never_return_fn() -> ! {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/bin/10-3-3.rs:20:16
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::ops::{self, Mul};
[INFO] [stdout]    |                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/bin/8-1-7.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 |     if let Foo::Bar(i) = a {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `East`, `West`, and `North` are never constructed
[INFO] [stdout]   --> src/bin/8-1-1.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | enum Direction {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout] 27 |     East,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 28 |     West,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 29 |     North,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/16-2-1.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Structure(i32);
[INFO] [stdout]    |        --------- ^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Structure` 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `factory` is never used
[INFO] [stdout]   --> src/bin/18-1-11.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn factory(x: i32) -> Box<dyn Fn(i32) -> i32> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cacher` is never constructed
[INFO] [stdout]   --> src/bin/18-1-11.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Cacher<T, E>
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `value` are never used
[INFO] [stdout]   --> src/bin/18-1-11.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | / impl<T, E> Cacher<T, E>
[INFO] [stdout] 40 | | where
[INFO] [stdout] 41 | |     T: Fn(E) -> E,
[INFO] [stdout] 42 | |     E: Copy,
[INFO] [stdout]    | |____________- associated items in this implementation
[INFO] [stdout] 43 |   {
[INFO] [stdout] 44 |       fn new(query: T) -> Cacher<T, E> {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |       fn value(&mut self, arg: E) -> E {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/bin/3-1.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let y: i32;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportantExcerpt` is never constructed
[INFO] [stdout]   --> src/bin/17-3-2.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct ImportantExcerpt<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `announce_and_return_part` is never used
[INFO] [stdout]   --> src/bin/17-3-2.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl<'a : 'b, 'b> ImportantExcerpt<'a> {
[INFO] [stdout]    | -------------------------------------- method in this implementation
[INFO] [stdout] 24 |     fn announce_and_return_part(&'a self, announcement: &'b str) -> &'b str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/5-2-9.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn borrow_object(s: &String) {}
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/18-1-4.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let s = example_closure(String::from("hello"));
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/bin/18-1-4.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let n = example_closure("5".to_string());
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_number` is never used
[INFO] [stdout]   --> src/bin/8-2-1.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn match_number(n: i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/bin/17-1-5.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let y: &i32 = &_x;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/bin/6-4-1.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let p = Person {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `age`, and `hobby` are never read
[INFO] [stdout]   --> src/bin/6-4-1.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Person {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 22 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 23 |     age: u8,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 24 |     hobby: String
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/bin/17-1-10.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn longest<'a, 'b>(x: &'a str, y: &'b str) -> &'a str {
[INFO] [stdout]    |                                ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nput` is never used
[INFO] [stdout]   --> src/bin/17-1-10.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn nput<>(x: &i32) {
[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 `pass` is never used
[INFO] [stdout]   --> src/bin/17-1-10.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn pass<>(x: &i32) -> &i32 { x }
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest` is never used
[INFO] [stdout]   --> src/bin/17-1-10.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn longest<'a, 'b>(x: &'a str, y: &'b str) -> &'a str {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Owner` is never constructed
[INFO] [stdout]   --> src/bin/17-1-10.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct Owner(i32);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_one` and `print` are never used
[INFO] [stdout]   --> src/bin/17-1-10.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl Owner {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 55 |     fn add_one(&mut self) { self.0 += 1; }
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 56 |     fn print(&self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Person` is never constructed
[INFO] [stdout]   --> src/bin/17-1-10.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct Person<'a> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Either` is never used
[INFO] [stdout]   --> src/bin/17-1-10.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | enum Either<'a> {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ele`
[INFO] [stdout]   --> src/bin/13-1-2.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let ele = v[2];
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ele`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ele`
[INFO] [stdout]   --> src/bin/13-1-2.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let ele = v.get(2).unwrap();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ele`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/13-1-2.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let v = production_rate_per_hour(2);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/17-1-6.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct Borrowed<'a>(&'a i32);
[INFO] [stdout]    |        --------     ^^^^^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Borrowed` 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]   --> src/bin/17-1-6.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | struct NamedBorrowed<'a> {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 46 |     x: &'a i32,
[INFO] [stdout]    |     ^
[INFO] [stdout] 47 |     y: &'a i32,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NamedBorrowed` 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 `0` is never read
[INFO] [stdout]   --> src/bin/17-1-6.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     Num(i32),
[INFO] [stdout]    |     --- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Either` 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] 52 -     Num(i32),
[INFO] [stdout] 52 +     Num(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/17-1-6.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     Ref(&'a i32),
[INFO] [stdout]    |     --- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Either` 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] 53 -     Ref(&'a i32),
[INFO] [stdout] 53 +     Ref(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `test` should have an upper camel case name
[INFO] [stdout]   --> src/bin/31-1-1.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct test {
[INFO] [stdout]    |        ^^^^ help: convert the identifier to upper camel case: `Test`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/5-2-7.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut s = String::from("hello");
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `test` is never constructed
[INFO] [stdout]   --> src/bin/31-1-1.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct test {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, and `do_something` are never used
[INFO] [stdout]   --> src/bin/31-1-1.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl test {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 35 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn run(&mut self) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn do_something(&mut self, n: i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]   --> src/bin/6-3-1.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let s1: &[i32] = &arr[0..2];
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]   --> src/bin/6-3-1.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let s2: &str = "hello, world" as &str;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/10-4-1.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 |     if (i == 1) {
[INFO] [stdout]     |        ^      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 115 -     if (i == 1) {
[INFO] [stdout] 115 +     if i == 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Person` is never constructed
[INFO] [stdout]   --> src/bin/6-4-5.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Person {
[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 `build_person` is never used
[INFO] [stdout]   --> src/bin/6-4-5.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn build_person(name: String, age: u8) -> Person {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fly` is never used
[INFO] [stdout]   --> src/bin/10-4-1.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl Swan {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 76 |     fn fly(&self) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/11-2-1.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn is_vec(v: &Vec<u8>) {}
[INFO] [stdout]    |           ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::default`
[INFO] [stdout]   --> src/bin/6-6-5.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::default;
[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: `none`
[INFO] [stdout]   --> src/bin/6-6-5.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let none = plus_one(None);
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `None`
[INFO] [stdout]    |
[INFO] [stdout] 29 -     let none = plus_one(None);
[INFO] [stdout] 29 +     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] 29 |     let _none = plus_one(None);
[INFO] [stdout]    |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr0`
[INFO] [stdout]   --> src/bin/6-2-2.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let arr0 = [1, 2, 3];
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_arr0`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/bin/6-4-2.rs:33:27
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn do_something_with_unit(u: Unit) {   }
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SomeTrait` is never used
[INFO] [stdout]   --> src/bin/6-4-2.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | trait SomeTrait {
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `y` is assigned to, but never used
[INFO] [stdout]   --> src/bin/17-3-3.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn f<'a, 'b>(x: &'a i32, mut y: &'b i32)
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_y` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]   --> src/bin/17-3-3.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let r: &'b &'a i32 = &&0;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `y` is never read
[INFO] [stdout]   --> src/bin/17-3-3.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     y = x;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f` is never used
[INFO] [stdout]   --> src/bin/17-3-3.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn f<'a, 'b>(x: &'a i32, mut y: &'b i32)
[INFO] [stdout]    |    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoubleRef` is never constructed
[INFO] [stdout]   --> src/bin/17-3-1.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct DoubleRef<'a, T: 'a> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/5-2-8.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn borrow_object(s: &mut String) {}
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `age` are never read
[INFO] [stdout]   --> src/bin/16-2-2.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Person {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 22 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 23 |     age: u8
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Person` 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name0`
[INFO] [stdout]   --> src/bin/6-2-6.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let name0 = names.get(0).unwrap();
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_name0`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c1`
[INFO] [stdout]   --> src/bin/12-1-1.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let c1: char = decimal as u8 as char;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_c1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c2`
[INFO] [stdout]   --> src/bin/12-1-1.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let c2 = integer as char;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Color` is never constructed
[INFO] [stdout]   --> src/bin/6-4-3.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Color(i32, i32, i32);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thing`
[INFO] [stdout]   --> src/bin/19-9.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn foobar(thing: &dyn Display) {}
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_thing`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thing`
[INFO] [stdout]   --> src/bin/19-9.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn foobar2(thing: Box<dyn Display>) {}    
[INFO] [stdout]    |            ^^^^^ help: if this is intentional, prefix it with an underscore: `_thing`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `foobar` is never used
[INFO] [stdout]   --> src/bin/19-9.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn foobar(thing: &dyn Display) {}
[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 `foobar2` is never used
[INFO] [stdout]   --> src/bin/19-9.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn foobar2(thing: Box<dyn Display>) {}    
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg1`
[INFO] [stdout]   --> src/bin/6-6-2.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let msg1 = Message::Move{ x: 1, y: 2 }; // 使用x = 1, y = 2 来初始化
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_msg1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg2`
[INFO] [stdout]   --> src/bin/6-6-2.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let msg2 = Message::Write( "hello, world!".to_string() ); // 使用 "hello, world!" 来初始化
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_msg2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]   --> src/bin/6-6-2.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Move { x: i32, y: i32 },
[INFO] [stdout]    |     ----   ^       ^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/6-6-2.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Write(String),
[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] 20 -     Write(String),
[INFO] [stdout] 20 +     Write(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Quit` and `ChangeColor` are never constructed
[INFO] [stdout]   --> src/bin/6-6-2.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | enum Message {
[INFO] [stdout]    |      ------- variants in this enum
[INFO] [stdout] 18 |     Quit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     ChangeColor(i32, i32, i32),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arrays`
[INFO] [stdout]   --> src/bin/10-2-1.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let arrays = [
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrays`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]   --> src/bin/10-2-1.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | struct Array<T, const N: usize> {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 82 |     data : [T; N]
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `a` and `b` are never read
[INFO] [stdout]   --> src/bin/17-1-7.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Example<'a, 'b> {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 35 |     a: &'a u32,
[INFO] [stdout]    |     ^
[INFO] [stdout] 36 |     b: &'b NoCopyType
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Example` 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/19-8.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let s: &str = "Hello there!";
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr`
[INFO] [stdout]   --> src/bin/19-8.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let arr: &[u8] = &[1, 2, 3];
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `a` and `b` are never read
[INFO] [stdout]   --> src/bin/17-2-2.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct Config {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 27 |     a: String,
[INFO] [stdout]    |     ^
[INFO] [stdout] 28 |     b: String,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Config` 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `config` should have an upper case name
[INFO] [stdout]   --> src/bin/17-2-2.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | static mut config: Option<&mut Config> = None;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 30 - static mut config: Option<&mut Config> = None;
[INFO] [stdout] 30 + static mut CONFIG: Option<&mut Config> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `manager` is never read
[INFO] [stdout]   --> src/bin/17-3-6.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | struct Interface<'b, 'a: 'b> {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 69 |     manager: &'b mut Manager<'a>
[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 `invalid_output` is never used
[INFO] [stdout]   --> src/bin/17-1-4.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn invalid_output() -> String { 
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `content` is never read
[INFO] [stdout]   --> src/bin/10-3-5.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct Post {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 65 |     content: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Post` 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bin/19-5.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let x = Operations::Add;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Subtract` is never constructed
[INFO] [stdout]   --> src/bin/19-5.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | enum VeryVerboseEnumOfThingsToDoWithNumbers {
[INFO] [stdout]    |      -------------------------------------- variant in this enum
[INFO] [stdout] 40 |     Add,
[INFO] [stdout] 41 |     Subtract,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/7-7.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     for i in 0..=100 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type parameter `i32` should have an upper camel case name
[INFO] [stdout]   --> src/bin/13-2-6.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | type Res<i32> = Result<i32, ParseIntError>;
[INFO] [stdout]    |          ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I32`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/6-1-1.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let s: &str = "hello, world";
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> src/bin/16-3-9.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let (width, precision) = get_format();
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `precision`
[INFO] [stdout]   --> src/bin/16-3-9.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let (width, precision) = get_format();
[INFO] [stdout]    |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_precision`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `i` should have an upper case name
[INFO] [stdout]   --> src/bin/17-2-5.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 |     const i: i32 = 5;
[INFO] [stdout]    |           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 51 -     const i: i32 = 5;
[INFO] [stdout] 51 +     const I: i32 = 5;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VeryVerboseEnumOfThingsToDoWithNumbers` is never used
[INFO] [stdout]   --> src/bin/19-6.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum VeryVerboseEnumOfThingsToDoWithNumbers {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]   --> src/bin/19-6.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl VeryVerboseEnumOfThingsToDoWithNumbers {
[INFO] [stdout]    | ------------------------------------------- method in this implementation
[INFO] [stdout] 22 |     fn run(&self, x: i32, y: i32) -> i32 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/bin/3-6.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let y = 4;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x` is never read
[INFO] [stdout]   --> src/bin/3-6.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut x: i32 = 1;
[INFO] [stdout]    |                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Quit`, `Write`, and `ChangeColor` are never constructed
[INFO] [stdout]   --> src/bin/6-6-3.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum Message {
[INFO] [stdout]    |      ------- variants in this enum
[INFO] [stdout] 23 |     Quit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 24 |     Move { x: i32, y: i32 },
[INFO] [stdout] 25 |     Write(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 26 |     ChangeColor(i32, i32, i32),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `y` is assigned to, but never used
[INFO] [stdout]   --> src/bin/4-1-1.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut y = 5;
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_y` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]   --> src/bin/4-1-1.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let z = 10; // 这里 z 的类型是? 
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `y` is never read
[INFO] [stdout]   --> src/bin/4-1-1.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     y = x;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/bin/10-1-4.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let p = Point{x: 5, y : "hello".to_string()};
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]   --> src/bin/10-1-4.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct Point<T, U> {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 16 |     x: T,
[INFO] [stdout]    |     ^
[INFO] [stdout] 17 |     y: U,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CliError` is never used
[INFO] [stdout]   --> src/bin/12-2-3.rs:35:6
[INFO] [stdout]    |
[INFO] [stdout] 35 | enum CliError {
[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 `open_and_parse_file` is never used
[INFO] [stdout]   --> src/bin/12-2-3.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn open_and_parse_file(file_name: &str) -> Result<i32, CliError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/bin/7-4.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     for name in &names {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/bin/7-4.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     for n in numbers {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/bin/10-2-3.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn check_size<T>(val: T)
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Zero` and `Two` are never constructed
[INFO] [stdout]   --> src/bin/6-6-1.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | enum Number {
[INFO] [stdout]    |      ------ variants in this enum
[INFO] [stdout] 32 |     Zero,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 33 |     One,
[INFO] [stdout] 34 |     Two,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Zero` and `Two` are never constructed
[INFO] [stdout]   --> src/bin/6-6-1.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | enum Number1 {
[INFO] [stdout]    |      ------- variants in this enum
[INFO] [stdout] 38 |     Zero = 0,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 39 |     One,
[INFO] [stdout] 40 |     Two,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Zero` and `Two` are never constructed
[INFO] [stdout]   --> src/bin/6-6-1.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | enum Number2 {
[INFO] [stdout]    |      ------- variants in this enum
[INFO] [stdout] 45 |     Zero = 0,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 46 |     One = 1,
[INFO] [stdout] 47 |     Two = 2,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `format`
[INFO] [stdout]   --> src/bin/19-4.rs:27:22
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::fmt::{self, format};
[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: `num`
[INFO] [stdout]   --> src/bin/12-3-4.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let num = unsafe { std::mem::transmute::<[u8; 4], u32>(raw_bytes) };
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]   --> src/bin/12-3-4.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let num = u32::from_ne_bytes(raw_bytes);
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr_num_transmute`
[INFO] [stdout]   --> src/bin/12-3-4.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let ptr_num_transmute = unsafe { std::mem::transmute::<&i32, usize>(ptr) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ptr_num_transmute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr_num_cast`
[INFO] [stdout]   --> src/bin/12-3-4.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let ptr_num_cast = ptr as *const i32 as usize;
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ptr_num_cast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val_transmuted`
[INFO] [stdout]   --> src/bin/12-3-4.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let val_transmuted = unsafe { std::mem::transmute::<&mut i32, &mut u32>(ptr) };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_val_transmuted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val_casts`
[INFO] [stdout]   --> src/bin/12-3-4.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let val_casts = unsafe { &mut *(ptr as *mut i32 as *mut u32) };
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_val_casts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/bin/12-3-4.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let num = unsafe { std::mem::transmute::<[u8; 4], u32>(raw_bytes) };
[INFO] [stdout]    |                        -----------------------------------^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        help: replace this with: `u32::from_ne_bytes`
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u2`
[INFO] [stdout]   --> src/bin/6-4-6.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let u2 = set_email(u1);
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_u2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `active`, `username`, `email`, and `sign_in_count` are never read
[INFO] [stdout]   --> src/bin/6-4-6.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct User {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 28 |     active: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 29 |     username: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 30 |     email: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 31 |     sign_in_count: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/5-2-3.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut s = String::from("hello, ");
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/5-2-3.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn borrow_object(s: &String) {}
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/4-2-5.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let v = (2, 3);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `explicitly_ret_unit` is never used
[INFO] [stdout]   --> src/bin/4-2-5.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn explicitly_ret_unit() -> () {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Red` and `Green` are never constructed
[INFO] [stdout]   --> src/bin/9-6.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | enum TrafficLightColor {
[INFO] [stdout]    |      ----------------- variants in this enum
[INFO] [stdout] 27 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 28 |     Yellow,
[INFO] [stdout] 29 |     Green,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TrafficLightColor` 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fly` is never used
[INFO] [stdout]   --> src/bin/10-4-2.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl Duck {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 50 |     fn fly(&self) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fly` is never used
[INFO] [stdout]   --> src/bin/10-4-2.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl Swan {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 56 |     fn fly(&self) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]   --> src/bin/9-5.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct Rectangle {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `area` is never used
[INFO] [stdout]   --> src/bin/9-5.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Rectangle {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 30 |     fn area(&self) -> u32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `can_hold` is never used
[INFO] [stdout]   --> src/bin/9-5.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Rectangle {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 36 |     fn can_hold(&self, other: &Rectangle) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest` is never used
[INFO] [stdout]   --> src/bin/17-1-3.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `s` as mutable more than once at a time
[INFO] [stdout]   --> src/bin/5-2-11.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let r1 = &mut s;
[INFO] [stdout]    |              ------ first mutable borrow occurs here
[INFO] [stdout] 18 |     let r2 = &mut s;
[INFO] [stdout]    |              ^^^^^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 22 |     println!("{} {}", r1, r2);
[INFO] [stdout]    |                       -- first borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0499`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_by_practice` (bin "5-2-11") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]   --> src/bin/6-1-8.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let s1: String = s;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "296ad2602af2b6494c70edba3c6c4256812653ad947fdc6265ad3e5111fbd31e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "296ad2602af2b6494c70edba3c6c4256812653ad947fdc6265ad3e5111fbd31e", kill_on_drop: false }`
[INFO] [stdout] 296ad2602af2b6494c70edba3c6c4256812653ad947fdc6265ad3e5111fbd31e
