[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] 3a32dc949e0218e3f054de648d3e9fa8b3221023 [INFO] testing Milo-Shen/Rust-Course against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMilo-Shen%2FRust-Course" "/workspace/builds/worker-7/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Milo-Shen/Rust-Course on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "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-7/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: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 05a9ab08a9f31ea5ec825933ceef00650f15c07b37030131e620a2b63aea2f78 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "05a9ab08a9f31ea5ec825933ceef00650f15c07b37030131e620a2b63aea2f78", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "05a9ab08a9f31ea5ec825933ceef00650f15c07b37030131e620a2b63aea2f78", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "05a9ab08a9f31ea5ec825933ceef00650f15c07b37030131e620a2b63aea2f78", kill_on_drop: false }` [INFO] [stdout] 05a9ab08a9f31ea5ec825933ceef00650f15c07b37030131e620a2b63aea2f78 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] d2308967926397fcab00903f179f43ceaeaf2525c21075b5e38ce79b37438f48 [INFO] running `Command { std: "docker" "start" "-a" "d2308967926397fcab00903f179f43ceaeaf2525c21075b5e38ce79b37438f48", kill_on_drop: false }` [INFO] [stderr] Compiling 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 variable: `post` [INFO] [stdout] --> src/lib.rs:181:27 [INFO] [stdout] | [INFO] [stdout] 181 | 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:317:16 [INFO] [stdout] | [INFO] [stdout] 317 | 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:317:34 [INFO] [stdout] | [INFO] [stdout] 317 | 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 is never read: `content` [INFO] [stdout] --> src/lib.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | content: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fix_order` [INFO] [stdout] --> src/front_of_house.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn fix_order() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `seasonal_fruit` [INFO] [stdout] --> src/lib.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Appetizer` [INFO] [stdout] --> src/lib.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 15 | 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:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Result as IoResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `self` [INFO] [stdout] --> src/main.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, Write}; [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: 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: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `array_c` [INFO] [stdout] --> src/variables.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | let mut array_c = [1, 2]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_array_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` 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] [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: `black` [INFO] [stdout] --> src/structs.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | 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:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | 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:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | 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: 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: `scores` [INFO] [stdout] --> src/hashmap.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let scores: HashMap<_, _> = teams.iter().zip(initial_scores.iter()).collect(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scores` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inserted_yellow` [INFO] [stdout] --> src/hashmap.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let inserted_yellow = scores.entry(String::from("Yellow")).or_insert(50); [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:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | 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: `s` [INFO] [stdout] --> src/string.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | 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:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | 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:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | 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: `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:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | 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:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | 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: `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: `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: `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: 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: 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: `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: 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: variable does not need to be mutable [INFO] [stdout] --> src/variables.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | 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: variable does not need to be mutable [INFO] [stdout] --> src/structs.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | let mut another_react = &mut rect; [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:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | 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:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | 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:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | 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: 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: 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: 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: 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] = note: `#[warn(private_in_public)]` on by default [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: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 is never used: `fix_order` [INFO] [stdout] --> src/front_of_house.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn fix_order() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `VERSION` [INFO] [stdout] --> src/variables.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | const VERSION: &str = "1.0.0"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `age` [INFO] [stdout] --> src/structs.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | age: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `UnitLikeStruct` [INFO] [stdout] --> src/structs.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | struct UnitLikeStruct {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `IpAddress` [INFO] [stdout] --> src/enums.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | struct IpAddress { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quit` [INFO] [stdout] --> src/enums.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | Quit, [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] --> src/enums.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Write` [INFO] [stdout] --> src/enums.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | Write(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/enums.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ChangeColor` [INFO] [stdout] --> src/enums.rs:52:9 [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] --> src/enums.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Shanghai` [INFO] [stdout] --> src/match_syntax.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | Shanghai, [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] --> src/match_syntax.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Penny` [INFO] [stdout] --> src/match_syntax.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | Penny, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Nickel` [INFO] [stdout] --> src/match_syntax.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | Nickel, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Dime` [INFO] [stdout] --> src/match_syntax.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | Dime, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quarter` [INFO] [stdout] --> src/match_syntax.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | Quarter, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `plus_one` [INFO] [stdout] --> src/match_syntax.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | fn plus_one(x: Option) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Black` [INFO] [stdout] --> src/match_syntax.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | Black, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `location` [INFO] [stdout] --> src/learning_trait.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | location: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `reply` [INFO] [stdout] --> src/learning_trait.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | reply: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `retweet` [INFO] [stdout] --> src/learning_trait.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | retweet: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `notify_impl_display` [INFO] [stdout] --> src/learning_trait.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn notify_impl_display(item: &(impl Summary + Display)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `notify_bound_display` [INFO] [stdout] --> src/learning_trait.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn notify_bound_display(item: &T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `notify_bound_without_where` [INFO] [stdout] --> src/learning_trait.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn notify_bound_without_where(a: T, b: U) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `notify_bound_with_where` [INFO] [stdout] --> src/learning_trait.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn notify_bound_with_where(a: T, b: U) -> String [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/learning_trait.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 189 | fn new(x: T, y: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `longest_1` [INFO] [stdout] --> src/lifecycle_3.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | fn longest_1<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `longest_2` [INFO] [stdout] --> src/lifecycle_3.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | fn longest_2<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `longest_3` [INFO] [stdout] --> src/lifecycle_3.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | fn longest_3(x: &str, y: &str) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `ImportantExcerpt` [INFO] [stdout] --> src/lifecycle_4.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | struct ImportantExcerpt<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `level` [INFO] [stdout] --> src/lifecycle_4.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | fn level(&self) -> i32 { 1 } [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `announce` [INFO] [stdout] --> src/lifecycle_4.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | fn announce(&self, announcement: &str) -> &str { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_two` [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 is never used: `internal_adder` [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: struct is never constructed: `Config` [INFO] [stdout] --> src/iterator_5.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/iterator_5.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(args: &[String]) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_iterator` [INFO] [stdout] --> src/iterator_5.rs:38:16 [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 is never used: `run` [INFO] [stdout] --> src/iterator_5.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn run(config: Config) -> Result<(), Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search` [INFO] [stdout] --> src/iterator_5.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn search<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search_iterator` [INFO] [stdout] --> src/iterator_5.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn search_iterator<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search_case_insensitive` [INFO] [stdout] --> src/iterator_5.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn search_case_insensitive<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search_case_insensitive_iterator` [INFO] [stdout] --> src/iterator_5.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn search_case_insensitive_iterator<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Message` [INFO] [stdout] --> src/smart_pointer_box.rs:48:10 [INFO] [stdout] | [INFO] [stdout] 48 | enum Message { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `LimitTracker` [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 function is never used: `new` [INFO] [stdout] --> src/refcell.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(messenger: &T, max: usize) -> LimitTracker { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_value` [INFO] [stdout] --> src/refcell.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn set_value(&mut self, value: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `value` [INFO] [stdout] --> src/memory_leak.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | value: i32, [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] --> src/memory_leak.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `children` [INFO] [stdout] --> src/memory_leak.rs:75:9 [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] --> src/memory_leak.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `width` [INFO] [stdout] --> src/oop_2.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | width: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `height` [INFO] [stdout] --> src/oop_2.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | height: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `options` [INFO] [stdout] --> src/oop_2.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | options: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `foo` [INFO] [stdout] --> src/pattern_matching_1.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | fn foo(x: i32) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quit` [INFO] [stdout] --> src/pattern_matching_3.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | Quit, [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] --> src/pattern_matching_3.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Move` [INFO] [stdout] --> src/pattern_matching_3.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | Move { x: i32, y: 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] --> src/pattern_matching_3.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Write` [INFO] [stdout] --> src/pattern_matching_3.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | Write(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/pattern_matching_3.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `HSV` [INFO] [stdout] --> src/pattern_matching_3.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | HSV(i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `RATIO` [INFO] [stdout] --> src/unsafe_rust.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | static RATIO: f64 = 3.14; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `PI` [INFO] [stdout] --> src/unsafe_rust.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | static mut PI: f64 = 3.14; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `split_at_mut` [INFO] [stdout] --> src/unsafe_rust.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | fn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `takes_long_type` [INFO] [stdout] --> src/advanced_type.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | fn takes_long_type(f: Thunk) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `returns_long_type` [INFO] [stdout] --> src/advanced_type.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | fn returns_long_type() -> Thunk { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `generic` [INFO] [stdout] --> src/advanced_type.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | fn generic(t: T) {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Stop` [INFO] [stdout] --> src/advanced_function.rs:39:9 [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] --> src/advanced_function.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `returns_closure` [INFO] [stdout] --> src/advanced_function.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | fn returns_closure() -> Box i32> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_to_wait_list` [INFO] [stdout] --> src/front_of_house/hosting.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn add_to_wait_list() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `hello` [INFO] [stdout] --> src/front_of_house/hosting.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn hello() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 151 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 5.50s [INFO] running `Command { std: "docker" "inspect" "d2308967926397fcab00903f179f43ceaeaf2525c21075b5e38ce79b37438f48", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2308967926397fcab00903f179f43ceaeaf2525c21075b5e38ce79b37438f48", kill_on_drop: false }` [INFO] [stdout] d2308967926397fcab00903f179f43ceaeaf2525c21075b5e38ce79b37438f48 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 9aecfbd7958feae575846cbf53a1c656c5326579239b885c00c6fdb34251d737 [INFO] running `Command { std: "docker" "start" "-a" "9aecfbd7958feae575846cbf53a1c656c5326579239b885c00c6fdb34251d737", kill_on_drop: false }` [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] [stderr] Compiling rust_course v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `post` [INFO] [stdout] --> src/lib.rs:181:27 [INFO] [stdout] | [INFO] [stdout] 181 | 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:317:16 [INFO] [stdout] | [INFO] [stdout] 317 | 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:317:34 [INFO] [stdout] | [INFO] [stdout] 317 | 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 is never read: `content` [INFO] [stdout] --> src/lib.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | content: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fix_order` [INFO] [stdout] --> src/front_of_house.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn fix_order() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `seasonal_fruit` [INFO] [stdout] --> src/lib.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Appetizer` [INFO] [stdout] --> src/lib.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 15 | 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:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Result as IoResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `self` [INFO] [stdout] --> src/main.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, Write}; [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: 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: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `array_c` [INFO] [stdout] --> src/variables.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | let mut array_c = [1, 2]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_array_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` 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] [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: `black` [INFO] [stdout] --> src/structs.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | 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:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | 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:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | 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: 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: `scores` [INFO] [stdout] --> src/hashmap.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let scores: HashMap<_, _> = teams.iter().zip(initial_scores.iter()).collect(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scores` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inserted_yellow` [INFO] [stdout] --> src/hashmap.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let inserted_yellow = scores.entry(String::from("Yellow")).or_insert(50); [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:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | 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: `s` [INFO] [stdout] --> src/string.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | 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:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | 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:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | 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: `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:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | 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:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | 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: `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: `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: `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: 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: 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: `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: 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: variable does not need to be mutable [INFO] [stdout] --> src/variables.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | 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: variable does not need to be mutable [INFO] [stdout] --> src/structs.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | let mut another_react = &mut rect; [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:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | 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:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | 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:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | 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: 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: 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: 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: 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] = note: `#[warn(private_in_public)]` on by default [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: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 is never used: `fix_order` [INFO] [stdout] --> src/front_of_house.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn fix_order() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `VERSION` [INFO] [stdout] --> src/variables.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | const VERSION: &str = "1.0.0"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `age` [INFO] [stdout] --> src/structs.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | age: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `UnitLikeStruct` [INFO] [stdout] --> src/structs.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | struct UnitLikeStruct {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `IpAddress` [INFO] [stdout] --> src/enums.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | struct IpAddress { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quit` [INFO] [stdout] --> src/enums.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | Quit, [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] --> src/enums.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Write` [INFO] [stdout] --> src/enums.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | Write(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/enums.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ChangeColor` [INFO] [stdout] --> src/enums.rs:52:9 [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] --> src/enums.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Shanghai` [INFO] [stdout] --> src/match_syntax.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | Shanghai, [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] --> src/match_syntax.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Penny` [INFO] [stdout] --> src/match_syntax.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | Penny, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Nickel` [INFO] [stdout] --> src/match_syntax.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | Nickel, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Dime` [INFO] [stdout] --> src/match_syntax.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | Dime, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quarter` [INFO] [stdout] --> src/match_syntax.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | Quarter, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `plus_one` [INFO] [stdout] --> src/match_syntax.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | fn plus_one(x: Option) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Black` [INFO] [stdout] --> src/match_syntax.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | Black, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `location` [INFO] [stdout] --> src/learning_trait.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | location: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `reply` [INFO] [stdout] --> src/learning_trait.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | reply: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `retweet` [INFO] [stdout] --> src/learning_trait.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | retweet: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `notify_impl_display` [INFO] [stdout] --> src/learning_trait.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn notify_impl_display(item: &(impl Summary + Display)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `notify_bound_display` [INFO] [stdout] --> src/learning_trait.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn notify_bound_display(item: &T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `notify_bound_without_where` [INFO] [stdout] --> src/learning_trait.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn notify_bound_without_where(a: T, b: U) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `notify_bound_with_where` [INFO] [stdout] --> src/learning_trait.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn notify_bound_with_where(a: T, b: U) -> String [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/learning_trait.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 189 | fn new(x: T, y: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `longest_1` [INFO] [stdout] --> src/lifecycle_3.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | fn longest_1<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `longest_2` [INFO] [stdout] --> src/lifecycle_3.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | fn longest_2<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `longest_3` [INFO] [stdout] --> src/lifecycle_3.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | fn longest_3(x: &str, y: &str) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `ImportantExcerpt` [INFO] [stdout] --> src/lifecycle_4.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | struct ImportantExcerpt<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `level` [INFO] [stdout] --> src/lifecycle_4.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | fn level(&self) -> i32 { 1 } [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `announce` [INFO] [stdout] --> src/lifecycle_4.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | fn announce(&self, announcement: &str) -> &str { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_two` [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 is never used: `internal_adder` [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: struct is never constructed: `Config` [INFO] [stdout] --> src/iterator_5.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/iterator_5.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(args: &[String]) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_iterator` [INFO] [stdout] --> src/iterator_5.rs:38:16 [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 is never used: `run` [INFO] [stdout] --> src/iterator_5.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn run(config: Config) -> Result<(), Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search` [INFO] [stdout] --> src/iterator_5.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn search<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search_iterator` [INFO] [stdout] --> src/iterator_5.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn search_iterator<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search_case_insensitive` [INFO] [stdout] --> src/iterator_5.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn search_case_insensitive<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search_case_insensitive_iterator` [INFO] [stdout] --> src/iterator_5.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn search_case_insensitive_iterator<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Message` [INFO] [stdout] --> src/smart_pointer_box.rs:48:10 [INFO] [stdout] | [INFO] [stdout] 48 | enum Message { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `LimitTracker` [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 function is never used: `new` [INFO] [stdout] --> src/refcell.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(messenger: &T, max: usize) -> LimitTracker { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_value` [INFO] [stdout] --> src/refcell.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn set_value(&mut self, value: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `value` [INFO] [stdout] --> src/memory_leak.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | value: i32, [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] --> src/memory_leak.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `children` [INFO] [stdout] --> src/memory_leak.rs:75:9 [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] --> src/memory_leak.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `width` [INFO] [stdout] --> src/oop_2.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | width: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `height` [INFO] [stdout] --> src/oop_2.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | height: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `options` [INFO] [stdout] --> src/oop_2.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | options: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `foo` [INFO] [stdout] --> src/pattern_matching_1.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | fn foo(x: i32) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quit` [INFO] [stdout] --> src/pattern_matching_3.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | Quit, [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] --> src/pattern_matching_3.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Move` [INFO] [stdout] --> src/pattern_matching_3.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | Move { x: i32, y: 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] --> src/pattern_matching_3.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Write` [INFO] [stdout] --> src/pattern_matching_3.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | Write(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/pattern_matching_3.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `HSV` [INFO] [stdout] --> src/pattern_matching_3.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | HSV(i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `RATIO` [INFO] [stdout] --> src/unsafe_rust.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | static RATIO: f64 = 3.14; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `PI` [INFO] [stdout] --> src/unsafe_rust.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | static mut PI: f64 = 3.14; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `split_at_mut` [INFO] [stdout] --> src/unsafe_rust.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | fn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `takes_long_type` [INFO] [stdout] --> src/advanced_type.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | fn takes_long_type(f: Thunk) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `returns_long_type` [INFO] [stdout] --> src/advanced_type.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | fn returns_long_type() -> Thunk { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `generic` [INFO] [stdout] --> src/advanced_type.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | fn generic(t: T) {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Stop` [INFO] [stdout] --> src/advanced_function.rs:39:9 [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] --> src/advanced_function.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `returns_closure` [INFO] [stdout] --> src/advanced_function.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | fn returns_closure() -> Box i32> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_to_wait_list` [INFO] [stdout] --> src/front_of_house/hosting.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn add_to_wait_list() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `hello` [INFO] [stdout] --> src/front_of_house/hosting.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn hello() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 151 warnings emitted [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 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:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Result as IoResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `self` [INFO] [stdout] --> src/main.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, Write}; [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 variable: `post` [INFO] [stdout] --> src/lib.rs:181:27 [INFO] [stdout] | [INFO] [stdout] 181 | 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:317:16 [INFO] [stdout] | [INFO] [stdout] 317 | 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:317:34 [INFO] [stdout] | [INFO] [stdout] 317 | 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 is never read: `content` [INFO] [stdout] --> src/lib.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | content: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fix_order` [INFO] [stdout] --> src/front_of_house.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn fix_order() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `seasonal_fruit` [INFO] [stdout] --> src/lib.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Appetizer` [INFO] [stdout] --> src/lib.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum Appetizer { [INFO] [stdout] | ^^^^^^^^^ [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: 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: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `array_c` [INFO] [stdout] --> src/variables.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | let mut array_c = [1, 2]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_array_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` 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] [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: `black` [INFO] [stdout] --> src/structs.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | 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:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | 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:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | 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: 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: `scores` [INFO] [stdout] --> src/hashmap.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let scores: HashMap<_, _> = teams.iter().zip(initial_scores.iter()).collect(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scores` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inserted_yellow` [INFO] [stdout] --> src/hashmap.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let inserted_yellow = scores.entry(String::from("Yellow")).or_insert(50); [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:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | 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: `s` [INFO] [stdout] --> src/string.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | 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:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | 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:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | 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: `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:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | 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:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | 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: `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: `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: `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: 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: 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: `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: 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: variable does not need to be mutable [INFO] [stdout] --> src/variables.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | 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: variable does not need to be mutable [INFO] [stdout] --> src/structs.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | let mut another_react = &mut rect; [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:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | 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:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | 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:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | 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: 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: 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: 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: 8 warnings emitted [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] = note: `#[warn(private_in_public)]` on by default [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: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 is never used: `fix_order` [INFO] [stdout] --> src/front_of_house.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn fix_order() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `VERSION` [INFO] [stdout] --> src/variables.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | const VERSION: &str = "1.0.0"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `age` [INFO] [stdout] --> src/structs.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | age: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `UnitLikeStruct` [INFO] [stdout] --> src/structs.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | struct UnitLikeStruct {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `IpAddress` [INFO] [stdout] --> src/enums.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | struct IpAddress { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quit` [INFO] [stdout] --> src/enums.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | Quit, [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] --> src/enums.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Write` [INFO] [stdout] --> src/enums.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | Write(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/enums.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ChangeColor` [INFO] [stdout] --> src/enums.rs:52:9 [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] --> src/enums.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Shanghai` [INFO] [stdout] --> src/match_syntax.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | Shanghai, [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] --> src/match_syntax.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Penny` [INFO] [stdout] --> src/match_syntax.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | Penny, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Nickel` [INFO] [stdout] --> src/match_syntax.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | Nickel, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Dime` [INFO] [stdout] --> src/match_syntax.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | Dime, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quarter` [INFO] [stdout] --> src/match_syntax.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | Quarter, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `plus_one` [INFO] [stdout] --> src/match_syntax.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | fn plus_one(x: Option) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Black` [INFO] [stdout] --> src/match_syntax.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | Black, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `location` [INFO] [stdout] --> src/learning_trait.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | location: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `reply` [INFO] [stdout] --> src/learning_trait.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | reply: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `retweet` [INFO] [stdout] --> src/learning_trait.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | retweet: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `notify_impl_display` [INFO] [stdout] --> src/learning_trait.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn notify_impl_display(item: &(impl Summary + Display)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `notify_bound_display` [INFO] [stdout] --> src/learning_trait.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn notify_bound_display(item: &T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `notify_bound_without_where` [INFO] [stdout] --> src/learning_trait.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn notify_bound_without_where(a: T, b: U) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `notify_bound_with_where` [INFO] [stdout] --> src/learning_trait.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn notify_bound_with_where(a: T, b: U) -> String [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/learning_trait.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 189 | fn new(x: T, y: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `longest_1` [INFO] [stdout] --> src/lifecycle_3.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | fn longest_1<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `longest_2` [INFO] [stdout] --> src/lifecycle_3.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | fn longest_2<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `longest_3` [INFO] [stdout] --> src/lifecycle_3.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | fn longest_3(x: &str, y: &str) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `ImportantExcerpt` [INFO] [stdout] --> src/lifecycle_4.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | struct ImportantExcerpt<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `level` [INFO] [stdout] --> src/lifecycle_4.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | fn level(&self) -> i32 { 1 } [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `announce` [INFO] [stdout] --> src/lifecycle_4.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | fn announce(&self, announcement: &str) -> &str { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_two` [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: struct is never constructed: `Config` [INFO] [stdout] --> src/iterator_5.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/iterator_5.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(args: &[String]) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_iterator` [INFO] [stdout] --> src/iterator_5.rs:38:16 [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 is never used: `run` [INFO] [stdout] --> src/iterator_5.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn run(config: Config) -> Result<(), Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search` [INFO] [stdout] --> src/iterator_5.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn search<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search_iterator` [INFO] [stdout] --> src/iterator_5.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn search_iterator<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search_case_insensitive` [INFO] [stdout] --> src/iterator_5.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn search_case_insensitive<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search_case_insensitive_iterator` [INFO] [stdout] --> src/iterator_5.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn search_case_insensitive_iterator<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Message` [INFO] [stdout] --> src/smart_pointer_box.rs:48:10 [INFO] [stdout] | [INFO] [stdout] 48 | enum Message { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `value` [INFO] [stdout] --> src/memory_leak.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | value: i32, [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] --> src/memory_leak.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `children` [INFO] [stdout] --> src/memory_leak.rs:75:9 [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] --> src/memory_leak.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `width` [INFO] [stdout] --> src/oop_2.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | width: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `height` [INFO] [stdout] --> src/oop_2.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | height: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `options` [INFO] [stdout] --> src/oop_2.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | options: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `foo` [INFO] [stdout] --> src/pattern_matching_1.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | fn foo(x: i32) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quit` [INFO] [stdout] --> src/pattern_matching_3.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | Quit, [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] --> src/pattern_matching_3.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Move` [INFO] [stdout] --> src/pattern_matching_3.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | Move { x: i32, y: 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] --> src/pattern_matching_3.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Write` [INFO] [stdout] --> src/pattern_matching_3.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | Write(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/pattern_matching_3.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `HSV` [INFO] [stdout] --> src/pattern_matching_3.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | HSV(i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `RATIO` [INFO] [stdout] --> src/unsafe_rust.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | static RATIO: f64 = 3.14; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `PI` [INFO] [stdout] --> src/unsafe_rust.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | static mut PI: f64 = 3.14; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `split_at_mut` [INFO] [stdout] --> src/unsafe_rust.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | fn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `takes_long_type` [INFO] [stdout] --> src/advanced_type.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | fn takes_long_type(f: Thunk) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `returns_long_type` [INFO] [stdout] --> src/advanced_type.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | fn returns_long_type() -> Thunk { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `generic` [INFO] [stdout] --> src/advanced_type.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | fn generic(t: T) {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Stop` [INFO] [stdout] --> src/advanced_function.rs:39:9 [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] --> src/advanced_function.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `returns_closure` [INFO] [stdout] --> src/advanced_function.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | fn returns_closure() -> Box i32> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_to_wait_list` [INFO] [stdout] --> src/front_of_house/hosting.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn add_to_wait_list() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `hello` [INFO] [stdout] --> src/front_of_house/hosting.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn hello() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 148 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 4.15s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_course-03d698489d95cd26) [INFO] [stderr] Executable unittests src/main.rs (/opt/rustwide/target/debug/deps/rust_course-e0771686c8227ce9) [INFO] [stderr] Executable tests/another_integration_test.rs (/opt/rustwide/target/debug/deps/another_integration_test-ce7d685f09be7943) [INFO] [stderr] Executable tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-be2eba92b7e5e23b) [INFO] running `Command { std: "docker" "inspect" "9aecfbd7958feae575846cbf53a1c656c5326579239b885c00c6fdb34251d737", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9aecfbd7958feae575846cbf53a1c656c5326579239b885c00c6fdb34251d737", kill_on_drop: false }` [INFO] [stdout] 9aecfbd7958feae575846cbf53a1c656c5326579239b885c00c6fdb34251d737 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] cd67ba99e3374c2bf4f8e22d59e3a745bcfe000b174e90ce67e5ab8f8535cc0b [INFO] running `Command { std: "docker" "start" "-a" "cd67ba99e3374c2bf4f8e22d59e3a745bcfe000b174e90ce67e5ab8f8535cc0b", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `process` [INFO] [stderr] --> src/lib.rs:1:20 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{fs, env, process}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `post` [INFO] [stderr] --> src/lib.rs:181:27 [INFO] [stderr] | [INFO] [stderr] 181 | fn content<'a>(&self, post: &'a Post) -> &'a str { "" } [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_post` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c1` [INFO] [stderr] --> src/lib.rs:317:16 [INFO] [stderr] | [INFO] [stderr] 317 | pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_c1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c2` [INFO] [stderr] --> src/lib.rs:317:34 [INFO] [stderr] | [INFO] [stderr] 317 | pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_c2` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `content` [INFO] [stderr] --> src/lib.rs:225:5 [INFO] [stderr] | [INFO] [stderr] 225 | content: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fix_order` [INFO] [stderr] --> src/front_of_house.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn fix_order() { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `seasonal_fruit` [INFO] [stderr] --> src/lib.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | seasonal_fruit: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Appetizer` [INFO] [stderr] --> src/lib.rs:15:14 [INFO] [stderr] | [INFO] [stderr] 15 | pub enum Appetizer { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rust_course` (lib) generated 8 warnings [INFO] [stderr] warning: `rust_course` (lib test) generated 8 warnings (8 duplicates) [INFO] [stderr] warning: unused import: `std::fmt::Result` [INFO] [stderr] --> src/main.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Result as IoResult` [INFO] [stderr] --> src/main.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::Result as IoResult; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Write`, `self` [INFO] [stderr] --> src/main.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{self, Write}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/result.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `fs` [INFO] [stderr] --> src/example_grep.rs:1:11 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{fs, process}; [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f32::consts::E` [INFO] [stderr] --> src/iterator_5.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::f32::consts::E; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Ref` [INFO] [stderr] --> src/memory_leak.rs:2:17 [INFO] [stderr] | [INFO] [stderr] 2 | use std::cell::{Ref, RefCell}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread::JoinHandle` [INFO] [stderr] --> src/threads_1.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::thread::JoinHandle; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `write` [INFO] [stderr] --> src/advanced_trait.rs:3:36 [INFO] [stderr] | [INFO] [stderr] 3 | use std::fmt::{Display, Formatter, write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::process::Output` [INFO] [stderr] --> src/advanced_trait.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::process::Output; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::Borrow` [INFO] [stderr] --> src/refcell.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | use std::borrow::Borrow; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: irrefutable `if let` pattern [INFO] [stderr] --> src/pattern_matching_2.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 25 | if let x = 50 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stderr] = note: this pattern will always match, so the `if let` is useless [INFO] [stderr] = help: consider replacing the `if let` with a `let` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `array_c` [INFO] [stderr] --> src/variables.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | let mut array_c = [1, 2]; [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_array_c` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `empty_result` [INFO] [stderr] --> src/functions.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let empty_result = empty_function(); [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_empty_result` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `another_str` [INFO] [stderr] --> src/ownership.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let another_str = name.clone(); [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_another_str` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `black` [INFO] [stderr] --> src/structs.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let black: Color = Color(0, 0, 0); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_black` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `yellow` [INFO] [stderr] --> src/structs.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | let yellow: Color = Color(1, 1, 1); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_yellow` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `point` [INFO] [stderr] --> src/structs.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | let point: Point = Point(1.0, 1.0, 1.0); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `myv4` [INFO] [stderr] --> src/enums.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | let myv4 = IpAddKind::V4; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_myv4` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `home` [INFO] [stderr] --> src/enums.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | let home = IpAddressKind::V4(127, 0, 0, 1); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_home` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `home_another` [INFO] [stderr] --> src/enums.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | let home_another = IpAddressKind::V4(127, 0, 0, 2); [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_home_another` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `some_number` [INFO] [stderr] --> src/enums.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | let some_number = Some(5); [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_number` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `some_string` [INFO] [stderr] --> src/enums.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | let some_string = Some("A String"); [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_string` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `absent_number` [INFO] [stderr] --> src/enums.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let absent_number: Option = None; [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_absent_number` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_kind` [INFO] [stderr] --> src/enums.rs:16:14 [INFO] [stderr] | [INFO] [stderr] 16 | fn route(ip_kind: IpAddKind) {} [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_kind` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scores` [INFO] [stderr] --> src/hashmap.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | let scores: HashMap<_, _> = teams.iter().zip(initial_scores.iter()).collect(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scores` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `inserted_yellow` [INFO] [stderr] --> src/hashmap.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | let inserted_yellow = scores.entry(String::from("Yellow")).or_insert(50); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_yellow` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `inserted_blue` [INFO] [stderr] --> src/hashmap.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | let inserted_blue = scores.entry(String::from("Blue")).or_insert(50); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_blue` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/string.rs:7:13 [INFO] [stderr] | [INFO] [stderr] 7 | let mut s = "Hello String".to_string(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/string.rs:8:13 [INFO] [stderr] | [INFO] [stderr] 8 | let mut s = String::from("Hello String"); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/string.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | let s = String::from("Hello World"); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/vector.rs:5:9 [INFO] [stderr] | [INFO] [stderr] 5 | let v: Vec = Vec::new(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/vector.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | let v = vec![1, 2, 3]; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `arr` [INFO] [stderr] --> src/panic.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | let arr = vec![1, 2, 3]; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_arr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/result.rs:18:20 [INFO] [stderr] | [INFO] [stderr] 18 | Result::Ok(data) => println!("open file success"), [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/result.rs:19:21 [INFO] [stderr] | [INFO] [stderr] 19 | Result::Err(err) => println!("open file failed"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `file` [INFO] [stderr] --> src/result.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let file = match f { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/result.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | let f = File::open("./assets/Jack.txt").unwrap_or_else(|error| { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/result.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | let f = File::open("./assets/hello.txt").unwrap(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/learning_trait.rs:176:9 [INFO] [stderr] | [INFO] [stderr] 176 | let b = &a; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/learning_trait.rs:109:85 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn notify_bound_without_where(a: T, b: U) -> String { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/learning_trait.rs:113:48 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn notify_bound_with_where(a: T, b: U) -> String [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r` [INFO] [stderr] --> src/lifecycle_1.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | let r: i32; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/lifecycle_1.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | let x = 5; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `string_1` [INFO] [stderr] --> src/lifecycle_2.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | let string_1 = String::from("Hello World"); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `string_2` [INFO] [stderr] --> src/lifecycle_2.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | let string_2 = String::from("Jack"); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/lifecycle_3.rs:8:34 [INFO] [stderr] | [INFO] [stderr] 8 | fn longest_1<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/lifecycle_3.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | let result = String::from("悬垂引用"); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/lifecycle_3.rs:15:34 [INFO] [stderr] | [INFO] [stderr] 15 | fn longest_2<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/lifecycle_3.rs:24:18 [INFO] [stderr] | [INFO] [stderr] 24 | fn longest_3(x: &str, y: &str) -> String { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/lifecycle_3.rs:24:27 [INFO] [stderr] | [INFO] [stderr] 24 | fn longest_3(x: &str, y: &str) -> String { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/lifecycle_4.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | let s: &'static str = "I have a static lifetime"; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/closure_1.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | let s = example_closure("Hello Closure"); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/closure_2.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | let x = vec![1, 2, 3]; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `equal_to_str` [INFO] [stderr] --> src/closure_2.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | let equal_to_str = move |z: String| z == string_1; [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_equal_to_str` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v2_iter_first` [INFO] [stderr] --> src/iterator_1.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | let v2_iter_first = v2_iter.next().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v2_iter_first` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/drop_trait.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | let a = CustomSmartPointer { data: String::from("my stuff") }; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/drop_trait.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | let b = CustomSmartPointer { data: String::from("other stuff") }; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `d` [INFO] [stderr] --> src/drop_trait.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | let d = CustomSmartPointer { data: String::from("other stuff drop") }; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/rc.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | let a = Cons(1, Rc::clone(&list)); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/rc.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let b = Cons(2, Rc::clone(&list)); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/rc.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | let c = Cons(3, Rc::clone(&list)); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/refcell.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | let x = 5; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r` [INFO] [stderr] --> src/unsafe_rust.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | let r = address as *const i32; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/unsafe_rust.rs:141:10 [INFO] [stderr] | [INFO] [stderr] 141 | let (a, b) = r.split_at_mut(3); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/unsafe_rust.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | let (a, b) = r.split_at_mut(3); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/advanced_type.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | let f: Box = Box::new(|| println!("hello world")); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/advanced_type.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | let f: Thunk = Box::new(|| println!("hello world")); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/advanced_type.rs:26:25 [INFO] [stderr] | [INFO] [stderr] 26 | fn _takes_long_type(f: Box) {} [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/advanced_type.rs:35:24 [INFO] [stderr] | [INFO] [stderr] 35 | fn takes_long_type(f: Thunk) {} [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/advanced_type.rs:121:19 [INFO] [stderr] | [INFO] [stderr] 121 | fn generic(t: T) {} [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/advanced_type.rs:127:28 [INFO] [stderr] | [INFO] [stderr] 127 | fn _generic(t: &T) {} [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/advanced_function.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | let v = Status::Value(3); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/variables.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | let mut array_c = [1, 2]; [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/structs.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | let mut another_react = &mut rect; [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/string.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | let mut s = "Hello String".to_string(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/string.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | let mut s = String::from("Hello String"); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/string.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | let mut string_1: String = " I am a string ".to_string(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lifecycle_2.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let mut result: &str = "string_2: borrowed value does not live long enough"; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/closure_2.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | let mut string_1 = String::from("FnOnce"); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/closure_2.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | let mut string_1 = String::from("FnOnce"); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/iterator_1.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | let mut v4 = vec!["1".to_string(), "2".to_string(), "3".to_string()]; [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: private trait `learning_trait::Summary` in public interface (error E0445) [INFO] [stderr] --> src/learning_trait.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn notify_impl(item: &impl Summary) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(private_in_public)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private trait `learning_trait::Summary` in public interface (error E0445) [INFO] [stderr] --> src/learning_trait.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn notify_bound(item: &T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private trait `learning_trait::Summary` in public interface (error E0445) [INFO] [stderr] --> src/learning_trait.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | pub fn notify_impl_display(item: &(impl Summary + Display)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private trait `learning_trait::Summary` in public interface (error E0445) [INFO] [stderr] --> src/learning_trait.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn notify_bound_display(item: &T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private trait `learning_trait::Summary` in public interface (error E0445) [INFO] [stderr] --> src/learning_trait.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn notify_bound_without_where(a: T, b: U) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private trait `learning_trait::Summary` in public interface (error E0445) [INFO] [stderr] --> src/learning_trait.rs:113:5 [INFO] [stderr] | [INFO] [stderr] 113 | / pub fn notify_bound_with_where(a: T, b: U) -> String [INFO] [stderr] 114 | | where [INFO] [stderr] 115 | | T: Summary + Display, [INFO] [stderr] 116 | | U: Clone + Debug { [INFO] [stderr] | |____________________________^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private trait `learning_trait::Summary` in public interface (error E0445) [INFO] [stderr] --> src/learning_trait.rs:122:5 [INFO] [stderr] | [INFO] [stderr] 122 | pub fn return_trait_impl() -> impl Summary { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fix_order` [INFO] [stderr] --> src/front_of_house.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn fix_order() { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `VERSION` [INFO] [stderr] --> src/variables.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | const VERSION: &str = "1.0.0"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `age` [INFO] [stderr] --> src/structs.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 6 | age: u8, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `UnitLikeStruct` [INFO] [stderr] --> src/structs.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 34 | struct UnitLikeStruct {} [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `IpAddress` [INFO] [stderr] --> src/enums.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | struct IpAddress { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Quit` [INFO] [stderr] --> src/enums.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | Quit, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/enums.rs:47:14 [INFO] [stderr] | [INFO] [stderr] 47 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Write` [INFO] [stderr] --> src/enums.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | Write(String), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/enums.rs:47:14 [INFO] [stderr] | [INFO] [stderr] 47 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ChangeColor` [INFO] [stderr] --> src/enums.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | ChangeColor(i32, i32, i32), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/enums.rs:47:14 [INFO] [stderr] | [INFO] [stderr] 47 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Shanghai` [INFO] [stderr] --> src/match_syntax.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | Shanghai, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `China` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/match_syntax.rs:6:14 [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Penny` [INFO] [stderr] --> src/match_syntax.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | Penny, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Nickel` [INFO] [stderr] --> src/match_syntax.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | Nickel, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Dime` [INFO] [stderr] --> src/match_syntax.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | Dime, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Quarter` [INFO] [stderr] --> src/match_syntax.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | Quarter, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `plus_one` [INFO] [stderr] --> src/match_syntax.rs:41:8 [INFO] [stderr] | [INFO] [stderr] 41 | fn plus_one(x: Option) -> Option { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Black` [INFO] [stderr] --> src/match_syntax.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | Black, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `location` [INFO] [stderr] --> src/learning_trait.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | location: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `reply` [INFO] [stderr] --> src/learning_trait.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | reply: bool, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `retweet` [INFO] [stderr] --> src/learning_trait.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | retweet: bool, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `notify_impl_display` [INFO] [stderr] --> src/learning_trait.rs:99:12 [INFO] [stderr] | [INFO] [stderr] 99 | pub fn notify_impl_display(item: &(impl Summary + Display)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `notify_bound_display` [INFO] [stderr] --> src/learning_trait.rs:103:12 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn notify_bound_display(item: &T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `notify_bound_without_where` [INFO] [stderr] --> src/learning_trait.rs:109:12 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn notify_bound_without_where(a: T, b: U) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `notify_bound_with_where` [INFO] [stderr] --> src/learning_trait.rs:113:12 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn notify_bound_with_where(a: T, b: U) -> String [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/learning_trait.rs:189:12 [INFO] [stderr] | [INFO] [stderr] 189 | fn new(x: T, y: T) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `longest_1` [INFO] [stderr] --> src/lifecycle_3.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 8 | fn longest_1<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `longest_2` [INFO] [stderr] --> src/lifecycle_3.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | fn longest_2<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `longest_3` [INFO] [stderr] --> src/lifecycle_3.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 24 | fn longest_3(x: &str, y: &str) -> String { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ImportantExcerpt` [INFO] [stderr] --> src/lifecycle_4.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 19 | struct ImportantExcerpt<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `level` [INFO] [stderr] --> src/lifecycle_4.rs:25:12 [INFO] [stderr] | [INFO] [stderr] 25 | fn level(&self) -> i32 { 1 } [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `announce` [INFO] [stderr] --> src/lifecycle_4.rs:30:12 [INFO] [stderr] | [INFO] [stderr] 30 | fn announce(&self, announcement: &str) -> &str { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_two` [INFO] [stderr] --> src/learning_test.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn add_two(a: i32) -> i32 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Config` [INFO] [stderr] --> src/iterator_5.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | pub struct Config { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/iterator_5.rs:17:16 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn new(args: &[String]) -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new_iterator` [INFO] [stderr] --> src/iterator_5.rs:38:16 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn new_iterator(mut args: std::env::Args) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `run` [INFO] [stderr] --> src/iterator_5.rs:67:12 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn run(config: Config) -> Result<(), Box> { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `search` [INFO] [stderr] --> src/iterator_5.rs:83:12 [INFO] [stderr] | [INFO] [stderr] 83 | pub fn search<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `search_iterator` [INFO] [stderr] --> src/iterator_5.rs:94:12 [INFO] [stderr] | [INFO] [stderr] 94 | pub fn search_iterator<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `search_case_insensitive` [INFO] [stderr] --> src/iterator_5.rs:99:12 [INFO] [stderr] | [INFO] [stderr] 99 | pub fn search_case_insensitive<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `search_case_insensitive_iterator` [INFO] [stderr] --> src/iterator_5.rs:111:12 [INFO] [stderr] | [INFO] [stderr] 111 | pub fn search_case_insensitive_iterator<'a>(query: &str, content: &'a str) -> Vec<&'a str> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Message` [INFO] [stderr] --> src/smart_pointer_box.rs:48:10 [INFO] [stderr] | [INFO] [stderr] 48 | enum Message { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `value` [INFO] [stderr] --> src/memory_leak.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | value: i32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/memory_leak.rs:71:14 [INFO] [stderr] | [INFO] [stderr] 71 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `children` [INFO] [stderr] --> src/memory_leak.rs:75:9 [INFO] [stderr] | [INFO] [stderr] 75 | children: RefCell>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/memory_leak.rs:71:14 [INFO] [stderr] | [INFO] [stderr] 71 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `width` [INFO] [stderr] --> src/oop_2.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | width: u32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `height` [INFO] [stderr] --> src/oop_2.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | height: u32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `options` [INFO] [stderr] --> src/oop_2.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | options: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `foo` [INFO] [stderr] --> src/pattern_matching_1.rs:85:8 [INFO] [stderr] | [INFO] [stderr] 85 | fn foo(x: i32) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Quit` [INFO] [stderr] --> src/pattern_matching_3.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | Quit, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/pattern_matching_3.rs:68:14 [INFO] [stderr] | [INFO] [stderr] 68 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Move` [INFO] [stderr] --> src/pattern_matching_3.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | Move { x: i32, y: i32 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/pattern_matching_3.rs:68:14 [INFO] [stderr] | [INFO] [stderr] 68 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Write` [INFO] [stderr] --> src/pattern_matching_3.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | Write(String), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/pattern_matching_3.rs:68:14 [INFO] [stderr] | [INFO] [stderr] 68 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `HSV` [INFO] [stderr] --> src/pattern_matching_3.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | HSV(i32, i32, i32), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static is never used: `RATIO` [INFO] [stderr] --> src/unsafe_rust.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | static RATIO: f64 = 3.14; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static is never used: `PI` [INFO] [stderr] --> src/unsafe_rust.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | static mut PI: f64 = 3.14; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `split_at_mut` [INFO] [stderr] --> src/unsafe_rust.rs:127:8 [INFO] [stderr] | [INFO] [stderr] 127 | fn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `takes_long_type` [INFO] [stderr] --> src/advanced_type.rs:35:8 [INFO] [stderr] | [INFO] [stderr] 35 | fn takes_long_type(f: Thunk) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `returns_long_type` [INFO] [stderr] --> src/advanced_type.rs:36:8 [INFO] [stderr] | [INFO] [stderr] 36 | fn returns_long_type() -> Thunk { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `generic` [INFO] [stderr] --> src/advanced_type.rs:121:8 [INFO] [stderr] | [INFO] [stderr] 121 | fn generic(t: T) {} [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Stop` [INFO] [stderr] --> src/advanced_function.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | Stop, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Status` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/advanced_function.rs:36:14 [INFO] [stderr] | [INFO] [stderr] 36 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: function is never used: `returns_closure` [INFO] [stderr] --> src/advanced_function.rs:53:8 [INFO] [stderr] | [INFO] [stderr] 53 | fn returns_closure() -> Box i32> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_to_wait_list` [INFO] [stderr] --> src/front_of_house/hosting.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn add_to_wait_list() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `hello` [INFO] [stderr] --> src/front_of_house/hosting.rs:17:12 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn hello() { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: private trait `Summary` in public interface (error E0445) [INFO] [stderr] --> src/learning_trait.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn notify_impl(item: &impl Summary) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(private_in_public)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private trait `Summary` in public interface (error E0445) [INFO] [stderr] --> src/learning_trait.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn notify_bound(item: &T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private trait `Summary` in public interface (error E0445) [INFO] [stderr] --> src/learning_trait.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | pub fn notify_impl_display(item: &(impl Summary + Display)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private trait `Summary` in public interface (error E0445) [INFO] [stderr] --> src/learning_trait.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn notify_bound_display(item: &T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private trait `Summary` in public interface (error E0445) [INFO] [stderr] --> src/learning_trait.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn notify_bound_without_where(a: T, b: U) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private trait `Summary` in public interface (error E0445) [INFO] [stderr] --> src/learning_trait.rs:113:5 [INFO] [stderr] | [INFO] [stderr] 113 | / pub fn notify_bound_with_where(a: T, b: U) -> String [INFO] [stderr] 114 | | where [INFO] [stderr] 115 | | T: Summary + Display, [INFO] [stderr] 116 | | U: Clone + Debug { [INFO] [stderr] | |____________________________^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private trait `Summary` in public interface (error E0445) [INFO] [stderr] --> src/learning_trait.rs:122:5 [INFO] [stderr] | [INFO] [stderr] 122 | pub fn return_trait_impl() -> impl Summary { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: function is never used: `internal_adder` [INFO] [stderr] --> src/learning_test.rs:28:4 [INFO] [stderr] | [INFO] [stderr] 28 | fn internal_adder(a: i32, b: i32) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `LimitTracker` [INFO] [stderr] --> src/refcell.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct LimitTracker<'a, T: 'a + Messenger> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/refcell.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn new(messenger: &T, max: usize) -> LimitTracker { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `set_value` [INFO] [stderr] --> src/refcell.rs:26:12 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn set_value(&mut self, value: usize) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rust_course` (bin "rust_course" test) generated 148 warnings [INFO] [stderr] warning: `rust_course` (bin "rust_course") generated 151 warnings (140 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_course-03d698489d95cd26) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rust_course-e0771686c8227ce9) [INFO] [stdout] test test::case_insensitive ... ok [INFO] [stdout] test test::one_result ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test learning_test::tests::expensive_test ... ignored [INFO] [stdout] test learning_test::another_tests::it_works_another ... ok [INFO] [stdout] test learning_test::another_tests::test_private_functions ... ok [INFO] [stdout] test refcell::tests::it_sends_an_over_75_percent_warning_message ... ok [INFO] [stdout] test learning_test::tests::larger_can_hold_smaller ... ok [INFO] [stdout] test learning_test::tests::greeting_contains_name ... ok [INFO] [stdout] test iterator_1::tests::iterator_demonstration ... ok [INFO] [stdout] test learning_test::tests::it_adds_two ... ok [INFO] [stdout] test learning_test::tests::it_works ... ok [INFO] [stdout] test learning_test::tests::it_works_1 ... ok [INFO] [stdout] test learning_test::tests::greater_than_100 - should panic ... ok [INFO] [stdout] test learning_test::tests::greater_than_100_expected - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running tests/another_integration_test.rs (/opt/rustwide/target/debug/deps/another_integration_test-ce7d685f09be7943) [INFO] [stdout] running 1 test [INFO] [stderr] Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-be2eba92b7e5e23b) [INFO] [stdout] test it_really_adds_two ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test integration_test_add_two ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Doc-tests rust_course [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "cd67ba99e3374c2bf4f8e22d59e3a745bcfe000b174e90ce67e5ab8f8535cc0b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cd67ba99e3374c2bf4f8e22d59e3a745bcfe000b174e90ce67e5ab8f8535cc0b", kill_on_drop: false }` [INFO] [stdout] cd67ba99e3374c2bf4f8e22d59e3a745bcfe000b174e90ce67e5ab8f8535cc0b