[INFO] cloning repository https://github.com/domahidizoltan/learning-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/domahidizoltan/learning-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdomahidizoltan%2Flearning-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdomahidizoltan%2Flearning-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 78d5adac13da881c5aee0d0a0133690c87be9eab [INFO] checking domahidizoltan/learning-rust/78d5adac13da881c5aee0d0a0133690c87be9eab against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdomahidizoltan%2Flearning-rust" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/domahidizoltan/learning-rust on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/domahidizoltan/learning-rust [INFO] finished tweaking git repo https://github.com/domahidizoltan/learning-rust [INFO] tweaked toml for git repo https://github.com/domahidizoltan/learning-rust written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/domahidizoltan/learning-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e2f1e1c51e02ed46bba1553c4be228df806054f00fd36e297712349e907a2add [INFO] running `Command { std: "docker" "start" "-a" "e2f1e1c51e02ed46bba1553c4be228df806054f00fd36e297712349e907a2add", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e2f1e1c51e02ed46bba1553c4be228df806054f00fd36e297712349e907a2add", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e2f1e1c51e02ed46bba1553c4be228df806054f00fd36e297712349e907a2add", kill_on_drop: false }` [INFO] [stdout] e2f1e1c51e02ed46bba1553c4be228df806054f00fd36e297712349e907a2add [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 17ef36d7e200f1b501ff77ba658c6626d5cc25ff384db6f00958bebd71b62f64 [INFO] running `Command { std: "docker" "start" "-a" "17ef36d7e200f1b501ff77ba658c6626d5cc25ff384db6f00958bebd71b62f64", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.146 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking yansi v0.5.1 [INFO] [stderr] Checking utf8_slice v1.0.0 [INFO] [stderr] Checking pretty_assertions v1.4.0 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking learn-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/rust_by_example/_08_flow_of_control/_2_loop_1_nesting_and_labels.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | 'inner: loop { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/rust_by_practice/_07_flow_control/_1_flow_control_11_loop.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | 'inner2: loop { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_3_traits_2_derive.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | let _this_is_true = (_one_second == _one_second); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 27 - let _this_is_true = (_one_second == _one_second); [INFO] [stdout] 27 + let _this_is_true = _one_second == _one_second; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_3_traits_2_derive.rs:28:25 [INFO] [stdout] | [INFO] [stdout] 28 | let _this_is_true = (_one_second > _one_second); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 28 - let _this_is_true = (_one_second > _one_second); [INFO] [stdout] 28 + let _this_is_true = _one_second > _one_second; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `format` [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_4_newtype.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::{self, format}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/rust_by_practice/_31_fighting_with_compiler/_1_borrowing_1.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `test` should have an upper camel case name [INFO] [stdout] --> src/rust_by_practice/_31_fighting_with_compiler/_1_borrowing_1.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct test { [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Test` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/rust_by_example/_08_flow_of_control/_2_loop_1_nesting_and_labels.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | 'inner: loop { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/rust_by_practice/_07_flow_control/_1_flow_control_11_loop.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | 'inner2: loop { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_3_traits_2_derive.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | let _this_is_true = (_one_second == _one_second); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 27 - let _this_is_true = (_one_second == _one_second); [INFO] [stdout] 27 + let _this_is_true = _one_second == _one_second; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_3_traits_2_derive.rs:28:25 [INFO] [stdout] | [INFO] [stdout] 28 | let _this_is_true = (_one_second > _one_second); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 28 - let _this_is_true = (_one_second > _one_second); [INFO] [stdout] 28 + let _this_is_true = _one_second > _one_second; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `format` [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_4_newtype.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::{self, format}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/rust_by_practice/_31_fighting_with_compiler/_1_borrowing_1.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `test` should have an upper camel case name [INFO] [stdout] --> src/rust_by_practice/_31_fighting_with_compiler/_1_borrowing_1.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct test { [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Test` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_4_functions_3.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | never_return(); [INFO] [stdout] | -------------- any code following this expression is unreachable [INFO] [stdout] 5 | [INFO] [stdout] 6 | println!("Failed!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_4_functions_3.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | never_return(); [INFO] [stdout] | -------------- any code following this expression is unreachable [INFO] [stdout] 5 | [INFO] [stdout] 6 | println!("Failed!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `logical` [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let logical: bool = true; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logical` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_float` [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let a_float: f64 = 1.0; // Regular annotation [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `an_integer` [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let an_integer = 5i32; // Suffix annotation [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_an_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default_float` [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let default_float = 3.0; // `f64` [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default_integer` [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let default_integer = 7; // `i32` [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `inferred_type` is assigned to, but never used [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | let mut inferred_type = 12; // Type i64 is inferred from another line. [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_inferred_type` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `inferred_type` is never read [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | inferred_type = 4294967296i64; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `mutable` is assigned to, but never used [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | let mut mutable = 12; // Mutable `i32` [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_mutable` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `mutable` is never read [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | mutable = 21; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mutable` [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let mutable = true; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/rust_by_example/_03_custom_types/_2_enums_0.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let x = Operations::Add; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `noisy_unused_variable` [INFO] [stdout] --> src/rust_by_example/_04_variable_bindings/_0_variable_bindings.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let noisy_unused_variable = 2u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_noisy_unused_variable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `logical` [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let logical: bool = true; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logical` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_float` [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let a_float: f64 = 1.0; // Regular annotation [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `an_integer` [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let an_integer = 5i32; // Suffix annotation [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_an_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default_float` [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let default_float = 3.0; // `f64` [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default_integer` [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let default_integer = 7; // `i32` [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `inferred_type` is assigned to, but never used [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | let mut inferred_type = 12; // Type i64 is inferred from another line. [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_inferred_type` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `inferred_type` is never read [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | inferred_type = 4294967296i64; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `mutable` is assigned to, but never used [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | let mut mutable = 12; // Mutable `i32` [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_mutable` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `mutable` is never read [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | mutable = 21; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mutable` [INFO] [stdout] --> src/rust_by_example/_02_primitives/_0_primitives.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let mutable = true; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/rust_by_example/_03_custom_types/_2_enums_0.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let x = Operations::Add; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/rust_by_example/_08_flow_of_control/_6_if_let.rs:104:12 [INFO] [stdout] | [INFO] [stdout] 104 | if let Foo::Bar = 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: `noisy_unused_variable` [INFO] [stdout] --> src/rust_by_example/_04_variable_bindings/_0_variable_bindings.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let noisy_unused_variable = 2u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_noisy_unused_variable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/rust_by_example/_08_flow_of_control/_6_if_let.rs:104:12 [INFO] [stdout] | [INFO] [stdout] 104 | if let Foo::Bar = 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: `years_as_primitive_1` [INFO] [stdout] --> src/rust_by_example/_14_generics/_7_new_type_idiom.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let years_as_primitive_1: i64 = years.0; // Tuple [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_years_as_primitive_1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `years_as_primitive_2` [INFO] [stdout] --> src/rust_by_example/_14_generics/_7_new_type_idiom.rs:33:15 [INFO] [stdout] | [INFO] [stdout] 33 | let Years(years_as_primitive_2) = years; // Destructuring [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_years_as_primitive_2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `years_as_primitive_1` [INFO] [stdout] --> src/rust_by_example/_14_generics/_7_new_type_idiom.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let years_as_primitive_1: i64 = years.0; // Tuple [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_years_as_primitive_1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `years_as_primitive_2` [INFO] [stdout] --> src/rust_by_example/_14_generics/_7_new_type_idiom.rs:33:15 [INFO] [stdout] | [INFO] [stdout] 33 | let Years(years_as_primitive_2) = years; // Destructuring [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_years_as_primitive_2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `apple` [INFO] [stdout] --> src/rust_by_example/_18_error_handling/_3_option_and_unwrap_4_unpacking_options_and_defaults.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let apple = Some(Fruit::Apple); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_apple` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first_number_str` [INFO] [stdout] --> src/rust_by_example/_18_error_handling/_4_result_4_introducing_questionmark_2_try_macro.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | fn multiply(first_number_str: &str, second_number_str: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_number_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `second_number_str` [INFO] [stdout] --> src/rust_by_example/_18_error_handling/_4_result_4_introducing_questionmark_2_try_macro.rs:6:37 [INFO] [stdout] | [INFO] [stdout] 6 | fn multiply(first_number_str: &str, second_number_str: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_second_number_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `apple` [INFO] [stdout] --> src/rust_by_example/_18_error_handling/_3_option_and_unwrap_4_unpacking_options_and_defaults.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let apple = Some(Fruit::Apple); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_apple` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first_number_str` [INFO] [stdout] --> src/rust_by_example/_18_error_handling/_4_result_4_introducing_questionmark_2_try_macro.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | fn multiply(first_number_str: &str, second_number_str: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_number_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `second_number_str` [INFO] [stdout] --> src/rust_by_example/_18_error_handling/_4_result_4_introducing_questionmark_2_try_macro.rs:6:37 [INFO] [stdout] | [INFO] [stdout] 6 | fn multiply(first_number_str: &str, second_number_str: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_second_number_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/rust_by_practice/_03_variables/_0_variables_1_binding_and_mutability.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let y: i32; // Uninitialized but also unused, only a Warning ! [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `x` is never read [INFO] [stdout] --> src/rust_by_practice/_03_variables/_0_variables_6_shadowing.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | let mut x: i32 = 1; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/rust_by_practice/_03_variables/_0_variables_6_shadowing.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let x = x; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/rust_by_practice/_03_variables/_0_variables_6_shadowing.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let y = 4; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/rust_by_practice/_03_variables/_0_variables_6_shadowing.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let y = "I can also be bound to text!"; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `y` is assigned to, but never used [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_1_numbers_1_integer.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | let mut y = 5; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_y` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `y` is never read [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_1_numbers_1_integer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | y = x; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `z` [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_1_numbers_1_integer.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let z = 10; // Type of z ? [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_1_numbers_2_integer.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let v: u16 = 38_u8 as u16; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_1_numbers_7_floating_point.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | 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/rust_by_practice/_04_basic_types/_1_numbers_7_floating_point.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let z = 0.01_f64; // f64 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_2_cbu_3_bool.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let t = true; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_2_cbu_5_unit.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let v = (2, 3); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/rust_by_practice/_03_variables/_0_variables_1_binding_and_mutability.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let y: i32; // Uninitialized but also unused, only a Warning ! [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `x` is never read [INFO] [stdout] --> src/rust_by_practice/_03_variables/_0_variables_6_shadowing.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | let mut x: i32 = 1; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/rust_by_practice/_03_variables/_0_variables_6_shadowing.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let x = x; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/rust_by_practice/_03_variables/_0_variables_6_shadowing.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let y = 4; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/rust_by_practice/_03_variables/_0_variables_6_shadowing.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let y = "I can also be bound to text!"; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `y` is assigned to, but never used [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_1_numbers_1_integer.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | let mut y = 5; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_y` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `y` is never read [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_1_numbers_1_integer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | y = x; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `z` [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_1_numbers_1_integer.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let z = 10; // Type of z ? [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_1_numbers_2_integer.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let v: u16 = 38_u8 as u16; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rust_by_practice/_05_ownership_and_borrowing/_2_referencing_and_borrowing_3_reference.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let mut s = String::from("hello, "); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/rust_by_practice/_05_ownership_and_borrowing/_2_referencing_and_borrowing_3_reference.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | fn borrow_object(s: &String) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_1_numbers_7_floating_point.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | 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/rust_by_practice/_04_basic_types/_1_numbers_7_floating_point.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | 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: variable does not need to be mutable [INFO] [stdout] --> src/rust_by_practice/_05_ownership_and_borrowing/_2_referencing_and_borrowing_7_borrowing_rules.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let mut s = String::from("hello"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/rust_by_practice/_05_ownership_and_borrowing/_2_referencing_and_borrowing_8_mutablity.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | fn borrow_object(s: &mut String) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/rust_by_practice/_05_ownership_and_borrowing/_2_referencing_and_borrowing_9_mutablity.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | fn borrow_object(s: &String) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r1` [INFO] [stdout] --> src/rust_by_practice/_05_ownership_and_borrowing/_2_referencing_and_borrowing_11_nll.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let r1 = &mut s; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r2` [INFO] [stdout] --> src/rust_by_practice/_05_ownership_and_borrowing/_2_referencing_and_borrowing_11_nll.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let r2 = &mut s; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_1_string_1_str_and_str.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let s: &str = "hello, world"; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_2_cbu_3_bool.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let t = true; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_2_cbu_5_unit.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let v = (2, 3); [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/rust_by_practice/_06_compound_types/_1_string_8_str_and_string.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let s1: &str = s; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rocket` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_1_string_12_utf8_slice_example.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let rocket = utf8_slice::slice(s, 4, 5); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rocket` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arr0` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_2_array_2.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let arr0 = [1, 2, 3]; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_arr0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name0` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_2_array_6.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let name0 = names.get(0).unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_name0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s1` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_3_slice_1.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let s1: &[i32] = &arr[0..2]; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_3_slice_1.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let s2: &str = "hello, world"; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rust_by_practice/_05_ownership_and_borrowing/_2_referencing_and_borrowing_3_reference.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let mut s = String::from("hello, "); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/rust_by_practice/_05_ownership_and_borrowing/_2_referencing_and_borrowing_3_reference.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | fn borrow_object(s: &String) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rust_by_practice/_05_ownership_and_borrowing/_2_referencing_and_borrowing_7_borrowing_rules.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let mut s = String::from("hello"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/rust_by_practice/_05_ownership_and_borrowing/_2_referencing_and_borrowing_8_mutablity.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | fn borrow_object(s: &mut String) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/rust_by_practice/_05_ownership_and_borrowing/_2_referencing_and_borrowing_9_mutablity.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | fn borrow_object(s: &String) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r1` [INFO] [stdout] --> src/rust_by_practice/_05_ownership_and_borrowing/_2_referencing_and_borrowing_11_nll.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let r1 = &mut s; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r2` [INFO] [stdout] --> src/rust_by_practice/_05_ownership_and_borrowing/_2_referencing_and_borrowing_11_nll.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let r2 = &mut s; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_1_string_1_str_and_str.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let s: &str = "hello, world"; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_4_tuple_1.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let t: (u8, u16, i64, &str,String) = (1u8, 2u16, 3i64, "hello", String::from(", world")); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_1_the_types_of_structs.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let p = Person { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s1` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_1_string_8_str_and_string.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let s1: &str = s; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_2_the_types_of_structs.rs:18:27 [INFO] [stdout] | [INFO] [stdout] 18 | fn do_something_with_unit(u: Unit) { } [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u2` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_6_operating_on_structs.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let u2 = set_email(u1); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_u2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rocket` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_1_string_12_utf8_slice_example.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let rocket = utf8_slice::slice(s, 4, 5); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rocket` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arr0` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_2_array_2.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let arr0 = [1, 2, 3]; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_arr0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg1` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_2.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let msg1 = Message::Move{x:1, y:2}; // Instantiating with x = 1, y = 2 [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_msg1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg2` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_2.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let msg2 = Message::Write("hello, world!".to_string()); // Instantiating with "hello, world!" [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_msg2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name0` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_2_array_6.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let name0 = names.get(0).unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_name0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s1` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_3_slice_1.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let s1: &[i32] = &arr[0..2]; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_3_slice_1.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let s2: &str = "hello, world"; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `none` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_5.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let none = plus_one(None); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_none` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_4_tuple_1.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let t: (u8, u16, i64, &str,String) = (1u8, 2u16, 3i64, "hello", String::from(", world")); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/rust_by_practice/_07_flow_control/_1_flow_control_4_for.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | for name in names.clone() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/rust_by_practice/_07_flow_control/_1_flow_control_4_for.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | for n in numbers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_1_the_types_of_structs.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let p = Person { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_2_the_types_of_structs.rs:18:27 [INFO] [stdout] | [INFO] [stdout] 18 | fn do_something_with_unit(u: Unit) { } [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/rust_by_practice/_07_flow_control/_1_flow_control_7_continue_and_break.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | for i in 0..=100 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/rust_by_practice/_07_flow_control/_1_flow_control_8_continue_and_break.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | for i in 0..=100 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u2` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_6_operating_on_structs.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let u2 = set_email(u1); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_u2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg1` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_2.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let msg1 = Message::Move{x:1, y:2}; // Instantiating with x = 1, y = 2 [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_msg1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg2` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_2.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let msg2 = Message::Write("hello, world!".to_string()); // Instantiating with "hello, world!" [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_msg2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/rust_by_practice/_08_pattern_match/_1_match_matches_and_if_let_7_if_let.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | 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] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `none` [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_5.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let none = plus_one(None); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_none` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/rust_by_practice/_07_flow_control/_1_flow_control_4_for.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | for name in names.clone() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/rust_by_practice/_07_flow_control/_1_flow_control_4_for.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | for n in numbers { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/rust_by_practice/_07_flow_control/_1_flow_control_7_continue_and_break.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | for i in 0..=100 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_1_generics_3_struct_and_impl.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let integer = Point { x: 5, y: 10 }; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float` [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_1_generics_3_struct_and_impl.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | 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: unused variable: `p` [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_1_generics_4_struct_and_impl.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | 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] [INFO] [stdout] warning: unused variable: `arrays` [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_2_const_generics_1.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let arrays = [ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrays` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/rust_by_practice/_07_flow_control/_1_flow_control_8_continue_and_break.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | for i in 0..=100 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/rust_by_practice/_08_pattern_match/_1_match_matches_and_if_let_7_if_let.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | 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] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_1_generics_3_struct_and_impl.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let integer = Point { x: 5, y: 10 }; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float` [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_1_generics_3_struct_and_impl.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | 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: unused variable: `p` [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_1_generics_4_struct_and_impl.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | 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] [INFO] [stdout] warning: unused variable: `arrays` [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_2_const_generics_1.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let arrays = [ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrays` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/rust_by_practice/_11_collection_types/_2_vector_1_basic_operations.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | fn is_vec(v: &Vec) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c1` [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_1_as_1.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | 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] [INFO] [stdout] warning: unused variable: `c2` [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_1_as_1.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | 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: unused variable: `v` [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_1_as_2.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let v = 1000 as u8; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/rust_by_practice/_11_collection_types/_2_vector_1_basic_operations.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | fn is_vec(v: &Vec) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i3` [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_2_from_into_1.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | let i3: u32 = 'a'.into(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_i3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_2_from_into_1.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | 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: unused variable: `num` [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_3.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | 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] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_3.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | 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/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_3.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | 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/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_3.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | 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/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_3.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | 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/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_3.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | 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: unused variable: `ele` [INFO] [stdout] --> src/rust_by_practice/_13_result_and_panic/_1_panic_2.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let ele = v[2]; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ele` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ele` [INFO] [stdout] --> src/rust_by_practice/_13_result_and_panic/_1_panic_2.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | 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/rust_by_practice/_13_result_and_panic/_1_panic_2.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | 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: `c1` [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_1_as_1.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | 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] [INFO] [stdout] warning: unused variable: `c2` [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_1_as_1.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | 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: unused variable: `v` [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_1_as_2.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let v = 1000 as u8; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i3` [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_2_from_into_1.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | let i3: u32 = 'a'.into(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_i3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_2_from_into_1.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | 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: unused variable: `num` [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_3.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | 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] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_3.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | 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/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_3.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | 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/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_3.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | 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/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_3.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | 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/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_3.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | 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: unused variable: `ele` [INFO] [stdout] --> src/rust_by_practice/_13_result_and_panic/_1_panic_2.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let ele = v[2]; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ele` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `width` [INFO] [stdout] --> src/rust_by_practice/_16_formatted_output/_3_formatting_9_capture_the_environment.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | let (width, precision) = get_format(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `precision` [INFO] [stdout] --> src/rust_by_practice/_16_formatted_output/_3_formatting_9_capture_the_environment.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | 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: unused variable: `ele` [INFO] [stdout] --> src/rust_by_practice/_13_result_and_panic/_1_panic_2.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | 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/rust_by_practice/_13_result_and_panic/_1_panic_2.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | 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: `y` [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_5_function.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let y: &i32 = &_x; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | fn longest<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `y` is never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_3_trait_bounds.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | y = x; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_3_trait_bounds.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | 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: variable `y` is assigned to, but never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_3_trait_bounds.rs:2:30 [INFO] [stdout] | [INFO] [stdout] 2 | fn f<'a, 'b>(x: &'a i32, mut y: &'b i32) where 'a: 'b { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_y` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/rust_by_practice/_18_functional_programming/_1_closure_4_type_inferred.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let s = example_closure(String::from("hello")); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/rust_by_practice/_18_functional_programming/_1_closure_4_type_inferred.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let n = example_closure("5".to_owned()); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rust_by_practice/_18_functional_programming/_1_closure_8_fn_fnmut_fnonce.rs:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | 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] [INFO] [stdout] warning: unused variable: `width` [INFO] [stdout] --> src/rust_by_practice/_16_formatted_output/_3_formatting_9_capture_the_environment.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | let (width, precision) = get_format(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `precision` [INFO] [stdout] --> src/rust_by_practice/_16_formatted_output/_3_formatting_9_capture_the_environment.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | 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: unused variable: `y` [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_5_function.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let y: &i32 = &_x; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | fn longest<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `y` is never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_3_trait_bounds.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | y = x; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_3_trait_bounds.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | 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: variable `y` is assigned to, but never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_3_trait_bounds.rs:2:30 [INFO] [stdout] | [INFO] [stdout] 2 | fn f<'a, 'b>(x: &'a i32, mut y: &'b i32) where 'a: 'b { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_y` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/rust_by_practice/_18_functional_programming/_1_closure_4_type_inferred.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let s = example_closure(String::from("hello")); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/rust_by_practice/_18_functional_programming/_1_closure_4_type_inferred.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let n = example_closure("5".to_owned()); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_5_type_alias.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let x = Operations::Add; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_8_dst_and_unsized_type.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let s: &str = "Hello there!"; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arr` [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_8_dst_and_unsized_type.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | 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: `thing` [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_9_dst_and_unsized_type.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | fn foobar(thing: &dyn Display) {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_thing` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rust_by_practice/_18_functional_programming/_1_closure_8_fn_fnmut_fnonce.rs:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | 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] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> src/rust_by_practice/_18_functional_programming/_1_closure_closures_in_structs_example.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let v1 = c.value(1); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_example/_01_hello_world/_2_1_debug_1.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_example/_01_hello_world/_2_1_debug_1.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | struct Deep(Structure); [INFO] [stdout] | ---- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Deep` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `age` are never read [INFO] [stdout] --> src/rust_by_example/_01_hello_world/_2_1_debug_2.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | struct Person<'a> { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 3 | name: &'a str, [INFO] [stdout] | ^^^^ [INFO] [stdout] 4 | 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] [INFO] [stdout] [INFO] [stdout] warning: variant `Subtract` is never constructed [INFO] [stdout] --> src/rust_by_example/_03_custom_types/_2_enums_0.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 54 | enum VeryVerboseEnumOfThingsToDoWithNumbers { [INFO] [stdout] | -------------------------------------- variant in this enum [INFO] [stdout] 55 | Add, [INFO] [stdout] 56 | Subtract, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/rust_by_example/_03_custom_types/_2_enums_0.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 62 | impl VeryVerboseEnumOfThingsToDoWithNumbers { [INFO] [stdout] | ------------------------------------------- method in this implementation [INFO] [stdout] 63 | fn run(&self, x: i32, y: i32) -> i32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `contents` is never read [INFO] [stdout] --> src/rust_by_example/_10_modules/_2_struct_visibility.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ClosedBox { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 9 | contents: T, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `function` is never used [INFO] [stdout] --> src/rust_by_example/_10_modules/_4_super_and_self.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn function() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_example/_15_scoping_rules/_4_lifetimes_4_structs.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | 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] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/rust_by_example/_15_scoping_rules/_4_lifetimes_4_structs.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct NamedBorrowed<'a> { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 9 | x: &'a i32, [INFO] [stdout] | ^ [INFO] [stdout] 10 | 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/rust_by_example/_15_scoping_rules/_4_lifetimes_4_structs.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | 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] 16 | Num(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_example/_15_scoping_rules/_4_lifetimes_4_structs.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | 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] 17 | Ref(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `x` is never read [INFO] [stdout] --> src/rust_by_example/_15_scoping_rules/_4_lifetimes_5_traits.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | struct Borrowed<'a> { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 4 | x: &'a i32, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Borrowed` 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/rust_by_example/_15_scoping_rules/_4_lifetimes_6_bounds.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | struct Ref<'a, T: 'a>(&'a T); [INFO] [stdout] | --- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Ref` 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/rust_by_example/_16_traits/_1_derive.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | struct Seconds(i32); [INFO] [stdout] | ------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_csv_document` is never used [INFO] [stdout] --> src/rust_by_example/_16_traits/_6_impl_trait_1_as_an_argument_type.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn parse_csv_document(src: impl std::io::BufRead) -> std::io::Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combine_vecs_explicit_return_type` is never used [INFO] [stdout] --> src/rust_by_example/_16_traits/_6_impl_trait_2_as_a_return_type.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn combine_vecs_explicit_return_type( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/rust_by_example/_16_traits/_7_clone.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | struct Pair(Box, Box); [INFO] [stdout] | ---- ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing these fields [INFO] [stdout] = note: `Pair` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Person` is never used [INFO] [stdout] --> src/rust_by_example/_16_traits/_8_supertraits.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | trait Person { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Student` is never used [INFO] [stdout] --> src/rust_by_example/_16_traits/_8_supertraits.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | trait Student: Person { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Programmer` is never used [INFO] [stdout] --> src/rust_by_example/_16_traits/_8_supertraits.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | trait Programmer { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `CompSciStudent` is never used [INFO] [stdout] --> src/rust_by_example/_16_traits/_8_supertraits.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | trait CompSciStudent: Programmer + Student { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `comp_sci_student_greeting` is never used [INFO] [stdout] --> src/rust_by_example/_16_traits/_8_supertraits.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn comp_sci_student_greeting(student: &dyn CompSciStudent) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `number` is never read [INFO] [stdout] --> src/rust_by_example/_18_error_handling/_3_option_and_unwrap_1_unpacking_options_with_questionmark.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 11 | struct PhoneNumber { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 12 | area_code: Option, [INFO] [stdout] 13 | number: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PhoneNumber` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Banana` is never constructed [INFO] [stdout] --> src/rust_by_example/_18_error_handling/_3_option_and_unwrap_4_unpacking_options_and_defaults.rs:2:29 [INFO] [stdout] | [INFO] [stdout] 2 | enum Fruit { Apple, Orange, Banana, Kiwi, Lemon } [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | variant in this enum [INFO] [stdout] | [INFO] [stdout] = note: `Fruit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sqrt` is never used [INFO] [stdout] --> src/rust_by_example/_21_testing/_1_unit_testing_2_tests_and_questionmark.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn sqrt(number: f64) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `explicitly_ret_unit` is never used [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_2_cbu_5_unit.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn explicitly_ret_unit() -> () { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_option` is never used [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_4_functions_4_diverging.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn get_option(tp: u8) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `never_return_fn` is never used [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_4_functions_4_diverging.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn never_return_fn() -> ! { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `age`, and `hobby` are never read [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_1_the_types_of_structs.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | struct Person { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 4 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 5 | age: u8, [INFO] [stdout] | ^^^ [INFO] [stdout] 6 | hobby: String [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `SomeTrait` is never used [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_2_the_types_of_structs.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | trait SomeTrait { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_5_type_alias.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let x = Operations::Add; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Color` is never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_3_the_types_of_structs.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct Color(i32, i32, i32); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_8_dst_and_unsized_type.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let s: &str = "Hello there!"; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arr` [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_8_dst_and_unsized_type.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | 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: `thing` [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_9_dst_and_unsized_type.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | fn foobar(thing: &dyn Display) {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_thing` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Person` is never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_5_operating_on_structs.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct Person { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_person` is never used [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_5_operating_on_structs.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn build_person(name: String, age: u8) -> Person { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `active`, `username`, `email`, and `sign_in_count` are never read [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_6_operating_on_structs.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | struct User { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 4 | active: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 5 | username: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 6 | email: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | sign_in_count: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_7_print_the_structs.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | struct Rectangle { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 5 | width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | 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] [INFO] [stdout] [INFO] [stdout] warning: variants `Zero` and `Two` are never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_1.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum Number { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 4 | Zero, [INFO] [stdout] | ^^^^ [INFO] [stdout] 5 | One, [INFO] [stdout] 6 | Two, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Zero` and `Two` are never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_1.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | enum Number1 { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 10 | Zero = 0, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | One, [INFO] [stdout] 12 | Two, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Zero` and `Two` are never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_1.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | enum Number2 { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 17 | Zero = 0.0 as isize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | One = 1.0 as isize, [INFO] [stdout] 19 | Two = 2.0 as isize, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_2.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | Move { x: i32, y: i32 }, [INFO] [stdout] | ---- ^ ^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_2.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | 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] 6 | Write(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Quit` and `ChangeColor` are never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_2.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum Message { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 4 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | ChangeColor(i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Quit`, `Write`, and `ChangeColor` are never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_3.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum Message { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 4 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] 5 | Move { x: i32, y: i32 }, [INFO] [stdout] 6 | Write(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | ChangeColor(i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_4.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | 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] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_4.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | 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] 8 | ChangeColor((), (), ()), [INFO] [stdout] | ~~ ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Write` is never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_4.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 4 | enum Message { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 7 | 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: variants `East`, `West`, and `North` are never constructed [INFO] [stdout] --> src/rust_by_practice/_08_pattern_match/_1_match_matches_and_if_let_1_match.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum Direction { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 4 | East, [INFO] [stdout] | ^^^^ [INFO] [stdout] 5 | West, [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | North, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_08_pattern_match/_1_match_matches_and_if_let_3_match.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | ChangeColor(i32, i32, i32), [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] 7 | ChangeColor((), i32, i32), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Write` is never constructed [INFO] [stdout] --> src/rust_by_practice/_08_pattern_match/_1_match_matches_and_if_let_3_match.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum Message { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 6 | Write(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_08_pattern_match/_1_match_matches_and_if_let_8_if_let.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | Qux(u32) [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] 5 | Qux(()) [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Bar` and `Baz` are never constructed [INFO] [stdout] --> src/rust_by_practice/_08_pattern_match/_1_match_matches_and_if_let_8_if_let.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | enum Foo { [INFO] [stdout] | --- variants in this enum [INFO] [stdout] 3 | Bar, [INFO] [stdout] | ^^^ [INFO] [stdout] 4 | Baz, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TrafficLight` is never constructed [INFO] [stdout] --> src/rust_by_practice/_09_method_and_associated_function/_0_method_and_associated_function_3_method.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct TrafficLight { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `show_state` and `change_state` are never used [INFO] [stdout] --> src/rust_by_practice/_09_method_and_associated_function/_0_method_and_associated_function_3_method.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl TrafficLight { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 6 | // Using `Self` to fill in the blank. [INFO] [stdout] 7 | pub fn show_state(self: Self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | pub fn change_state(mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rectangle` is never constructed [INFO] [stdout] --> src/rust_by_practice/_09_method_and_associated_function/_0_method_and_associated_function_5_multiple_impl_blocks.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct Rectangle { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `area` is never used [INFO] [stdout] --> src/rust_by_practice/_09_method_and_associated_function/_0_method_and_associated_function_5_multiple_impl_blocks.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 8 | impl Rectangle { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 9 | fn area(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_example/_01_hello_world/_2_1_debug_1.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `can_hold` is never used [INFO] [stdout] --> src/rust_by_practice/_09_method_and_associated_function/_0_method_and_associated_function_5_multiple_impl_blocks.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl Rectangle { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 15 | fn can_hold(&self, other: &Rectangle) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_example/_01_hello_world/_2_1_debug_1.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | struct Deep(Structure); [INFO] [stdout] | ---- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Deep` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Red` and `Green` are never constructed [INFO] [stdout] --> src/rust_by_practice/_09_method_and_associated_function/_0_method_and_associated_function_6_enums.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum TrafficLightColor { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] 4 | Red, [INFO] [stdout] | ^^^ [INFO] [stdout] 5 | Yellow, [INFO] [stdout] 6 | 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] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_1_generics_3_struct_and_impl.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | struct Point { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 4 | x: T, [INFO] [stdout] | ^ [INFO] [stdout] 5 | y: T, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `age` are never read [INFO] [stdout] --> src/rust_by_example/_01_hello_world/_2_1_debug_2.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | struct Person<'a> { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 3 | name: &'a str, [INFO] [stdout] | ^^^^ [INFO] [stdout] 4 | 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] [INFO] [stdout] [INFO] [stdout] warning: variant `Subtract` is never constructed [INFO] [stdout] --> src/rust_by_example/_03_custom_types/_2_enums_0.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 54 | enum VeryVerboseEnumOfThingsToDoWithNumbers { [INFO] [stdout] | -------------------------------------- variant in this enum [INFO] [stdout] 55 | Add, [INFO] [stdout] 56 | Subtract, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/rust_by_example/_03_custom_types/_2_enums_0.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 62 | impl VeryVerboseEnumOfThingsToDoWithNumbers { [INFO] [stdout] | ------------------------------------------- method in this implementation [INFO] [stdout] 63 | fn run(&self, x: i32, y: i32) -> i32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_1_generics_4_struct_and_impl.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | struct Point { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 4 | x: T, [INFO] [stdout] | ^ [INFO] [stdout] 5 | y: U, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `contents` is never read [INFO] [stdout] --> src/rust_by_example/_10_modules/_2_struct_visibility.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ClosedBox { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 9 | contents: T, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `function` is never used [INFO] [stdout] --> src/rust_by_example/_10_modules/_4_super_and_self.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn function() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_example/_15_scoping_rules/_4_lifetimes_4_structs.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | 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] [INFO] [stdout] [INFO] [stdout] warning: field `data` is never read [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_2_const_generics_1.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | struct Array { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 2 | data : [T; N] [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/rust_by_example/_15_scoping_rules/_4_lifetimes_4_structs.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct NamedBorrowed<'a> { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 9 | x: &'a i32, [INFO] [stdout] | ^ [INFO] [stdout] 10 | 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/rust_by_example/_15_scoping_rules/_4_lifetimes_4_structs.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | 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] 16 | Num(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `content` is never read [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_3_traits_5_use_trait_as_function_parameters.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 9 | struct Post { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | 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] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_3_traits_8_trait_bound.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 8 | impl Pair { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 9 | fn new(x: T, y: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_example/_15_scoping_rules/_4_lifetimes_4_structs.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | 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] 17 | Ref(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `x` is never read [INFO] [stdout] --> src/rust_by_example/_15_scoping_rules/_4_lifetimes_5_traits.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | struct Borrowed<'a> { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 4 | x: &'a i32, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Borrowed` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fly` is never used [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_4_trait_object_1_returning_traits_with_dyn.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 13 | impl Swan { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 14 | fn fly(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fly` is never used [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_4_trait_object_2_array_with_trait_objects.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl Duck { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 7 | fn fly(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_example/_15_scoping_rules/_4_lifetimes_6_bounds.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | struct Ref<'a, T: 'a>(&'a T); [INFO] [stdout] | --- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Ref` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fly` is never used [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_4_trait_object_2_array_with_trait_objects.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 12 | impl Swan { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 13 | fn fly(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_example/_16_traits/_1_derive.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | struct Seconds(i32); [INFO] [stdout] | ------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_csv_document` is never used [INFO] [stdout] --> src/rust_by_example/_16_traits/_6_impl_trait_1_as_an_argument_type.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn parse_csv_document(src: impl std::io::BufRead) -> std::io::Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combine_vecs_explicit_return_type` is never used [INFO] [stdout] --> src/rust_by_example/_16_traits/_6_impl_trait_2_as_a_return_type.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn combine_vecs_explicit_return_type( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_2_from_into_3.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | IoError(io::Error), [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] 7 | IoError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/rust_by_example/_16_traits/_7_clone.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | struct Pair(Box, Box); [INFO] [stdout] | ---- ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing these fields [INFO] [stdout] = note: `Pair` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Person` is never used [INFO] [stdout] --> src/rust_by_example/_16_traits/_8_supertraits.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | trait Person { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_2_from_into_3.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | ParseError(num::ParseIntError), [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] 8 | ParseError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_and_parse_file` is never used [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_2_from_into_3.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn open_and_parse_file(file_name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `R` is never constructed [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct R<'a>(&'a i32); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extend_lifetime` is never used [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_2.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | unsafe fn extend_lifetime<'b>(r: R<'b>) -> R<'static> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Student` is never used [INFO] [stdout] --> src/rust_by_example/_16_traits/_8_supertraits.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | trait Student: Person { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Programmer` is never used [INFO] [stdout] --> src/rust_by_example/_16_traits/_8_supertraits.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | trait Programmer { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shorten_invariant_lifetime` is never used [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_2.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | unsafe fn shorten_invariant_lifetime<'b, 'c>(r: &'b mut R<'static>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `CompSciStudent` is never used [INFO] [stdout] --> src/rust_by_example/_16_traits/_8_supertraits.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | trait CompSciStudent: Programmer + Student { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `comp_sci_student_greeting` is never used [INFO] [stdout] --> src/rust_by_example/_16_traits/_8_supertraits.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn comp_sci_student_greeting(student: &dyn CompSciStudent) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_16_formatted_output/_2_debug_and_display_1_debug.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | 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] [INFO] [stdout] [INFO] [stdout] warning: field `number` is never read [INFO] [stdout] --> src/rust_by_example/_18_error_handling/_3_option_and_unwrap_1_unpacking_options_with_questionmark.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 11 | struct PhoneNumber { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 12 | area_code: Option, [INFO] [stdout] 13 | number: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PhoneNumber` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `age` are never read [INFO] [stdout] --> src/rust_by_practice/_16_formatted_output/_2_debug_and_display_2_debug.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | struct Person { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 3 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 4 | 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] [INFO] [stdout] [INFO] [stdout] warning: variant `Banana` is never constructed [INFO] [stdout] --> src/rust_by_example/_18_error_handling/_3_option_and_unwrap_4_unpacking_options_and_defaults.rs:2:29 [INFO] [stdout] | [INFO] [stdout] 2 | enum Fruit { Apple, Orange, Banana, Kiwi, Lemon } [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | variant in this enum [INFO] [stdout] | [INFO] [stdout] = note: `Fruit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `longest` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_3_function.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `explicitly_ret_unit` is never used [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_2_cbu_5_unit.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn explicitly_ret_unit() -> () { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_option` is never used [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_4_functions_4_diverging.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn get_option(tp: u8) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `invalid_output` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_4_function.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn invalid_output() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `never_return_fn` is never used [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_4_functions_4_diverging.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn never_return_fn() -> ! { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `age`, and `hobby` are never read [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_1_the_types_of_structs.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | struct Person { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 4 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 5 | age: u8, [INFO] [stdout] | ^^^ [INFO] [stdout] 6 | hobby: String [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_6_structs.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | 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] [INFO] [stdout] [INFO] [stdout] warning: trait `SomeTrait` is never used [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_2_the_types_of_structs.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | trait SomeTrait { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Color` is never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_3_the_types_of_structs.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct Color(i32, i32, i32); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Person` is never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_5_operating_on_structs.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct Person { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_6_structs.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | struct NamedBorrowed<'a,'b>{ [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 11 | x: &'a i32, [INFO] [stdout] | ^ [INFO] [stdout] 12 | y: &'b 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: function `build_person` is never used [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_5_operating_on_structs.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn build_person(name: String, age: u8) -> Person { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_6_structs.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | 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] 18 | Num(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `active`, `username`, `email`, and `sign_in_count` are never read [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_6_operating_on_structs.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | struct User { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 4 | active: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 5 | username: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 6 | email: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | sign_in_count: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_5_struct_7_print_the_structs.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | struct Rectangle { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 5 | width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | 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] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_6_structs.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | 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] 19 | Ref(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Zero` and `Two` are never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_1.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum Number { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 4 | Zero, [INFO] [stdout] | ^^^^ [INFO] [stdout] 5 | One, [INFO] [stdout] 6 | Two, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `a` and `b` are never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_7_structs.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | struct Example<'a, 'b> { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 8 | a: &'a u32, [INFO] [stdout] | ^ [INFO] [stdout] 9 | 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] [INFO] [stdout] [INFO] [stdout] warning: struct `ImportantExcerpt` is never constructed [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_9_method.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct ImportantExcerpt<'a>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Zero` and `Two` are never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_1.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | enum Number1 { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 10 | Zero = 0, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | One, [INFO] [stdout] 12 | Two, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Zero` and `Two` are never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_1.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | enum Number2 { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 17 | Zero = 0.0 as isize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | One = 1.0 as isize, [INFO] [stdout] 19 | Two = 2.0 as isize, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `level` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_9_method.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl <'a> ImportantExcerpt<'a>{ [INFO] [stdout] | ------------------------------ method in this implementation [INFO] [stdout] 7 | fn level(&'a self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nput` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn nput(x: &i32) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_2.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | Move { x: i32, y: i32 }, [INFO] [stdout] | ---- ^ ^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pass` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn pass(x: &i32) -> &i32 { x } [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_2.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | 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] 6 | Write(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `longest` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn longest<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Quit` and `ChangeColor` are never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_2.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum Message { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 4 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | ChangeColor(i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Owner` is never constructed [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct Owner(i32); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Quit`, `Write`, and `ChangeColor` are never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_3.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum Message { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 4 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] 5 | Move { x: i32, y: i32 }, [INFO] [stdout] 6 | Write(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | ChangeColor(i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `add_one` and `print` are never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 15 | impl Owner { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 16 | // Annotate lifetimes as in a standalone function. [INFO] [stdout] 17 | fn add_one(&mut self) { self.0 += 1; } [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 18 | fn print(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_4.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | 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] [INFO] [stdout] [INFO] [stdout] warning: struct `Person` is never constructed [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | struct Person<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Either` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 28 | enum Either<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `a` and `b` are never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_2_static_and_t_static_2_static.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 3 | a: String, [INFO] [stdout] | ^ [INFO] [stdout] 4 | 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] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_4.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | 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] 8 | ChangeColor((), (), ()), [INFO] [stdout] | ~~ ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_1_trait_bounds_example.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | struct Ref<'a, T: 'a>(&'a T); [INFO] [stdout] | --- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Ref` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Write` is never constructed [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_6_enum_4.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 4 | enum Message { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 7 | 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: struct `DoubleRef` is never constructed [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_1_trait_bounds.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct DoubleRef<'a,'b, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `East`, `West`, and `North` are never constructed [INFO] [stdout] --> src/rust_by_practice/_08_pattern_match/_1_match_matches_and_if_let_1_match.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum Direction { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 4 | East, [INFO] [stdout] | ^^^^ [INFO] [stdout] 5 | West, [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | North, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImportantExcerpt` is never constructed [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_2_trait_bounds.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct ImportantExcerpt<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `announce_and_return_part` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_2_trait_bounds.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl<'a: 'b, 'b> ImportantExcerpt<'a> { [INFO] [stdout] | ------------------------------------- method in this implementation [INFO] [stdout] 7 | fn announce_and_return_part(&'a self, announcement: &'b str) -> &'b str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_08_pattern_match/_1_match_matches_and_if_let_3_match.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | ChangeColor(i32, i32, i32), [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] 7 | ChangeColor((), i32, i32), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `f` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_3_trait_bounds.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn f<'a, 'b>(x: &'a i32, mut y: &'b i32) where 'a: 'b { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Write` is never constructed [INFO] [stdout] --> src/rust_by_practice/_08_pattern_match/_1_match_matches_and_if_let_3_match.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum Message { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 6 | Write(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `call_on_ref_zero` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_4_hrtb.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn call_on_ref_zero(f: F) where for <'a> F : Fn(&'a i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `manager` is never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_6_difficult_exercise.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | struct Interface<'b, 'a: 'b> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 3 | manager: &'b mut Manager<'a> [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_08_pattern_match/_1_match_matches_and_if_let_8_if_let.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | Qux(u32) [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] 5 | Qux(()) [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `factory` is never used [INFO] [stdout] --> src/rust_by_practice/_18_functional_programming/_1_closure_11_closure_as_return_types.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn factory(x:i32) -> Box<(dyn Fn(i32) -> i32)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Bar` and `Baz` are never constructed [INFO] [stdout] --> src/rust_by_practice/_08_pattern_match/_1_match_matches_and_if_let_8_if_let.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | enum Foo { [INFO] [stdout] | --- variants in this enum [INFO] [stdout] 3 | Bar, [INFO] [stdout] | ^^^ [INFO] [stdout] 4 | Baz, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cacher` is never constructed [INFO] [stdout] --> src/rust_by_practice/_18_functional_programming/_1_closure_closures_in_structs_example.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct Cacher [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TrafficLight` is never constructed [INFO] [stdout] --> src/rust_by_practice/_09_method_and_associated_function/_0_method_and_associated_function_3_method.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct TrafficLight { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `show_state` and `change_state` are never used [INFO] [stdout] --> src/rust_by_practice/_09_method_and_associated_function/_0_method_and_associated_function_3_method.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl TrafficLight { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 6 | // Using `Self` to fill in the blank. [INFO] [stdout] 7 | pub fn show_state(self: Self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | pub fn change_state(mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `value` are never used [INFO] [stdout] --> src/rust_by_practice/_18_functional_programming/_1_closure_closures_in_structs_example.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 10 | / impl Cacher [INFO] [stdout] 11 | | where [INFO] [stdout] 12 | | T: Fn(E) -> E, [INFO] [stdout] 13 | | E: Copy [INFO] [stdout] | |___________- associated items in this implementation [INFO] [stdout] 14 | { [INFO] [stdout] 15 | fn new(query: T) -> Cacher { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | fn value(&mut self, arg: E) -> E { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rectangle` is never constructed [INFO] [stdout] --> src/rust_by_practice/_09_method_and_associated_function/_0_method_and_associated_function_5_multiple_impl_blocks.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct Rectangle { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `area` is never used [INFO] [stdout] --> src/rust_by_practice/_09_method_and_associated_function/_0_method_and_associated_function_5_multiple_impl_blocks.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 8 | impl Rectangle { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 9 | fn area(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `can_hold` is never used [INFO] [stdout] --> src/rust_by_practice/_09_method_and_associated_function/_0_method_and_associated_function_5_multiple_impl_blocks.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl Rectangle { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 15 | fn can_hold(&self, other: &Rectangle) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Red` and `Green` are never constructed [INFO] [stdout] --> src/rust_by_practice/_09_method_and_associated_function/_0_method_and_associated_function_6_enums.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum TrafficLightColor { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] 4 | Red, [INFO] [stdout] | ^^^ [INFO] [stdout] 5 | Yellow, [INFO] [stdout] 6 | 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] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_1_generics_3_struct_and_impl.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | struct Point { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 4 | x: T, [INFO] [stdout] | ^ [INFO] [stdout] 5 | y: T, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Subtract` is never constructed [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_5_type_alias.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 1 | enum VeryVerboseEnumOfThingsToDoWithNumbers { [INFO] [stdout] | -------------------------------------- variant in this enum [INFO] [stdout] 2 | Add, [INFO] [stdout] 3 | Subtract, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_1_generics_4_struct_and_impl.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | struct Point { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 4 | x: T, [INFO] [stdout] | ^ [INFO] [stdout] 5 | y: U, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `VeryVerboseEnumOfThingsToDoWithNumbers` is never used [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_6_type_alias.rs:1:6 [INFO] [stdout] | [INFO] [stdout] 1 | enum VeryVerboseEnumOfThingsToDoWithNumbers { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data` is never read [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_2_const_generics_1.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | struct Array { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 2 | data : [T; N] [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_6_type_alias.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl VeryVerboseEnumOfThingsToDoWithNumbers { [INFO] [stdout] | ------------------------------------------- method in this implementation [INFO] [stdout] 7 | fn run(&self, x: i32, y: i32) -> i32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `content` is never read [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_3_traits_5_use_trait_as_function_parameters.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 9 | struct Post { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | 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] [INFO] [stdout] [INFO] [stdout] warning: function `foobar` is never used [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_9_dst_and_unsized_type.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn foobar(thing: &dyn Display) {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_3_traits_8_trait_bound.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 8 | impl Pair { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 9 | fn new(x: T, y: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fly` is never used [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_4_trait_object_1_returning_traits_with_dyn.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 13 | impl Swan { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 14 | fn fly(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fly` is never used [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_4_trait_object_2_array_with_trait_objects.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl Duck { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 7 | fn fly(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement with no effect [INFO] [stdout] --> src/rust_by_example/_07_expressions/_0_expressions.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | x; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(path_statements)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused arithmetic operation that must be used [INFO] [stdout] --> src/rust_by_example/_07_expressions/_0_expressions.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | x + 1; [INFO] [stdout] | ^^^^^ the arithmetic operation produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 8 | let _ = x + 1; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused arithmetic operation that must be used [INFO] [stdout] --> src/rust_by_example/_07_expressions/_0_expressions.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | 2 * x; [INFO] [stdout] | ^^^^^ the arithmetic operation produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 25 | let _ = 2 * x; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fly` is never used [INFO] [stdout] --> src/rust_by_practice/_10_generics_and_traits/_4_trait_object_2_array_with_trait_objects.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 12 | impl Swan { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 13 | fn fly(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_2_from_into_3.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | IoError(io::Error), [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] 7 | IoError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_2_from_into_3.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | ParseError(num::ParseIntError), [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] 8 | ParseError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_and_parse_file` is never used [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_2_from_into_3.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn open_and_parse_file(file_name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `R` is never constructed [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct R<'a>(&'a i32); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extend_lifetime` is never used [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_2.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | unsafe fn extend_lifetime<'b>(r: R<'b>) -> R<'static> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shorten_invariant_lifetime` is never used [INFO] [stdout] --> src/rust_by_practice/_12_type_conversion/_3_others_transmute_examples_2.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | unsafe fn shorten_invariant_lifetime<'b, 'c>(r: &'b mut R<'static>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_16_formatted_output/_2_debug_and_display_1_debug.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | 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] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `age` are never read [INFO] [stdout] --> src/rust_by_practice/_16_formatted_output/_2_debug_and_display_2_debug.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | struct Person { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 3 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 4 | 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] [INFO] [stdout] [INFO] [stdout] warning: function `longest` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_3_function.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `invalid_output` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_4_function.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn invalid_output() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_6_structs.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | 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] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_6_structs.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | struct NamedBorrowed<'a,'b>{ [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 11 | x: &'a i32, [INFO] [stdout] | ^ [INFO] [stdout] 12 | y: &'b 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/rust_by_practice/_17_lifetime/_1_basic_6_structs.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | 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] 18 | Num(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_6_structs.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | 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] 19 | Ref(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `a` and `b` are never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_7_structs.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | struct Example<'a, 'b> { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 8 | a: &'a u32, [INFO] [stdout] | ^ [INFO] [stdout] 9 | 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] [INFO] [stdout] [INFO] [stdout] warning: struct `ImportantExcerpt` is never constructed [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_9_method.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct ImportantExcerpt<'a>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `level` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_9_method.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl <'a> ImportantExcerpt<'a>{ [INFO] [stdout] | ------------------------------ method in this implementation [INFO] [stdout] 7 | fn level(&'a self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nput` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn nput(x: &i32) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pass` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn pass(x: &i32) -> &i32 { x } [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `longest` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn longest<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Owner` is never constructed [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct Owner(i32); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `add_one` and `print` are never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 15 | impl Owner { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 16 | // Annotate lifetimes as in a standalone function. [INFO] [stdout] 17 | fn add_one(&mut self) { self.0 += 1; } [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 18 | fn print(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Person` is never constructed [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | struct Person<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Either` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_1_basic_10_elision.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 28 | enum Either<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `a` and `b` are never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_2_static_and_t_static_2_static.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 3 | a: String, [INFO] [stdout] | ^ [INFO] [stdout] 4 | 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] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_1_trait_bounds_example.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | struct Ref<'a, T: 'a>(&'a T); [INFO] [stdout] | --- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Ref` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DoubleRef` is never constructed [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_1_trait_bounds.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct DoubleRef<'a,'b, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImportantExcerpt` is never constructed [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_2_trait_bounds.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct ImportantExcerpt<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `announce_and_return_part` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_2_trait_bounds.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl<'a: 'b, 'b> ImportantExcerpt<'a> { [INFO] [stdout] | ------------------------------------- method in this implementation [INFO] [stdout] 7 | fn announce_and_return_part(&'a self, announcement: &'b str) -> &'b str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `f` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_3_trait_bounds.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn f<'a, 'b>(x: &'a i32, mut y: &'b i32) where 'a: 'b { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `call_on_ref_zero` is never used [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_4_hrtb.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn call_on_ref_zero(f: F) where for <'a> F : Fn(&'a i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `manager` is never read [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_3_advanced_6_difficult_exercise.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | struct Interface<'b, 'a: 'b> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 3 | manager: &'b mut Manager<'a> [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `factory` is never used [INFO] [stdout] --> src/rust_by_practice/_18_functional_programming/_1_closure_11_closure_as_return_types.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn factory(x:i32) -> Box<(dyn Fn(i32) -> i32)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Subtract` is never constructed [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_5_type_alias.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 1 | enum VeryVerboseEnumOfThingsToDoWithNumbers { [INFO] [stdout] | -------------------------------------- variant in this enum [INFO] [stdout] 2 | Add, [INFO] [stdout] 3 | Subtract, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `VeryVerboseEnumOfThingsToDoWithNumbers` is never used [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_6_type_alias.rs:1:6 [INFO] [stdout] | [INFO] [stdout] 1 | enum VeryVerboseEnumOfThingsToDoWithNumbers { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_6_type_alias.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl VeryVerboseEnumOfThingsToDoWithNumbers { [INFO] [stdout] | ------------------------------------------- method in this implementation [INFO] [stdout] 7 | fn run(&self, x: i32, y: i32) -> i32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `foobar` is never used [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_9_dst_and_unsized_type.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn foobar(thing: &dyn Display) {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement with no effect [INFO] [stdout] --> src/rust_by_example/_07_expressions/_0_expressions.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | x; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(path_statements)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused arithmetic operation that must be used [INFO] [stdout] --> src/rust_by_example/_07_expressions/_0_expressions.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | x + 1; [INFO] [stdout] | ^^^^^ the arithmetic operation produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 8 | let _ = x + 1; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused arithmetic operation that must be used [INFO] [stdout] --> src/rust_by_example/_07_expressions/_0_expressions.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | 2 * x; [INFO] [stdout] | ^^^^^ the arithmetic operation produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 25 | let _ = 2 * x; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::str::from_utf8` with a invalid literal always return an error [INFO] [stdout] --> src/rust_by_example/_19_std_library_types/_3_strings_4_literals_and_escapes.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 30 | let shift_jis = b"\x82\xe6\x82\xa8\x82\xb1\x82\xbb"; // "ようこそ" in SHIFT-JIS [INFO] [stdout] | ----------------------------------- the literal was valid UTF-8 up to the 0 bytes [INFO] [stdout] ... [INFO] [stdout] 33 | match str::from_utf8(shift_jis) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(invalid_from_utf8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::str::from_utf8` with a invalid literal always return an error [INFO] [stdout] --> src/rust_by_example/_19_std_library_types/_3_strings_4_literals_and_escapes.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 30 | let shift_jis = b"\x82\xe6\x82\xa8\x82\xb1\x82\xbb"; // "ようこそ" in SHIFT-JIS [INFO] [stdout] | ----------------------------------- the literal was valid UTF-8 up to the 0 bytes [INFO] [stdout] ... [INFO] [stdout] 33 | match str::from_utf8(shift_jis) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(invalid_from_utf8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused arithmetic operation that must be used [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_3_statements_expressions_0.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | 2 * x; [INFO] [stdout] | ^^^^^ the arithmetic operation produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 14 | let _ = 2 * x; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::str::from_utf8` with a invalid literal always return an error [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_1_string_11_byte_string_example.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 30 | let shift_jis = b"\x82\xe6\x82\xa8\x82\xb1\x82\xbb"; // "ようこそ" In SHIFT-JIS [INFO] [stdout] | ----------------------------------- the literal was valid UTF-8 up to the 0 bytes [INFO] [stdout] ... [INFO] [stdout] 33 | match str::from_utf8(shift_jis) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused arithmetic operation that must be used [INFO] [stdout] --> src/rust_by_practice/_04_basic_types/_3_statements_expressions_0.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | 2 * x; [INFO] [stdout] | ^^^^^ the arithmetic operation produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 14 | let _ = 2 * x; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::str::from_utf8` with a invalid literal always return an error [INFO] [stdout] --> src/rust_by_practice/_06_compound_types/_1_string_11_byte_string_example.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 30 | let shift_jis = b"\x82\xe6\x82\xa8\x82\xb1\x82\xbb"; // "ようこそ" In SHIFT-JIS [INFO] [stdout] | ----------------------------------- the literal was valid UTF-8 up to the 0 bytes [INFO] [stdout] ... [INFO] [stdout] 33 | match str::from_utf8(shift_jis) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `v` should have an upper case name [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_2_static_and_t_static_1_static.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | const v: &str = "hello"; [INFO] [stdout] | ^ help: convert the identifier to upper case (notice the capitalization): `V` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `config` should have an upper case name [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_2_static_and_t_static_2_static.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | static mut config: Option<&mut Config> = None; [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper case: `CONFIG` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `i` should have an upper case name [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_2_static_and_t_static_5_t_static.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | const i:i32 = 5; [INFO] [stdout] | ^ help: convert the identifier to upper case (notice the capitalization): `I` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: const parameter `n` should have an upper case name [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_7_dst_and_unsized_type.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | fn my_function() -> [u32; n] { [INFO] [stdout] | ^ help: convert the identifier to upper case: `N` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `v` should have an upper case name [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_2_static_and_t_static_1_static.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | const v: &str = "hello"; [INFO] [stdout] | ^ help: convert the identifier to upper case (notice the capitalization): `V` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `config` should have an upper case name [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_2_static_and_t_static_2_static.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | static mut config: Option<&mut Config> = None; [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper case: `CONFIG` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `i` should have an upper case name [INFO] [stdout] --> src/rust_by_practice/_17_lifetime/_2_static_and_t_static_5_t_static.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | const i:i32 = 5; [INFO] [stdout] | ^ help: convert the identifier to upper case (notice the capitalization): `I` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: const parameter `n` should have an upper case name [INFO] [stdout] --> src/rust_by_practice/_19_newtype_and_dst/_0_newtype_and_dst_7_dst_and_unsized_type.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | fn my_function() -> [u32; n] { [INFO] [stdout] | ^ help: convert the identifier to upper case: `N` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 209 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 211 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.99s [INFO] running `Command { std: "docker" "inspect" "17ef36d7e200f1b501ff77ba658c6626d5cc25ff384db6f00958bebd71b62f64", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "17ef36d7e200f1b501ff77ba658c6626d5cc25ff384db6f00958bebd71b62f64", kill_on_drop: false }` [INFO] [stdout] 17ef36d7e200f1b501ff77ba658c6626d5cc25ff384db6f00958bebd71b62f64