[INFO] cloning repository https://github.com/Milo-Shen/Rust-Course [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Milo-Shen/Rust-Course" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMilo-Shen%2FRust-Course", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMilo-Shen%2FRust-Course'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4aca481f8735e50bea1d01f696de39a7e994d6c8 [INFO] checking Milo-Shen/Rust-Course against try#024378d9203a4009ed73d6db2681b88a8d74ce7a for pr-112160 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMilo-Shen%2FRust-Course" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Milo-Shen/Rust-Course on toolchain 024378d9203a4009ed73d6db2681b88a8d74ce7a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+024378d9203a4009ed73d6db2681b88a8d74ce7a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Milo-Shen/Rust-Course [INFO] finished tweaking git repo https://github.com/Milo-Shen/Rust-Course [INFO] tweaked toml for git repo https://github.com/Milo-Shen/Rust-Course written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Milo-Shen/Rust-Course 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" "+024378d9203a4009ed73d6db2681b88a8d74ce7a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+024378d9203a4009ed73d6db2681b88a8d74ce7a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2b1f4fc57404392de8f10d79437e52c197b41eb08b4ba1b7b5a23002b097c12f [INFO] running `Command { std: "docker" "start" "-a" "2b1f4fc57404392de8f10d79437e52c197b41eb08b4ba1b7b5a23002b097c12f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2b1f4fc57404392de8f10d79437e52c197b41eb08b4ba1b7b5a23002b097c12f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b1f4fc57404392de8f10d79437e52c197b41eb08b4ba1b7b5a23002b097c12f", kill_on_drop: false }` [INFO] [stdout] 2b1f4fc57404392de8f10d79437e52c197b41eb08b4ba1b7b5a23002b097c12f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+024378d9203a4009ed73d6db2681b88a8d74ce7a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] be34e04d8768c1d5e842cefe8dfb961a0f1e462b06021718a6c2d2fa712c790b [INFO] running `Command { std: "docker" "start" "-a" "be34e04d8768c1d5e842cefe8dfb961a0f1e462b06021718a6c2d2fa712c790b", kill_on_drop: false }` [INFO] [stderr] Checking rust_course v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `process` [INFO] [stdout] --> src/lib.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fs, env, process}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `process` [INFO] [stdout] --> src/lib.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fs, env, process}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `post` [INFO] [stdout] --> src/lib.rs:216:27 [INFO] [stdout] | [INFO] [stdout] 216 | fn content<'a>(&self, post: &'a Post) -> &'a str { "" } [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_post` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c1` [INFO] [stdout] --> src/lib.rs:352:16 [INFO] [stdout] | [INFO] [stdout] 352 | pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_c1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c2` [INFO] [stdout] --> src/lib.rs:352:34 [INFO] [stdout] | [INFO] [stdout] 352 | pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_c2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `content` is never read [INFO] [stdout] --> src/lib.rs:260:5 [INFO] [stdout] | [INFO] [stdout] 259 | pub struct DraftPost { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 260 | content: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fix_order` is never used [INFO] [stdout] --> src/front_of_house.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn fix_order() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `seasonal_fruit` is never read [INFO] [stdout] --> src/lib.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Breakfast { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 30 | pub toast: String, [INFO] [stdout] 31 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Breakfast` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Appetizer` is never used [INFO] [stdout] --> src/lib.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Appetizer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `post` [INFO] [stdout] --> src/lib.rs:216:27 [INFO] [stdout] | [INFO] [stdout] 216 | fn content<'a>(&self, post: &'a Post) -> &'a str { "" } [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_post` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c1` [INFO] [stdout] --> src/lib.rs:352:16 [INFO] [stdout] | [INFO] [stdout] 352 | pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_c1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c2` [INFO] [stdout] --> src/lib.rs:352:34 [INFO] [stdout] | [INFO] [stdout] 352 | pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_c2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `content` is never read [INFO] [stdout] --> src/lib.rs:260:5 [INFO] [stdout] | [INFO] [stdout] 259 | pub struct DraftPost { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 260 | content: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fix_order` is never used [INFO] [stdout] --> src/front_of_house.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn fix_order() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `seasonal_fruit` is never read [INFO] [stdout] --> src/lib.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Breakfast { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 30 | pub toast: String, [INFO] [stdout] 31 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Breakfast` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Appetizer` is never used [INFO] [stdout] --> src/lib.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Appetizer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Result` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Result as IoResult` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::Result as IoResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `self` [INFO] [stdout] --> src/main.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rust_course::eat_at_restaurant` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use rust_course::eat_at_restaurant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/result.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs` [INFO] [stdout] --> src/example_grep.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fs, process}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::E` [INFO] [stdout] --> src/iterator_5.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::f32::consts::E; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ref` [INFO] [stdout] --> src/memory_leak.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cell::{Ref, RefCell}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::JoinHandle` [INFO] [stdout] --> src/threads_1.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::thread::JoinHandle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `write` [INFO] [stdout] --> src/advanced_trait.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::{Display, Formatter, write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Output` [INFO] [stdout] --> src/advanced_trait.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::process::Output; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Result` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Result as IoResult` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::Result as IoResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `self` [INFO] [stdout] --> src/main.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rust_course::eat_at_restaurant` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use rust_course::eat_at_restaurant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/result.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs` [INFO] [stdout] --> src/example_grep.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fs, process}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::E` [INFO] [stdout] --> src/iterator_5.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::f32::consts::E; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ref` [INFO] [stdout] --> src/memory_leak.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cell::{Ref, RefCell}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::JoinHandle` [INFO] [stdout] --> src/threads_1.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::thread::JoinHandle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `write` [INFO] [stdout] --> src/advanced_trait.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::{Display, Formatter, write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Output` [INFO] [stdout] --> src/advanced_trait.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::process::Output; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/variables.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let mut array_c = [1, 2]; [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: `empty_result` [INFO] [stdout] --> src/functions.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let empty_result = empty_function(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_empty_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `another_str` [INFO] [stdout] --> src/ownership.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let another_str = name.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_another_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/refcell.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `black` [INFO] [stdout] --> src/structs.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let black: Color = Color(0, 0, 0); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_black` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `yellow` [INFO] [stdout] --> src/structs.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let yellow: Color = Color(1, 1, 1); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_yellow` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point` [INFO] [stdout] --> src/structs.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | let point: Point = Point(1.0, 1.0, 1.0); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/structs.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | let mut jason = User { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/structs.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | let mut another_react = &mut rect; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `myv4` [INFO] [stdout] --> src/enums.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let myv4 = IpAddKind::V4; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_myv4` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `home` [INFO] [stdout] --> src/enums.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | let home = IpAddressKind::V4(127, 0, 0, 1); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_home` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `home_another` [INFO] [stdout] --> src/enums.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let home_another = IpAddressKind::V4(127, 0, 0, 2); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_home_another` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `some_number` [INFO] [stdout] --> src/enums.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let some_number = Some(5); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `some_string` [INFO] [stdout] --> src/enums.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | let some_string = Some("A String"); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `absent_number` [INFO] [stdout] --> src/enums.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let absent_number: Option = None; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_absent_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip_kind` [INFO] [stdout] --> src/enums.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | fn route(ip_kind: IpAddKind) {} [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_kind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inserted_yellow` [INFO] [stdout] --> src/hashmap.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | let inserted_yellow = scores.entry(String::from("Yellow")); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_yellow` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/variables.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let mut array_c = [1, 2]; [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: `inserted_blue` [INFO] [stdout] --> src/hashmap.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | let inserted_blue = scores.entry(String::from("Blue")).or_insert(50); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_blue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `str` [INFO] [stdout] --> src/hashmap.rs:101:13 [INFO] [stdout] | [INFO] [stdout] 101 | let str = String::from("temporary value"); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hashmap.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | let mut map: HashMap = HashMap::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `empty_result` [INFO] [stdout] --> src/functions.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let empty_result = empty_function(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_empty_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `another_str` [INFO] [stdout] --> src/ownership.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let another_str = name.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_another_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/string.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | let mut s = "Hello String".to_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/string.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | let mut s = String::from("Hello 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/string.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let s = String::from("Hello World"); [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/string.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut s = "Hello String".to_string(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/string.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut s = String::from("Hello String"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/string.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | let mut string_1: String = " I am a string ".to_string(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/vector.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let v: Vec = Vec::new(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `black` [INFO] [stdout] --> src/structs.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let black: Color = Color(0, 0, 0); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_black` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `yellow` [INFO] [stdout] --> src/structs.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let yellow: Color = Color(1, 1, 1); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_yellow` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point` [INFO] [stdout] --> src/structs.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | let point: Point = Point(1.0, 1.0, 1.0); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/structs.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | let mut jason = User { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/structs.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | let mut another_react = &mut rect; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `myv4` [INFO] [stdout] --> src/enums.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let myv4 = IpAddKind::V4; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_myv4` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `home` [INFO] [stdout] --> src/enums.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | let home = IpAddressKind::V4(127, 0, 0, 1); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_home` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `home_another` [INFO] [stdout] --> src/enums.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let home_another = IpAddressKind::V4(127, 0, 0, 2); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_home_another` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `some_number` [INFO] [stdout] --> src/enums.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let some_number = Some(5); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `some_string` [INFO] [stdout] --> src/enums.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | let some_string = Some("A String"); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `absent_number` [INFO] [stdout] --> src/enums.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let absent_number: Option = None; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_absent_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/vector.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let v = vec![1, 2, 3]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arr` [INFO] [stdout] --> src/panic.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let arr = vec![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: `data` [INFO] [stdout] --> src/result.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | Result::Ok(data) => println!("open file success"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/result.rs:19:21 [INFO] [stdout] | [INFO] [stdout] 19 | Result::Err(err) => println!("open file failed"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file` [INFO] [stdout] --> src/result.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let file = match f { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/result.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let f = File::open("./assets/Jack.txt").unwrap_or_else(|error| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/result.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let f = File::open("./assets/hello.txt").unwrap(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip_kind` [INFO] [stdout] --> src/enums.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | fn route(ip_kind: IpAddKind) {} [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_kind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/generics.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let mut another_point = point.reference(); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inserted_yellow` [INFO] [stdout] --> src/hashmap.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | let inserted_yellow = scores.entry(String::from("Yellow")); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_yellow` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inserted_blue` [INFO] [stdout] --> src/hashmap.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | let inserted_blue = scores.entry(String::from("Blue")).or_insert(50); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_blue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `str` [INFO] [stdout] --> src/hashmap.rs:101:13 [INFO] [stdout] | [INFO] [stdout] 101 | let str = String::from("temporary value"); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/learning_trait.rs:176:9 [INFO] [stdout] | [INFO] [stdout] 176 | let b = &a; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/learning_trait.rs:109:85 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn notify_bound_without_where(a: T, b: U) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/learning_trait.rs:113:48 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn notify_bound_with_where(a: T, b: U) -> String [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hashmap.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | let mut map: HashMap = HashMap::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/string.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | let mut s = "Hello String".to_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/string.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | let mut s = String::from("Hello 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/string.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let s = String::from("Hello World"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/lifecycle_1.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let r: i32; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/lifecycle_1.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | let x = 5; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string_1` [INFO] [stdout] --> src/lifecycle_2.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let string_1 = String::from("Hello World"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string_2` [INFO] [stdout] --> src/lifecycle_2.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let string_2 = String::from("Jack"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lifecycle_2.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let mut result: &str = "string_2: borrowed value does not live long enough"; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/lifecycle_3.rs:8:34 [INFO] [stdout] | [INFO] [stdout] 8 | fn longest_1<'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: variable does not need to be mutable [INFO] [stdout] --> src/string.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut s = "Hello String".to_string(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/string.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut s = String::from("Hello String"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/string.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | let mut string_1: String = " I am a string ".to_string(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/vector.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let v: Vec = Vec::new(); [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/vector.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let v = vec![1, 2, 3]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/lifecycle_3.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let result = String::from("悬垂引用"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/lifecycle_3.rs:15:34 [INFO] [stdout] | [INFO] [stdout] 15 | fn longest_2<'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: unused variable: `x` [INFO] [stdout] --> src/lifecycle_3.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | fn longest_3(x: &str, y: &str) -> String { [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/lifecycle_3.rs:24:27 [INFO] [stdout] | [INFO] [stdout] 24 | fn longest_3(x: &str, y: &str) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/lifecycle_4.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | let s: &'static str = "I have a static lifetime"; [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/panic.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let arr = vec![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: `data` [INFO] [stdout] --> src/result.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | Result::Ok(data) => println!("open file success"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/result.rs:19:21 [INFO] [stdout] | [INFO] [stdout] 19 | Result::Err(err) => println!("open file failed"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file` [INFO] [stdout] --> src/result.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let file = match f { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/result.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let f = File::open("./assets/Jack.txt").unwrap_or_else(|error| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/result.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let f = File::open("./assets/hello.txt").unwrap(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/closure_1.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let s = example_closure("Hello Closure"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/closure_2.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let x = vec![1, 2, 3]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `equal_to_str` [INFO] [stdout] --> src/closure_2.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | let equal_to_str = move |z: String| z == string_1; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_equal_to_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/closure_2.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let mut string_1 = String::from("FnOnce"); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/closure_2.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let mut string_1 = String::from("FnOnce"); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2_iter_first` [INFO] [stdout] --> src/iterator_1.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let v2_iter_first = v2_iter.next().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v2_iter_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/generics.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let mut another_point = point.reference(); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/iterator_1.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let mut v4 = vec!["1".to_string(), "2".to_string(), "3".to_string()]; [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/learning_trait.rs:176:9 [INFO] [stdout] | [INFO] [stdout] 176 | let b = &a; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/learning_trait.rs:109:85 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn notify_bound_without_where(a: T, b: U) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/learning_trait.rs:113:48 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn notify_bound_with_where(a: T, b: U) -> String [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/lifecycle_1.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let r: i32; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/drop_trait.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let a = CustomSmartPointer { data: String::from("my stuff") }; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/drop_trait.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | let b = CustomSmartPointer { data: String::from("other stuff") }; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/drop_trait.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | let d = CustomSmartPointer { data: String::from("other stuff drop") }; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/rc.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | let a = Cons(1, Rc::clone(&list)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/rc.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let b = Cons(2, Rc::clone(&list)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/rc.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let c = Cons(3, Rc::clone(&list)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `some_clone` [INFO] [stdout] --> src/rc.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let some_clone = some_val.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_clone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/lifecycle_1.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | let x = 5; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string_1` [INFO] [stdout] --> src/lifecycle_2.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let string_1 = String::from("Hello World"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string_2` [INFO] [stdout] --> src/lifecycle_2.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let string_2 = String::from("Jack"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/refcell.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let x = 5; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lifecycle_2.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let mut result: &str = "string_2: borrowed value does not live long enough"; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/lifecycle_3.rs:8:34 [INFO] [stdout] | [INFO] [stdout] 8 | fn longest_1<'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: unused variable: `result` [INFO] [stdout] --> src/lifecycle_3.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let result = String::from("悬垂引用"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/lifecycle_3.rs:15:34 [INFO] [stdout] | [INFO] [stdout] 15 | fn longest_2<'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: unused variable: `x` [INFO] [stdout] --> src/lifecycle_3.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | fn longest_3(x: &str, y: &str) -> String { [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/lifecycle_3.rs:24:27 [INFO] [stdout] | [INFO] [stdout] 24 | fn longest_3(x: &str, y: &str) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/lifecycle_4.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | let s: &'static str = "I have a static lifetime"; [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/closure_1.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let s = example_closure("Hello Closure"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/closure_2.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let x = vec![1, 2, 3]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `equal_to_str` [INFO] [stdout] --> src/closure_2.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | let equal_to_str = move |z: String| z == string_1; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_equal_to_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/closure_2.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let mut string_1 = String::from("FnOnce"); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/pattern_matching_2.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | if let x = 50 { [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: variable does not need to be mutable [INFO] [stdout] --> src/closure_2.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let mut string_1 = String::from("FnOnce"); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2_iter_first` [INFO] [stdout] --> src/iterator_1.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let v2_iter_first = v2_iter.next().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v2_iter_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/iterator_1.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let mut v4 = vec!["1".to_string(), "2".to_string(), "3".to_string()]; [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/unsafe_rust.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let r = address as *const i32; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/unsafe_rust.rs:141:10 [INFO] [stdout] | [INFO] [stdout] 141 | let (a, b) = r.split_at_mut(3); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/unsafe_rust.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | let (a, b) = r.split_at_mut(3); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/drop_trait.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let a = CustomSmartPointer { data: String::from("my stuff") }; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/drop_trait.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | let b = CustomSmartPointer { data: String::from("other stuff") }; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/advanced_type.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | let f: Box = Box::new(|| println!("hello world")); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/advanced_type.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let f: Thunk = Box::new(|| println!("hello world")); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/advanced_type.rs:26:25 [INFO] [stdout] | [INFO] [stdout] 26 | fn _takes_long_type(f: Box) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/advanced_type.rs:35:24 [INFO] [stdout] | [INFO] [stdout] 35 | fn takes_long_type(f: Thunk) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/advanced_type.rs:121:19 [INFO] [stdout] | [INFO] [stdout] 121 | fn generic(t: T) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/advanced_type.rs:127:28 [INFO] [stdout] | [INFO] [stdout] 127 | fn _generic(t: &T) {} [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/advanced_function.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | let v = Status::Value(3); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/drop_trait.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | let d = CustomSmartPointer { data: String::from("other stuff drop") }; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/rc.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | let a = Cons(1, Rc::clone(&list)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/rc.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let b = Cons(2, Rc::clone(&list)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/rc.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let c = Cons(3, Rc::clone(&list)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `some_clone` [INFO] [stdout] --> src/rc.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let some_clone = some_val.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_clone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/refcell.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let x = 5; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private trait `Summary` in public interface (error E0445) [INFO] [stdout] --> src/learning_trait.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn notify_impl(item: &impl Summary) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] = note: `#[warn(private_in_public)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private trait `Summary` in public interface (error E0445) [INFO] [stdout] --> src/learning_trait.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn notify_bound(item: &T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private trait `Summary` in public interface (error E0445) [INFO] [stdout] --> src/learning_trait.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn notify_impl_display(item: &(impl Summary + Display)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private trait `Summary` in public interface (error E0445) [INFO] [stdout] --> src/learning_trait.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn notify_bound_display(item: &T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private trait `Summary` in public interface (error E0445) [INFO] [stdout] --> src/learning_trait.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn notify_bound_without_where(a: T, b: U) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private trait `Summary` in public interface (error E0445) [INFO] [stdout] --> src/learning_trait.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | / pub fn notify_bound_with_where(a: T, b: U) -> String [INFO] [stdout] 114 | | where [INFO] [stdout] 115 | | T: Summary + Display, [INFO] [stdout] 116 | | U: Clone + Debug { [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private trait `Summary` in public interface (error E0445) [INFO] [stdout] --> src/learning_trait.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn return_trait_impl() -> impl Summary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fix_order` is never used [INFO] [stdout] --> src/front_of_house.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn fix_order() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_to_wait_list` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn add_to_wait_list() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `private_function` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn private_function() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_house` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn print_house() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hello` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn hello() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERSION` is never used [INFO] [stdout] --> src/variables.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | const VERSION: &str = "1.0.0"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_variables` is never used [INFO] [stdout] --> src/variables.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_variables() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `another_function` is never used [INFO] [stdout] --> src/functions.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn another_function(x: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_function` is never used [INFO] [stdout] --> src/functions.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn empty_function() {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `plus_five` is never used [INFO] [stdout] --> src/functions.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn plus_five(x: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `plus_six` is never used [INFO] [stdout] --> src/functions.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn plus_six(x: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_functions` is never used [INFO] [stdout] --> src/functions.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn learning_functions() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_control_flow` is never used [INFO] [stdout] --> src/control_flow.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_control_flow() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `take_ownership` is never used [INFO] [stdout] --> src/ownership.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn take_ownership(x: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `take_ownership_vec` is never used [INFO] [stdout] --> src/ownership.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn take_ownership_vec(x: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_length` is never used [INFO] [stdout] --> src/ownership.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn calculate_length(x: String) -> (String, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_ownership` is never used [INFO] [stdout] --> src/ownership.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn learning_ownership() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_length_1` is never used [INFO] [stdout] --> src/reference.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn calculate_length_1(x: &String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mut_calculate_length` is never used [INFO] [stdout] --> src/reference.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn mut_calculate_length(x: &mut String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_reference` is never used [INFO] [stdout] --> src/reference.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn learning_reference() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first_world` is never used [INFO] [stdout] --> src/slices.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn first_world(x: &str) -> &str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_slice` is never used [INFO] [stdout] --> src/slices.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn learning_slice() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_struct` is never used [INFO] [stdout] --> src/structs.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_struct() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/structs.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 64 | struct Rectangle { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 65 | width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 66 | 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: associated items `area`, `copy`, and `print` are never used [INFO] [stdout] --> src/structs.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 83 | impl Rectangle { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | fn area(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | fn copy(&self) -> Rectangle { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn print(x: &str) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_enums` is never used [INFO] [stdout] --> src/enums.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_enums() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Quit`, `Move`, `Write`, and `ChangeColor` are never constructed [INFO] [stdout] --> src/enums.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 48 | enum Message { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 49 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] 50 | Move { x: i32, y: i32 }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 51 | Write(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 52 | ChangeColor(i32, i32, i32), [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: function `learning_match` is never used [INFO] [stdout] --> src/match_syntax.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_match() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Shanghai` and `Beijing` are never constructed [INFO] [stdout] --> src/match_syntax.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | enum China { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 8 | Shanghai, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | Beijing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `China` 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 `learning_hashmap` is never used [INFO] [stdout] --> src/hashmap.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn learning_hashmap() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_string` is never used [INFO] [stdout] --> src/string.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_string() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_vector` is never used [INFO] [stdout] --> src/vector.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_vector() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_result` is never used [INFO] [stdout] --> src/result.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_result() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_eliminate` is never used [INFO] [stdout] --> src/eliminate_duplicate_code.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_eliminate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_generics` is never used [INFO] [stdout] --> src/generics.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_generics() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/generics.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 14 | struct Point { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 15 | x: T, [INFO] [stdout] | ^ [INFO] [stdout] 16 | y: U, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Point` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `reference` and `mix_up` are never used [INFO] [stdout] --> src/generics.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl Point { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 38 | fn reference(&mut self) -> &mut Point { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | fn mix_up(self, other: Point) -> Point { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `specific` is never used [INFO] [stdout] --> src/generics.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl Point { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 49 | fn specific(&self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `location` is never read [INFO] [stdout] --> src/learning_trait.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 13 | struct NewsArticle { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 14 | headline: String, [INFO] [stdout] 15 | location: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `reply` and `retweet` are never read [INFO] [stdout] --> src/learning_trait.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 38 | struct Tweet { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | reply: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 42 | retweet: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_trait` is never used [INFO] [stdout] --> src/learning_trait.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn learning_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/learning_trait.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 188 | impl Pair { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 189 | fn new(x: T, y: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cmp_display` is never used [INFO] [stdout] --> src/learning_trait.rs:195:12 [INFO] [stdout] | [INFO] [stdout] 194 | impl Pair { [INFO] [stdout] | ------------------------------------- method in this implementation [INFO] [stdout] 195 | fn cmp_display(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_1.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_4.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `level` and `announce` are never used [INFO] [stdout] --> src/lifecycle_4.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl<'a> ImportantExcerpt<'a> { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] 24 | // 因为这边返回值不是引用,所以无需为返回值申明生命周期 [INFO] [stdout] 25 | fn level(&self) -> i32 { 1 } [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | fn announce(&self, announcement: &str) -> &str { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_tests` is never used [INFO] [stdout] --> src/learning_test.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_tests() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_two` is never used [INFO] [stdout] --> src/learning_test.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn add_two(a: i32) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `internal_adder` is never used [INFO] [stdout] --> src/learning_test.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn internal_adder(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_grep_example` is never used [INFO] [stdout] --> src/example_grep.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_grep_example() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_grep` is never used [INFO] [stdout] --> src/example_grep.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn my_grep() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_closure` is never used [INFO] [stdout] --> src/closure_1.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_closure() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cache` is never constructed [INFO] [stdout] --> src/closure_1.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | struct Cache [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `value`, and `hash_value` are never used [INFO] [stdout] --> src/closure_1.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 36 | impl Cache [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 37 | where T: Fn(u32) -> u32 { [INFO] [stdout] 38 | fn new(calculation: T) -> Cache { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn value(&mut self, arg: u32) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn hash_value(&mut self, arg: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_workout` is never used [INFO] [stdout] --> src/closure_1.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn generate_workout(intensity: u32, random_number: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_closure` is never used [INFO] [stdout] --> src/closure_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_closure() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_1.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_4.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/iterator_4.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Counter { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 12 | // 该函数是一个关联函数 [INFO] [stdout] 13 | fn new() -> Counter { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_5.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `new_iterator` are never used [INFO] [stdout] --> src/iterator_5.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 14 | impl Config { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn new(args: &[String]) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn new_iterator(mut args: std::env::Args) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_6.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pub_use` is never used [INFO] [stdout] --> src/learning_pub_use.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_pub_use() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_smart_pointer` is never used [INFO] [stdout] --> src/smart_pointer_begin.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_smart_pointer() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `take_ownership` is never used [INFO] [stdout] --> src/smart_pointer_box.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn take_ownership(x: Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_smart_pointer` is never used [INFO] [stdout] --> src/smart_pointer_box.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_smart_pointer() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Cons` and `Nil` are never constructed [INFO] [stdout] --> src/smart_pointer_box.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 77 | enum List { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 78 | Cons(i32, Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] 79 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `List` 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 `learning_deref_trait` is never used [INFO] [stdout] --> src/deref_trait_1.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_deref_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/deref_trait_1.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl MyBox { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 33 | fn new(x: T) -> MyBox { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_deref_trait` is never used [INFO] [stdout] --> src/deref_trait_2.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_deref_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/deref_trait_2.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl MyBox { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 19 | fn new(x: T) -> MyBox { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_drop_trait` is never used [INFO] [stdout] --> src/drop_trait.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_drop_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_rc` is never used [INFO] [stdout] --> src/rc.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_rc() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Cons` and `Nil` are never constructed [INFO] [stdout] --> src/rc.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 23 | enum List { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 24 | Cons(i32, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 25 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `List` 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 `LimitTracker` is never constructed [INFO] [stdout] --> src/refcell.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct LimitTracker<'a, T: 'a + Messenger> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `set_value` are never used [INFO] [stdout] --> src/refcell.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl<'a, T> LimitTracker<'a, T> [INFO] [stdout] | ------------------------------- associated items in this implementation [INFO] [stdout] 17 | where T: Messenger { [INFO] [stdout] 18 | pub fn new(messenger: &T, max: usize) -> LimitTracker { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn set_value(&mut self, value: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Cons` and `Nil` are never constructed [INFO] [stdout] --> src/refcell.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 41 | enum List { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 42 | Cons(Rc>, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 43 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `List` 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 `learning_ref_cell` is never used [INFO] [stdout] --> src/refcell.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn learning_ref_cell() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Cons` and `Nil` are never constructed [INFO] [stdout] --> src/memory_leak.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | enum List { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 7 | Cons(i32, RefCell>), [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `List` 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 `tail` is never used [INFO] [stdout] --> src/memory_leak.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 13 | impl List { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 14 | fn tail(&self) -> Option<&RefCell>> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_memory_leak` is never used [INFO] [stdout] --> src/memory_leak.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn learning_memory_leak() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `value`, `parent`, and `children` are never read [INFO] [stdout] --> src/memory_leak.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 72 | struct Node { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 73 | value: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 74 | parent: RefCell>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 75 | children: RefCell>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` 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 `learning_threads` is never used [INFO] [stdout] --> src/threads_1.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_threads` is never used [INFO] [stdout] --> src/threads_2.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_threads` is never used [INFO] [stdout] --> src/threads_3.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_threads` is never used [INFO] [stdout] --> src/threads_4.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_oop` is never used [INFO] [stdout] --> src/oop_1.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_oop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Screen` is never constructed [INFO] [stdout] --> src/oop_2.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Screen { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/oop_2.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Screen { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 22 | pub fn run(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width`, `height`, and `options` are never read [INFO] [stdout] --> src/oop_2.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 43 | struct SelectBox { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 44 | width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 45 | height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 46 | options: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_oop` is never used [INFO] [stdout] --> src/oop_2.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn learning_oop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_oop` is never used [INFO] [stdout] --> src/oop_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_oop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pattern_matching` is never used [INFO] [stdout] --> src/pattern_matching_1.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_pattern_matching() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pattern_matching` is never used [INFO] [stdout] --> src/pattern_matching_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_pattern_matching() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pattern_matching` is never used [INFO] [stdout] --> src/pattern_matching_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_pattern_matching() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Quit`, `Move`, `Write`, and `ChangeColor` are never constructed [INFO] [stdout] --> src/pattern_matching_3.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 69 | enum Message { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 70 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] 71 | Move { x: i32, y: i32 }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 72 | Write(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 73 | ChangeColor(i32, i32, i32), [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: static `HELLO_WORLD` is never used [INFO] [stdout] --> src/unsafe_rust.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static HELLO_WORLD: &str = "Hello World"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `RATIO` is never used [INFO] [stdout] --> src/unsafe_rust.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | static RATIO: f64 = 3.14; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PI` is never used [INFO] [stdout] --> src/unsafe_rust.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | static mut PI: f64 = 3.14; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_unsafe_rust` is never used [INFO] [stdout] --> src/unsafe_rust.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn learning_unsafe_rust() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_advanced_trait` is never used [INFO] [stdout] --> src/advanced_trait.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn learning_advanced_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fly` is never used [INFO] [stdout] --> src/advanced_trait.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 124 | impl Human { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 125 | fn fly(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `baby_name` is never used [INFO] [stdout] --> src/advanced_trait.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 155 | impl Dog { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 156 | fn baby_name() -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_advanced_type` is never used [INFO] [stdout] --> src/advanced_type.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn learning_advanced_type() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_advanced_function` is never used [INFO] [stdout] --> src/advanced_function.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_advanced_function() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Value` and `Stop` are never constructed [INFO] [stdout] --> src/advanced_function.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 37 | enum Status { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 38 | Value(u32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 39 | Stop, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Status` 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 `learning_macros` is never used [INFO] [stdout] --> src/learn_macro.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_macros() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> src/deref_trait_1.rs:60:22 [INFO] [stdout] | [INFO] [stdout] 60 | assert_eq!(5, *(y.deref())); [INFO] [stdout] | ^^^^^^^^^ unnecessary method call [INFO] [stdout] | [INFO] [stdout] = note: the type `i32` does not implement `Deref`, so calling `deref` on `&i32` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[deny(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/pattern_matching_2.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | if let x = 50 { [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] error: aborting due to previous error; 203 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rust_course` (bin "rust_course") due to 2 previous errors; 203 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/unsafe_rust.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let r = address as *const i32; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/unsafe_rust.rs:141:10 [INFO] [stdout] | [INFO] [stdout] 141 | let (a, b) = r.split_at_mut(3); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/unsafe_rust.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | let (a, b) = r.split_at_mut(3); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/advanced_type.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | let f: Box = Box::new(|| println!("hello world")); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/advanced_type.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let f: Thunk = Box::new(|| println!("hello world")); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/advanced_type.rs:26:25 [INFO] [stdout] | [INFO] [stdout] 26 | fn _takes_long_type(f: Box) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/advanced_type.rs:35:24 [INFO] [stdout] | [INFO] [stdout] 35 | fn takes_long_type(f: Thunk) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/advanced_type.rs:121:19 [INFO] [stdout] | [INFO] [stdout] 121 | fn generic(t: T) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/advanced_type.rs:127:28 [INFO] [stdout] | [INFO] [stdout] 127 | fn _generic(t: &T) {} [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/advanced_function.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | let v = Status::Value(3); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private trait `learning_trait::Summary` in public interface (error E0445) [INFO] [stdout] --> src/learning_trait.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn notify_impl(item: &impl Summary) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] = note: `#[warn(private_in_public)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private trait `learning_trait::Summary` in public interface (error E0445) [INFO] [stdout] --> src/learning_trait.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn notify_bound(item: &T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private trait `learning_trait::Summary` in public interface (error E0445) [INFO] [stdout] --> src/learning_trait.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn notify_impl_display(item: &(impl Summary + Display)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private trait `learning_trait::Summary` in public interface (error E0445) [INFO] [stdout] --> src/learning_trait.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn notify_bound_display(item: &T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private trait `learning_trait::Summary` in public interface (error E0445) [INFO] [stdout] --> src/learning_trait.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn notify_bound_without_where(a: T, b: U) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private trait `learning_trait::Summary` in public interface (error E0445) [INFO] [stdout] --> src/learning_trait.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | / pub fn notify_bound_with_where(a: T, b: U) -> String [INFO] [stdout] 114 | | where [INFO] [stdout] 115 | | T: Summary + Display, [INFO] [stdout] 116 | | U: Clone + Debug { [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private trait `learning_trait::Summary` in public interface (error E0445) [INFO] [stdout] --> src/learning_trait.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn return_trait_impl() -> impl Summary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fix_order` is never used [INFO] [stdout] --> src/front_of_house.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn fix_order() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_to_wait_list` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn add_to_wait_list() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `private_function` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn private_function() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_house` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn print_house() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hello` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn hello() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERSION` is never used [INFO] [stdout] --> src/variables.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | const VERSION: &str = "1.0.0"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_variables` is never used [INFO] [stdout] --> src/variables.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_variables() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `another_function` is never used [INFO] [stdout] --> src/functions.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn another_function(x: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_function` is never used [INFO] [stdout] --> src/functions.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn empty_function() {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `plus_five` is never used [INFO] [stdout] --> src/functions.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn plus_five(x: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `plus_six` is never used [INFO] [stdout] --> src/functions.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn plus_six(x: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_functions` is never used [INFO] [stdout] --> src/functions.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn learning_functions() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_control_flow` is never used [INFO] [stdout] --> src/control_flow.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_control_flow() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `take_ownership` is never used [INFO] [stdout] --> src/ownership.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn take_ownership(x: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `take_ownership_vec` is never used [INFO] [stdout] --> src/ownership.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn take_ownership_vec(x: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_length` is never used [INFO] [stdout] --> src/ownership.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn calculate_length(x: String) -> (String, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_ownership` is never used [INFO] [stdout] --> src/ownership.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn learning_ownership() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_length_1` is never used [INFO] [stdout] --> src/reference.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn calculate_length_1(x: &String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mut_calculate_length` is never used [INFO] [stdout] --> src/reference.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn mut_calculate_length(x: &mut String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_reference` is never used [INFO] [stdout] --> src/reference.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn learning_reference() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first_world` is never used [INFO] [stdout] --> src/slices.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn first_world(x: &str) -> &str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_slice` is never used [INFO] [stdout] --> src/slices.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn learning_slice() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_struct` is never used [INFO] [stdout] --> src/structs.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_struct() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/structs.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 64 | struct Rectangle { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 65 | width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 66 | 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: associated items `area`, `copy`, and `print` are never used [INFO] [stdout] --> src/structs.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 83 | impl Rectangle { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | fn area(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | fn copy(&self) -> Rectangle { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn print(x: &str) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_enums` is never used [INFO] [stdout] --> src/enums.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_enums() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Quit`, `Move`, `Write`, and `ChangeColor` are never constructed [INFO] [stdout] --> src/enums.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 48 | enum Message { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 49 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] 50 | Move { x: i32, y: i32 }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 51 | Write(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 52 | ChangeColor(i32, i32, i32), [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: function `learning_match` is never used [INFO] [stdout] --> src/match_syntax.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_match() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Shanghai` and `Beijing` are never constructed [INFO] [stdout] --> src/match_syntax.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | enum China { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 8 | Shanghai, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | Beijing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `China` 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 `learning_hashmap` is never used [INFO] [stdout] --> src/hashmap.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn learning_hashmap() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_string` is never used [INFO] [stdout] --> src/string.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_string() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_vector` is never used [INFO] [stdout] --> src/vector.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_vector() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_result` is never used [INFO] [stdout] --> src/result.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_result() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_eliminate` is never used [INFO] [stdout] --> src/eliminate_duplicate_code.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_eliminate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_generics` is never used [INFO] [stdout] --> src/generics.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_generics() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/generics.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 14 | struct Point { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 15 | x: T, [INFO] [stdout] | ^ [INFO] [stdout] 16 | y: U, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Point` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `reference` and `mix_up` are never used [INFO] [stdout] --> src/generics.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl Point { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 38 | fn reference(&mut self) -> &mut Point { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | fn mix_up(self, other: Point) -> Point { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `specific` is never used [INFO] [stdout] --> src/generics.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl Point { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 49 | fn specific(&self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `location` is never read [INFO] [stdout] --> src/learning_trait.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 13 | struct NewsArticle { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 14 | headline: String, [INFO] [stdout] 15 | location: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `reply` and `retweet` are never read [INFO] [stdout] --> src/learning_trait.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 38 | struct Tweet { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | reply: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 42 | retweet: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_trait` is never used [INFO] [stdout] --> src/learning_trait.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn learning_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/learning_trait.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 188 | impl Pair { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 189 | fn new(x: T, y: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cmp_display` is never used [INFO] [stdout] --> src/learning_trait.rs:195:12 [INFO] [stdout] | [INFO] [stdout] 194 | impl Pair { [INFO] [stdout] | ------------------------------------- method in this implementation [INFO] [stdout] 195 | fn cmp_display(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_1.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_4.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `level` and `announce` are never used [INFO] [stdout] --> src/lifecycle_4.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl<'a> ImportantExcerpt<'a> { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] 24 | // 因为这边返回值不是引用,所以无需为返回值申明生命周期 [INFO] [stdout] 25 | fn level(&self) -> i32 { 1 } [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | fn announce(&self, announcement: &str) -> &str { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_tests` is never used [INFO] [stdout] --> src/learning_test.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_tests() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_two` is never used [INFO] [stdout] --> src/learning_test.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn add_two(a: i32) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_grep_example` is never used [INFO] [stdout] --> src/example_grep.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_grep_example() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_grep` is never used [INFO] [stdout] --> src/example_grep.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn my_grep() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_closure` is never used [INFO] [stdout] --> src/closure_1.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_closure() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cache` is never constructed [INFO] [stdout] --> src/closure_1.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | struct Cache [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `value`, and `hash_value` are never used [INFO] [stdout] --> src/closure_1.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 36 | impl Cache [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 37 | where T: Fn(u32) -> u32 { [INFO] [stdout] 38 | fn new(calculation: T) -> Cache { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn value(&mut self, arg: u32) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn hash_value(&mut self, arg: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_workout` is never used [INFO] [stdout] --> src/closure_1.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn generate_workout(intensity: u32, random_number: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_closure` is never used [INFO] [stdout] --> src/closure_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_closure() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_1.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_4.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/iterator_4.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Counter { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 12 | // 该函数是一个关联函数 [INFO] [stdout] 13 | fn new() -> Counter { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_5.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `new_iterator` are never used [INFO] [stdout] --> src/iterator_5.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 14 | impl Config { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn new(args: &[String]) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn new_iterator(mut args: std::env::Args) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_6.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pub_use` is never used [INFO] [stdout] --> src/learning_pub_use.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_pub_use() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_smart_pointer` is never used [INFO] [stdout] --> src/smart_pointer_begin.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_smart_pointer() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `take_ownership` is never used [INFO] [stdout] --> src/smart_pointer_box.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn take_ownership(x: Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_smart_pointer` is never used [INFO] [stdout] --> src/smart_pointer_box.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_smart_pointer() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Cons` and `Nil` are never constructed [INFO] [stdout] --> src/smart_pointer_box.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 77 | enum List { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 78 | Cons(i32, Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] 79 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `List` 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 `learning_deref_trait` is never used [INFO] [stdout] --> src/deref_trait_1.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_deref_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/deref_trait_1.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl MyBox { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 33 | fn new(x: T) -> MyBox { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_deref_trait` is never used [INFO] [stdout] --> src/deref_trait_2.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_deref_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/deref_trait_2.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl MyBox { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 19 | fn new(x: T) -> MyBox { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_drop_trait` is never used [INFO] [stdout] --> src/drop_trait.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_drop_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_rc` is never used [INFO] [stdout] --> src/rc.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_rc() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Cons` and `Nil` are never constructed [INFO] [stdout] --> src/rc.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 23 | enum List { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 24 | Cons(i32, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 25 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `List` 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 `Cons` and `Nil` are never constructed [INFO] [stdout] --> src/refcell.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 41 | enum List { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 42 | Cons(Rc>, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 43 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `List` 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 `learning_ref_cell` is never used [INFO] [stdout] --> src/refcell.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn learning_ref_cell() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Cons` and `Nil` are never constructed [INFO] [stdout] --> src/memory_leak.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | enum List { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 7 | Cons(i32, RefCell>), [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `List` 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 `tail` is never used [INFO] [stdout] --> src/memory_leak.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 13 | impl List { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 14 | fn tail(&self) -> Option<&RefCell>> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_memory_leak` is never used [INFO] [stdout] --> src/memory_leak.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn learning_memory_leak() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `value`, `parent`, and `children` are never read [INFO] [stdout] --> src/memory_leak.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 72 | struct Node { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 73 | value: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 74 | parent: RefCell>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 75 | children: RefCell>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` 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 `learning_threads` is never used [INFO] [stdout] --> src/threads_1.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_threads` is never used [INFO] [stdout] --> src/threads_2.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_threads` is never used [INFO] [stdout] --> src/threads_3.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_threads` is never used [INFO] [stdout] --> src/threads_4.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_oop` is never used [INFO] [stdout] --> src/oop_1.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_oop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Screen` is never constructed [INFO] [stdout] --> src/oop_2.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Screen { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/oop_2.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Screen { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 22 | pub fn run(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width`, `height`, and `options` are never read [INFO] [stdout] --> src/oop_2.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 43 | struct SelectBox { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 44 | width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 45 | height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 46 | options: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_oop` is never used [INFO] [stdout] --> src/oop_2.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn learning_oop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_oop` is never used [INFO] [stdout] --> src/oop_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_oop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pattern_matching` is never used [INFO] [stdout] --> src/pattern_matching_1.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_pattern_matching() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pattern_matching` is never used [INFO] [stdout] --> src/pattern_matching_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_pattern_matching() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pattern_matching` is never used [INFO] [stdout] --> src/pattern_matching_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_pattern_matching() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Quit`, `Move`, `Write`, and `ChangeColor` are never constructed [INFO] [stdout] --> src/pattern_matching_3.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 69 | enum Message { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 70 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] 71 | Move { x: i32, y: i32 }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 72 | Write(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 73 | ChangeColor(i32, i32, i32), [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: static `HELLO_WORLD` is never used [INFO] [stdout] --> src/unsafe_rust.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static HELLO_WORLD: &str = "Hello World"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `RATIO` is never used [INFO] [stdout] --> src/unsafe_rust.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | static RATIO: f64 = 3.14; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PI` is never used [INFO] [stdout] --> src/unsafe_rust.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | static mut PI: f64 = 3.14; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_unsafe_rust` is never used [INFO] [stdout] --> src/unsafe_rust.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn learning_unsafe_rust() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_advanced_trait` is never used [INFO] [stdout] --> src/advanced_trait.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn learning_advanced_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fly` is never used [INFO] [stdout] --> src/advanced_trait.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 124 | impl Human { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 125 | fn fly(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `baby_name` is never used [INFO] [stdout] --> src/advanced_trait.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 155 | impl Dog { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 156 | fn baby_name() -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_advanced_type` is never used [INFO] [stdout] --> src/advanced_type.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn learning_advanced_type() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_advanced_function` is never used [INFO] [stdout] --> src/advanced_function.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_advanced_function() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Value` and `Stop` are never constructed [INFO] [stdout] --> src/advanced_function.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 37 | enum Status { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 38 | Value(u32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 39 | Stop, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Status` 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 `learning_macros` is never used [INFO] [stdout] --> src/learn_macro.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_macros() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> src/deref_trait_1.rs:60:22 [INFO] [stdout] | [INFO] [stdout] 60 | assert_eq!(5, *(y.deref())); [INFO] [stdout] | ^^^^^^^^^ unnecessary method call [INFO] [stdout] | [INFO] [stdout] = note: the type `i32` does not implement `Deref`, so calling `deref` on `&i32` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[deny(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 201 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rust_course` (bin "rust_course" test) due to 2 previous errors; 201 warnings emitted [INFO] running `Command { std: "docker" "inspect" "be34e04d8768c1d5e842cefe8dfb961a0f1e462b06021718a6c2d2fa712c790b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "be34e04d8768c1d5e842cefe8dfb961a0f1e462b06021718a6c2d2fa712c790b", kill_on_drop: false }` [INFO] [stdout] be34e04d8768c1d5e842cefe8dfb961a0f1e462b06021718a6c2d2fa712c790b