[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] checking mxdzs0612/rust-by-practice against try#ddcf048784667508cd676fef4667f88ae15628a3 for pr-148271 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmxdzs0612%2Frust-by-practice" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/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-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mxdzs0612/rust-by-practice on toolchain ddcf048784667508cd676fef4667f88ae15628a3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ddcf048784667508cd676fef4667f88ae15628a3" "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" "+ddcf048784667508cd676fef4667f88ae15628a3" "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-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ddcf048784667508cd676fef4667f88ae15628a3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c20c9f44d66eded767736ec66a80cb4479882ec9e2b9de6c3d7915c92f2ee4c1 [INFO] running `Command { std: "docker" "start" "-a" "c20c9f44d66eded767736ec66a80cb4479882ec9e2b9de6c3d7915c92f2ee4c1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c20c9f44d66eded767736ec66a80cb4479882ec9e2b9de6c3d7915c92f2ee4c1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c20c9f44d66eded767736ec66a80cb4479882ec9e2b9de6c3d7915c92f2ee4c1", kill_on_drop: false }` [INFO] [stdout] c20c9f44d66eded767736ec66a80cb4479882ec9e2b9de6c3d7915c92f2ee4c1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ddcf048784667508cd676fef4667f88ae15628a3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 343d3244dc36fc74960409f077b5164b7bdfc5e6e04923e8903a25dec86cbf0f [INFO] running `Command { std: "docker" "start" "-a" "343d3244dc36fc74960409f077b5164b7bdfc5e6e04923e8903a25dec86cbf0f", kill_on_drop: false }` [INFO] [stderr] Checking 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: 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: 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: `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: 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: 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: 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 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: 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: 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: 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: 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: 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: `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: 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: 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: 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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [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: `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: 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 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 [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 Cacher [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 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | fn value(&mut self, arg: E) -> E { [INFO] [stdout] | ^^^^^ [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: `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: unused variable: `v` [INFO] [stdout] --> src/bin/11-2-1.rs:60:11 [INFO] [stdout] | [INFO] [stdout] 60 | fn is_vec(v: &Vec) {} [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: `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: 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: 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: 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: 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: 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: 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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [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: 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: 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: `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: 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: 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] 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: 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] 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: 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: `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: 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{ [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: 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 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: 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: `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 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: 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: `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: 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 { [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 `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: 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: 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 { [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: 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 `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: struct `TrafficLight` is never constructed [INFO] [stdout] --> src/bin/9-3.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct TrafficLight { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `show_state` and `change_state` are never used [INFO] [stdout] --> src/bin/9-3.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl TrafficLight { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 23 | // 使用 `Self` 填空 [INFO] [stdout] 24 | pub fn show_state(self: &Self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn change_state(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [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: 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 { [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 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: unused variable: `v1` [INFO] [stdout] --> src/bin/18-1-11.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let v1 = c.value(1); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (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 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 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: 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: 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 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: `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: 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: 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 { [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: 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) {} [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: 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: function `foobar2` is never used [INFO] [stdout] --> src/bin/19-9.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn foobar2(thing: Box) {} [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: 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: 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: 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: 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: `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: `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: associated function `new` is never used [INFO] [stdout] --> src/bin/10-3-8.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 44 | impl Pair { [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: 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: 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: 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: unused variable: `v` [INFO] [stdout] --> src/bin/11-2-1.rs:60:11 [INFO] [stdout] | [INFO] [stdout] 60 | fn is_vec(v: &Vec) {} [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: 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: struct `TrafficLight` is never constructed [INFO] [stdout] --> src/bin/9-3.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct TrafficLight { [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-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: methods `show_state` and `change_state` are never used [INFO] [stdout] --> src/bin/9-3.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl TrafficLight { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 23 | // 使用 `Self` 填空 [INFO] [stdout] 24 | pub fn show_state(self: &Self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn change_state(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [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: 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) 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: 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: 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: 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: 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: 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: `val` [INFO] [stdout] --> src/bin/10-2-3.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | fn check_size(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: 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-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: 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: 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: `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] [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: 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: 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: 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{ [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: 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: 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: 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: 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: 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: 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: 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: `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) {} [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) {} [INFO] [stdout] | ^^^^^^^ [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: 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: 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: 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: 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: 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: `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: unused variable: `val` [INFO] [stdout] --> src/bin/10-2-3.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | fn check_size(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: 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: 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 = Result; [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 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-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: `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 { [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: 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 `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: 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: 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: 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: `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: 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 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: 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: 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: 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: 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: 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: `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: 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: 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: 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: `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] [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: 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: 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: 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 { [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: 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: 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: 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/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: 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) 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: associated function `new` is never used [INFO] [stdout] --> src/bin/10-3-8.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 44 | impl Pair { [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: 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 = Result; [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/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: 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: 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: 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: `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: 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: 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: 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: 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: 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: 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: 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: `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: 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: 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 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: 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: 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] 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] 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] For more information about this error, try `rustc --explain E0499`. [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] 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] [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] For more information about this error, try `rustc --explain E0499`. [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] [stderr] error: could not compile `rust_by_practice` (bin "5-2-11" test) due to 1 previous error [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: `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: 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] running `Command { std: "docker" "inspect" "343d3244dc36fc74960409f077b5164b7bdfc5e6e04923e8903a25dec86cbf0f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "343d3244dc36fc74960409f077b5164b7bdfc5e6e04923e8903a25dec86cbf0f", kill_on_drop: false }` [INFO] [stdout] 343d3244dc36fc74960409f077b5164b7bdfc5e6e04923e8903a25dec86cbf0f