[INFO] updating cached 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" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0143f8e6bb9911d9f98fb682886ca628d5679e41 [INFO] checking Milo-Shen/Rust-Course/0143f8e6bb9911d9f98fb682886ca628d5679e41 against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMilo-Shen%2FRust-Course" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Milo-Shen/Rust-Course on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Milo-Shen/Rust-Course [INFO] finished tweaking git repo https://github.com/Milo-Shen/Rust-Course [INFO] tweaked toml for git repo https://github.com/Milo-Shen/Rust-Course written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Milo-Shen/Rust-Course already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bf72a846d8f140045f7aeb28848953955e728c27041caafd89669ffc6045c76f [INFO] running `Command { std: "docker" "start" "-a" "bf72a846d8f140045f7aeb28848953955e728c27041caafd89669ffc6045c76f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bf72a846d8f140045f7aeb28848953955e728c27041caafd89669ffc6045c76f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bf72a846d8f140045f7aeb28848953955e728c27041caafd89669ffc6045c76f", kill_on_drop: false }` [INFO] [stdout] bf72a846d8f140045f7aeb28848953955e728c27041caafd89669ffc6045c76f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 519f318547f01036abd20caf1f5a95f5868505c5a0b186a00e7419699158ecfb [INFO] running `Command { std: "docker" "start" "-a" "519f318547f01036abd20caf1f5a95f5868505c5a0b186a00e7419699158ecfb", kill_on_drop: false }` [INFO] [stderr] Checking rust_course v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `content` is never read [INFO] [stdout] --> src/lib.rs:272:5 [INFO] [stdout] | [INFO] [stdout] 271 | pub struct DraftPost { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 272 | content: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fix_order` is never used [INFO] [stdout] --> src/front_of_house.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn fix_order() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `seasonal_fruit` is never read [INFO] [stdout] --> src/lib.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Breakfast { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 30 | pub toast: String, [INFO] [stdout] 31 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Breakfast` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Appetizer` is never used [INFO] [stdout] --> src/lib.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Appetizer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `content` is never read [INFO] [stdout] --> src/lib.rs:272:5 [INFO] [stdout] | [INFO] [stdout] 271 | pub struct DraftPost { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 272 | content: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fix_order` is never used [INFO] [stdout] --> src/front_of_house.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn fix_order() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `seasonal_fruit` is never read [INFO] [stdout] --> src/lib.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Breakfast { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 30 | pub toast: String, [INFO] [stdout] 31 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Breakfast` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Appetizer` is never used [INFO] [stdout] --> src/lib.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Appetizer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Result` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Result as IoResult` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::Result as IoResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/main.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rust_course::eat_at_restaurant` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use rust_course::eat_at_restaurant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `write` [INFO] [stdout] --> src/advanced_trait.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::{write, Display, Formatter}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Output` [INFO] [stdout] --> src/advanced_trait.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::process::Output; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs` [INFO] [stdout] --> src/example_grep.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | 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:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::f32::consts::E; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/lifecycle_3.rs:79:50 [INFO] [stdout] | [INFO] [stdout] 79 | fn first_world_rule_1<'a>(s: &'a str) -> &str; [INFO] [stdout] | -- ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | lifetime `'a` declared here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ref` [INFO] [stdout] --> src/memory_leak.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::{Ref, RefCell}; [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: `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: `std::fmt::Result` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Result as IoResult` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::Result as IoResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/main.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rust_course::eat_at_restaurant` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use rust_course::eat_at_restaurant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `write` [INFO] [stdout] --> src/advanced_trait.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::{write, Display, Formatter}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Output` [INFO] [stdout] --> src/advanced_trait.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::process::Output; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs` [INFO] [stdout] --> src/example_grep.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | 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:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::f32::consts::E; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/lifecycle_3.rs:79:50 [INFO] [stdout] | [INFO] [stdout] 79 | fn first_world_rule_1<'a>(s: &'a str) -> &str; [INFO] [stdout] | -- ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | lifetime `'a` declared here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ref` [INFO] [stdout] --> src/memory_leak.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::{Ref, RefCell}; [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: `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: `borrow::BorrowMut` [INFO] [stdout] --> src/refcell.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{borrow::BorrowMut, cell::RefCell}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/refcell.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `borrow::BorrowMut` [INFO] [stdout] --> src/refcell.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{borrow::BorrowMut, cell::RefCell}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/advanced_function.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let v = Status::Value(3); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/advanced_function.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let v = Status::Value(3); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point_1` [INFO] [stdout] --> src/advanced_trait.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | let point_1 = Point { x: 1, y: 2 }; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_point_1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point_2` [INFO] [stdout] --> src/advanced_trait.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | let point_2 = Point { x: 3, y: 4 }; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_point_2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point_1` [INFO] [stdout] --> src/advanced_trait.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | let point_1 = Point { x: 1, y: 2 }; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_point_1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point_2` [INFO] [stdout] --> src/advanced_trait.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | let point_2 = Point { x: 3, y: 4 }; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_point_2` [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: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: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: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: `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: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: `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: `s` [INFO] [stdout] --> src/closure_1.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | 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: `s` [INFO] [stdout] --> src/closure_1.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | 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:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | 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:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | 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: `x` [INFO] [stdout] --> src/closure_2.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | 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:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let equal_to_str = move |z: String| z == string_1; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_equal_to_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/closure_2.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let mut string_1 = String::from("FnOnce"); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/closure_2.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | 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: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] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/closure_2.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let mut string_1 = String::from("FnOnce"); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/drop_trait.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let a = CustomSmartPointer { [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:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let b = CustomSmartPointer { [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:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | let d = CustomSmartPointer { [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/drop_trait.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let a = CustomSmartPointer { [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:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let b = CustomSmartPointer { [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:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | let d = CustomSmartPointer { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [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: `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: `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: `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: `x` [INFO] [stdout] --> src/functions.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let x = 32; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `empty_result` [INFO] [stdout] --> src/functions.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | 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: `x` [INFO] [stdout] --> src/functions.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let x = 32; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `empty_result` [INFO] [stdout] --> src/functions.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | 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: variable does not need to be mutable [INFO] [stdout] --> src/generics.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | let mut another_point = point.reference(); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/generics.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | let mut another_point = point.reference(); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inserted_yellow` [INFO] [stdout] --> src/hashmap.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | let inserted_yellow = scores.entry(String::from("Yellow")); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_yellow` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inserted_blue` [INFO] [stdout] --> src/hashmap.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | let inserted_blue = scores.entry(String::from("Blue")).or_insert(50); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_blue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `str` [INFO] [stdout] --> src/hashmap.rs:101:13 [INFO] [stdout] | [INFO] [stdout] 101 | let str = String::from("temporary value"); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inserted_yellow` [INFO] [stdout] --> src/hashmap.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | let inserted_yellow = scores.entry(String::from("Yellow")); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_yellow` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inserted_blue` [INFO] [stdout] --> src/hashmap.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | let inserted_blue = scores.entry(String::from("Blue")).or_insert(50); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_blue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `str` [INFO] [stdout] --> src/hashmap.rs:101:13 [INFO] [stdout] | [INFO] [stdout] 101 | let str = String::from("temporary value"); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hashmap.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | let mut map: HashMap = HashMap::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hashmap.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | let mut map: HashMap = HashMap::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2_iter_first` [INFO] [stdout] --> src/iterator_1.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | 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: `v2_iter_first` [INFO] [stdout] --> src/iterator_1.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | let v2_iter_first = v2_iter.next().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v2_iter_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/iterator_1.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | 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: variable does not need to be mutable [INFO] [stdout] --> src/iterator_1.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let mut v4 = vec!["1".to_string(), "2".to_string(), "3".to_string()]; [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/learning_trait.rs:197:9 [INFO] [stdout] | [INFO] [stdout] 197 | 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:197:9 [INFO] [stdout] | [INFO] [stdout] 197 | 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:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | b: U, [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:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | b: U, [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:119:48 [INFO] [stdout] | [INFO] [stdout] 119 | 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: `b` [INFO] [stdout] --> src/learning_trait.rs:119:48 [INFO] [stdout] | [INFO] [stdout] 119 | 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: `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: `string_1` [INFO] [stdout] --> src/lifecycle_2.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | 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: `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_2` [INFO] [stdout] --> src/lifecycle_2.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | 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: `string_1` [INFO] [stdout] --> src/lifecycle_2.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | 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: variable does not need to be mutable [INFO] [stdout] --> src/lifecycle_2.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let mut result: &str = "string_2: borrowed value does not live long enough"; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string_2` [INFO] [stdout] --> src/lifecycle_2.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | let string_2 = String::from("Jack"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lifecycle_2.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let mut result: &str = "string_2: borrowed value does not live long enough"; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/lifecycle_3.rs:8:34 [INFO] [stdout] | [INFO] [stdout] 8 | fn longest_1<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/lifecycle_3.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let result = String::from("悬垂引用"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/lifecycle_3.rs:15:34 [INFO] [stdout] | [INFO] [stdout] 15 | fn longest_2<'a>(x: &'a str, y: &str) -> &'a str { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/lifecycle_3.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | fn longest_3(x: &str, y: &str) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/lifecycle_3.rs:24:27 [INFO] [stdout] | [INFO] [stdout] 24 | fn longest_3(x: &str, y: &str) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/lifecycle_4.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | 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: `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:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | 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: `y` [INFO] [stdout] --> src/ownership.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | let y = { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `another_str` [INFO] [stdout] --> src/ownership.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let another_str = name.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_another_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/ownership.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | let s = String::from("hello"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/ownership.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | let s2 = s1; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/ownership.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | let y = x; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/ownership.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let s2 = s1; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/ownership.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | let n = x; // Copy x的值(即3)到变量n,n现在拥有一个3,但x仍然拥有自己的3 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/ownership.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | let y = { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `another_str` [INFO] [stdout] --> src/ownership.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let another_str = name.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_another_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/ownership.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | let s = String::from("hello"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tup` [INFO] [stdout] --> src/ownership.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | let tup = (5, String::from("hello")); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_tup` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/ownership.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | let s2 = s1; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/ownership.rs:225:10 [INFO] [stdout] | [INFO] [stdout] 225 | let (x, _) = tup; [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/ownership.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | let y = x; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/ownership.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let s2 = s1; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/ownership.rs:229:10 [INFO] [stdout] | [INFO] [stdout] 229 | let (x, y) = tup.clone(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/ownership.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | let n = x; // Copy x的值(即3)到变量n,n现在拥有一个3,但x仍然拥有自己的3 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/ownership.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | let (x, y) = tup.clone(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tup` [INFO] [stdout] --> src/ownership.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | let tup = (5, String::from("hello")); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_tup` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/ownership.rs:233:10 [INFO] [stdout] | [INFO] [stdout] 233 | let (x, ref y) = tup; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/ownership.rs:225:10 [INFO] [stdout] | [INFO] [stdout] 225 | let (x, _) = tup; [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/ownership.rs:233:17 [INFO] [stdout] | [INFO] [stdout] 233 | let (x, ref y) = tup; [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/ownership.rs:229:10 [INFO] [stdout] | [INFO] [stdout] 229 | let (x, y) = tup.clone(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `str` [INFO] [stdout] --> src/ownership.rs:238:10 [INFO] [stdout] | [INFO] [stdout] 238 | let [str, _] = my_vec; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/ownership.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | let (x, y) = tup.clone(); [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/ownership.rs:233:10 [INFO] [stdout] | [INFO] [stdout] 233 | let (x, ref y) = tup; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `app_a` [INFO] [stdout] --> src/ownership.rs:255:9 [INFO] [stdout] | [INFO] [stdout] 255 | let app_a = app.a; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_app_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/ownership.rs:233:17 [INFO] [stdout] | [INFO] [stdout] 233 | let (x, ref y) = tup; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/ownership.rs:277:9 [INFO] [stdout] | [INFO] [stdout] 277 | let c = b; // Copy引用 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `str` [INFO] [stdout] --> src/ownership.rs:238:10 [INFO] [stdout] | [INFO] [stdout] 238 | let [str, _] = my_vec; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `app_a` [INFO] [stdout] --> src/ownership.rs:255:9 [INFO] [stdout] | [INFO] [stdout] 255 | let app_a = app.a; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_app_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/ownership.rs:284:9 [INFO] [stdout] | [INFO] [stdout] 284 | let c = b.clone(); // c 的类型是 &Person [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/ownership.rs:295:9 [INFO] [stdout] | [INFO] [stdout] 295 | let c = b.clone(); // c的类型是Person,而不是 &Person [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/ownership.rs:277:9 [INFO] [stdout] | [INFO] [stdout] 277 | let c = b; // Copy引用 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/ownership.rs:284:9 [INFO] [stdout] | [INFO] [stdout] 284 | let c = b.clone(); // c 的类型是 &Person [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/ownership.rs:295:9 [INFO] [stdout] | [INFO] [stdout] 295 | let c = b.clone(); // c的类型是Person,而不是 &Person [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ownership.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | let mut x = String::from("hello"); [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/ownership.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | let mut x = String::from("hello"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/ownership.rs:261:15 [INFO] [stdout] | [INFO] [stdout] 261 | fn test_1(a: App) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/ownership.rs:266:15 [INFO] [stdout] | [INFO] [stdout] 266 | fn test_2(a: &App) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arr` [INFO] [stdout] --> src/panic.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let arr = vec![1, 2, 3]; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/ownership.rs:261:15 [INFO] [stdout] | [INFO] [stdout] 261 | fn test_1(a: App) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/ownership.rs:266:15 [INFO] [stdout] | [INFO] [stdout] 266 | fn test_2(a: &App) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arr` [INFO] [stdout] --> src/panic.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let arr = vec![1, 2, 3]; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/pattern_matching_2.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | if let x = 50 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/pattern_matching_2.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | if let x = 50 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/raw_pointer.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | 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/rc.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | 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:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | 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:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | 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: `c` [INFO] [stdout] --> src/rc.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | let c = &mut val; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `some_clone` [INFO] [stdout] --> src/rc.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | let some_clone = some_val.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_clone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `another_clone` [INFO] [stdout] --> src/rc.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | let another_clone = Rc::clone(&val); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_another_clone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/raw_pointer.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | 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/rc.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | 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:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | 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:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | 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: `c` [INFO] [stdout] --> src/rc.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | let c = &mut val; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `some_clone` [INFO] [stdout] --> src/rc.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | let some_clone = some_val.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_clone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/refcell.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | 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: `another_clone` [INFO] [stdout] --> src/rc.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | let another_clone = Rc::clone(&val); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_another_clone` [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: `x` [INFO] [stdout] --> src/refcell.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | 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: `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: `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: `unbox_str` [INFO] [stdout] --> src/smart_pointer_box.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let unbox_str = *box_str; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unbox_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/string.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | let mut s = "Hello String".to_string(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/string.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | let mut s = String::from("Hello String"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/string.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let s = String::from("Hello World"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unbox_str` [INFO] [stdout] --> src/smart_pointer_box.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let unbox_str = *box_str; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unbox_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/string.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | let mut s = "Hello String".to_string(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/string.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut s = "Hello String".to_string(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/string.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | let mut s = String::from("Hello String"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/string.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut s = String::from("Hello String"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/string.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let s = String::from("Hello World"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/string.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | let mut string_1: String = " I am a string ".to_string(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `black` [INFO] [stdout] --> src/structs.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | 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:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | 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:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let point: Point = Point(1.0, 1.0, 1.0); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/structs.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | let mut jason = User { age: 65, ..jack }; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/structs.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | 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:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut s = "Hello String".to_string(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/string.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut s = String::from("Hello String"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/string.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | let mut string_1: String = " I am a string ".to_string(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `black` [INFO] [stdout] --> src/structs.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | 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:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | 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:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let point: Point = Point(1.0, 1.0, 1.0); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/structs.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | let mut jason = User { age: 65, ..jack }; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/structs.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | let mut another_react = &mut rect; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `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: `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: variable does not need to be mutable [INFO] [stdout] --> src/variables.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | let mut array_c = [1, 2]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/vector.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let v: Vec = Vec::new(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v_slice` [INFO] [stdout] --> src/vector.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let v_slice = &v[..]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v_slice_1` [INFO] [stdout] --> src/vector.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let v_slice_1: &[i32] = &v; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_slice_1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/variables.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | let mut array_c = [1, 2]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/vector.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let v: Vec = Vec::new(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v_slice` [INFO] [stdout] --> src/vector.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let v_slice = &v[..]; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v_slice_1` [INFO] [stdout] --> src/vector.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let v_slice_1: &[i32] = &v; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_slice_1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fix_order` is never used [INFO] [stdout] --> src/front_of_house.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn fix_order() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_to_wait_list` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn add_to_wait_list() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `private_function` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn private_function() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_house` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn print_house() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hello` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn hello() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_advanced_function` is never used [INFO] [stdout] --> src/advanced_function.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_advanced_function() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_advanced_trait` is never used [INFO] [stdout] --> src/advanced_trait.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn learning_advanced_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fly` is never used [INFO] [stdout] --> src/advanced_trait.rs:205:12 [INFO] [stdout] | [INFO] [stdout] 204 | impl Human { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 205 | fn fly(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `baby_name` is never used [INFO] [stdout] --> src/advanced_trait.rs:236:12 [INFO] [stdout] | [INFO] [stdout] 235 | impl Dog { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 236 | fn baby_name() -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_advanced_type` is never used [INFO] [stdout] --> src/advanced_type.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn learning_advanced_type() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_closure` is never used [INFO] [stdout] --> src/closure_1.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_closure() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cache` is never constructed [INFO] [stdout] --> src/closure_1.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct Cache [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `value`, and `hash_value` are never used [INFO] [stdout] --> src/closure_1.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 37 | / impl Cache [INFO] [stdout] 38 | | where [INFO] [stdout] 39 | | T: Fn(u32) -> u32, [INFO] [stdout] | |______________________- associated items in this implementation [INFO] [stdout] 40 | { [INFO] [stdout] 41 | fn new(calculation: T) -> Cache { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | fn value(&mut self, arg: u32) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | fn hash_value(&mut self, arg: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_workout` is never used [INFO] [stdout] --> src/closure_1.rs:79:4 [INFO] [stdout] | [INFO] [stdout] 79 | fn generate_workout(intensity: u32, random_number: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_closure` is never used [INFO] [stdout] --> src/closure_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_closure() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_control_flow` is never used [INFO] [stdout] --> src/control_flow.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_control_flow() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_deref_trait` is never used [INFO] [stdout] --> src/deref_trait_1.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_deref_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fix_order` is never used [INFO] [stdout] --> src/front_of_house.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn fix_order() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/deref_trait_1.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl MyBox { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 33 | fn new(x: T) -> MyBox { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_to_wait_list` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn add_to_wait_list() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_deref_trait` is never used [INFO] [stdout] --> src/deref_trait_2.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_deref_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `private_function` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn private_function() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/deref_trait_2.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl MyBox { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 19 | fn new(x: T) -> MyBox { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_house` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn print_house() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_drop_trait` is never used [INFO] [stdout] --> src/drop_trait.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_drop_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hello` is never used [INFO] [stdout] --> src/front_of_house/hosting.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn hello() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_eliminate` is never used [INFO] [stdout] --> src/eliminate_duplicate_code.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_eliminate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_advanced_function` is never used [INFO] [stdout] --> src/advanced_function.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_advanced_function() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_enums` is never used [INFO] [stdout] --> src/enums.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_enums() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_grep_example` is never used [INFO] [stdout] --> src/example_grep.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_grep_example() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_advanced_trait` is never used [INFO] [stdout] --> src/advanced_trait.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn learning_advanced_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_grep` is never used [INFO] [stdout] --> src/example_grep.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn my_grep() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fly` is never used [INFO] [stdout] --> src/advanced_trait.rs:205:12 [INFO] [stdout] | [INFO] [stdout] 204 | impl Human { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 205 | fn fly(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `another_function` is never used [INFO] [stdout] --> src/functions.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn another_function(x: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_function` is never used [INFO] [stdout] --> src/functions.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn empty_function() {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `baby_name` is never used [INFO] [stdout] --> src/advanced_trait.rs:236:12 [INFO] [stdout] | [INFO] [stdout] 235 | impl Dog { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 236 | fn baby_name() -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `plus_five` is never used [INFO] [stdout] --> src/functions.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn plus_five(x: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_advanced_type` is never used [INFO] [stdout] --> src/advanced_type.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn learning_advanced_type() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `plus_six` is never used [INFO] [stdout] --> src/functions.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn plus_six(x: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_closure` is never used [INFO] [stdout] --> src/closure_1.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_closure() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_functions` is never used [INFO] [stdout] --> src/functions.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn learning_functions() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cache` is never constructed [INFO] [stdout] --> src/closure_1.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct Cache [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_generics` is never used [INFO] [stdout] --> src/generics.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_generics() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `reference` and `mix_up` are never used [INFO] [stdout] --> src/generics.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl Point { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 38 | fn reference(&mut self) -> &mut Point { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | fn mix_up(self, other: Point) -> Point { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `value`, and `hash_value` are never used [INFO] [stdout] --> src/closure_1.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 37 | / impl Cache [INFO] [stdout] 38 | | where [INFO] [stdout] 39 | | T: Fn(u32) -> u32, [INFO] [stdout] | |______________________- associated items in this implementation [INFO] [stdout] 40 | { [INFO] [stdout] 41 | fn new(calculation: T) -> Cache { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | fn value(&mut self, arg: u32) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | fn hash_value(&mut self, arg: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `specific` is never used [INFO] [stdout] --> src/generics.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Point { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 52 | fn specific(&self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_workout` is never used [INFO] [stdout] --> src/closure_1.rs:79:4 [INFO] [stdout] | [INFO] [stdout] 79 | fn generate_workout(intensity: u32, random_number: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_hashmap` is never used [INFO] [stdout] --> src/hashmap.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn learning_hashmap() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_closure` is never used [INFO] [stdout] --> src/closure_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_closure() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_1.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_control_flow` is never used [INFO] [stdout] --> src/control_flow.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_control_flow() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_deref_trait` is never used [INFO] [stdout] --> src/deref_trait_1.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_deref_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_4.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/deref_trait_1.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl MyBox { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 33 | fn new(x: T) -> MyBox { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_deref_trait` is never used [INFO] [stdout] --> src/deref_trait_2.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_deref_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/iterator_4.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Counter { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 12 | // 该函数是一个关联函数 [INFO] [stdout] 13 | fn new() -> Counter { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/deref_trait_2.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl MyBox { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 19 | fn new(x: T) -> MyBox { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_5.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_drop_trait` is never used [INFO] [stdout] --> src/drop_trait.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_drop_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_eliminate` is never used [INFO] [stdout] --> src/eliminate_duplicate_code.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_eliminate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `new_iterator` are never used [INFO] [stdout] --> src/iterator_5.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 14 | impl Config { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn new(args: &[String]) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn new_iterator(mut args: std::env::Args) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_enums` is never used [INFO] [stdout] --> src/enums.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_enums() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_grep_example` is never used [INFO] [stdout] --> src/example_grep.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_grep_example() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_grep` is never used [INFO] [stdout] --> src/example_grep.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn my_grep() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_6.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_macros` is never used [INFO] [stdout] --> src/learn_macro.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_macros() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `another_function` is never used [INFO] [stdout] --> src/functions.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn another_function(x: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pub_use` is never used [INFO] [stdout] --> src/learning_pub_use.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_pub_use() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_function` is never used [INFO] [stdout] --> src/functions.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn empty_function() {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `plus_five` is never used [INFO] [stdout] --> src/functions.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn plus_five(x: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_tests` is never used [INFO] [stdout] --> src/learning_test.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_tests() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `plus_six` is never used [INFO] [stdout] --> src/functions.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn plus_six(x: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_two` is never used [INFO] [stdout] --> src/learning_test.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn add_two(a: i32) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_functions` is never used [INFO] [stdout] --> src/functions.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn learning_functions() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Summary` is never used [INFO] [stdout] --> src/learning_trait.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | trait Summary { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_generics` is never used [INFO] [stdout] --> src/generics.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_generics() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NewsArticle` is never constructed [INFO] [stdout] --> src/learning_trait.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct NewsArticle { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tweet` is never constructed [INFO] [stdout] --> src/learning_trait.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | struct Tweet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `reference` and `mix_up` are never used [INFO] [stdout] --> src/generics.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl Point { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 38 | fn reference(&mut self) -> &mut Point { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | fn mix_up(self, other: Point) -> Point { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_trait` is never used [INFO] [stdout] --> src/learning_trait.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn learning_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `specific` is never used [INFO] [stdout] --> src/generics.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Point { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 52 | fn specific(&self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/learning_trait.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 209 | impl Pair { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 210 | fn new(x: T, y: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_hashmap` is never used [INFO] [stdout] --> src/hashmap.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn learning_hashmap() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cmp_display` is never used [INFO] [stdout] --> src/learning_trait.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 215 | impl Pair { [INFO] [stdout] | ------------------------------------- method in this implementation [INFO] [stdout] 216 | fn cmp_display(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_1.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_1.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_4.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_4.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/iterator_4.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Counter { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 12 | // 该函数是一个关联函数 [INFO] [stdout] 13 | fn new() -> Counter { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_5.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `level` and `announce` are never used [INFO] [stdout] --> src/lifecycle_4.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl<'a> ImportantExcerpt<'a> { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] 24 | // 因为这边返回值不是引用,所以无需为返回值申明生命周期 [INFO] [stdout] 25 | fn level(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn announce(&self, announcement: &str) -> &str { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_match` is never used [INFO] [stdout] --> src/match_syntax.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_match() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `new_iterator` are never used [INFO] [stdout] --> src/iterator_5.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 14 | impl Config { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn new(args: &[String]) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn new_iterator(mut args: std::env::Args) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `List` is never used [INFO] [stdout] --> src/memory_leak.rs:6:6 [INFO] [stdout] | [INFO] [stdout] 6 | enum List { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_iterator` is never used [INFO] [stdout] --> src/iterator_6.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_iterator() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_macros` is never used [INFO] [stdout] --> src/learn_macro.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_macros() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `tail` is never used [INFO] [stdout] --> src/memory_leak.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 13 | impl List { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 14 | fn tail(&self) -> Option<&RefCell>> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pub_use` is never used [INFO] [stdout] --> src/learning_pub_use.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_pub_use() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_memory_leak` is never used [INFO] [stdout] --> src/memory_leak.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn learning_memory_leak() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_tests` is never used [INFO] [stdout] --> src/learning_test.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_tests() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_oop` is never used [INFO] [stdout] --> src/oop_1.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_oop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_two` is never used [INFO] [stdout] --> src/learning_test.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn add_two(a: i32) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw` is never used [INFO] [stdout] --> src/oop_2.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Draw { [INFO] [stdout] | ---- method in this trait [INFO] [stdout] 2 | fn draw(&self); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `internal_adder` is never used [INFO] [stdout] --> src/learning_test.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn internal_adder(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Clone` is never used [INFO] [stdout] --> src/oop_2.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait Clone { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Screen` is never constructed [INFO] [stdout] --> src/oop_2.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Screen { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/oop_2.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Screen { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 21 | pub fn run(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Summary` is never used [INFO] [stdout] --> src/learning_trait.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | trait Summary { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width`, `height`, and `label` are never read [INFO] [stdout] --> src/oop_2.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct Button { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 32 | pub width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 33 | pub height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 34 | pub label: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NewsArticle` is never constructed [INFO] [stdout] --> src/learning_trait.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct NewsArticle { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tweet` is never constructed [INFO] [stdout] --> src/learning_trait.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | struct Tweet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SelectBox` is never constructed [INFO] [stdout] --> src/oop_2.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | struct SelectBox { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_trait` is never used [INFO] [stdout] --> src/learning_trait.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn learning_trait() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_oop` is never used [INFO] [stdout] --> src/oop_2.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn learning_oop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_oop` is never used [INFO] [stdout] --> src/oop_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_oop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/learning_trait.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 209 | impl Pair { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 210 | fn new(x: T, y: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `take_ownership` is never used [INFO] [stdout] --> src/ownership.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn take_ownership(x: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cmp_display` is never used [INFO] [stdout] --> src/learning_trait.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 215 | impl Pair { [INFO] [stdout] | ------------------------------------- method in this implementation [INFO] [stdout] 216 | fn cmp_display(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `take_ownership_vec` is never used [INFO] [stdout] --> src/ownership.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn take_ownership_vec(x: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_1.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_length` is never used [INFO] [stdout] --> src/ownership.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn calculate_length(x: String) -> (String, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_ownership` is never used [INFO] [stdout] --> src/ownership.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn learning_ownership() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_panic` is never used [INFO] [stdout] --> src/panic.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_panic() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_lifecycle` is never used [INFO] [stdout] --> src/lifecycle_4.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_lifecycle() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `value` are never used [INFO] [stdout] --> src/panic.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Guess { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 19 | fn new(value: i32) -> Guess { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fn value(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `level` and `announce` are never used [INFO] [stdout] --> src/lifecycle_4.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl<'a> ImportantExcerpt<'a> { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] 24 | // 因为这边返回值不是引用,所以无需为返回值申明生命周期 [INFO] [stdout] 25 | fn level(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn announce(&self, announcement: &str) -> &str { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pattern_matching` is never used [INFO] [stdout] --> src/pattern_matching_1.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_pattern_matching() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_match` is never used [INFO] [stdout] --> src/match_syntax.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_match() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pattern_matching` is never used [INFO] [stdout] --> src/pattern_matching_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_pattern_matching() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `List` is never used [INFO] [stdout] --> src/memory_leak.rs:6:6 [INFO] [stdout] | [INFO] [stdout] 6 | enum List { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pattern_matching` is never used [INFO] [stdout] --> src/pattern_matching_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_pattern_matching() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `tail` is never used [INFO] [stdout] --> src/memory_leak.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 13 | impl List { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 14 | fn tail(&self) -> Option<&RefCell>> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_rc` is never used [INFO] [stdout] --> src/rc.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn learning_rc() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_memory_leak` is never used [INFO] [stdout] --> src/memory_leak.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn learning_memory_leak() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `List` is never used [INFO] [stdout] --> src/refcell.rs:45:6 [INFO] [stdout] | [INFO] [stdout] 45 | enum List { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_ref_cell` is never used [INFO] [stdout] --> src/refcell.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn learning_ref_cell() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_oop` is never used [INFO] [stdout] --> src/oop_1.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_oop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_length_1` is never used [INFO] [stdout] --> src/reference.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn calculate_length_1(x: &String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw` is never used [INFO] [stdout] --> src/oop_2.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Draw { [INFO] [stdout] | ---- method in this trait [INFO] [stdout] 2 | fn draw(&self); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mut_calculate_length` is never used [INFO] [stdout] --> src/reference.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn mut_calculate_length(x: &mut String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Clone` is never used [INFO] [stdout] --> src/oop_2.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait Clone { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Screen` is never constructed [INFO] [stdout] --> src/oop_2.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Screen { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_reference` is never used [INFO] [stdout] --> src/reference.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn learning_reference() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> src/oop_2.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Screen { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 21 | pub fn run(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_result` is never used [INFO] [stdout] --> src/result.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_result() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first_world` is never used [INFO] [stdout] --> src/slices.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn first_world(x: &str) -> &str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_slice` is never used [INFO] [stdout] --> src/slices.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn learning_slice() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width`, `height`, and `label` are never read [INFO] [stdout] --> src/oop_2.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct Button { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 32 | pub width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 33 | pub height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 34 | pub label: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_smart_pointer` is never used [INFO] [stdout] --> src/smart_pointer_begin.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_smart_pointer() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SelectBox` is never constructed [INFO] [stdout] --> src/oop_2.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | struct SelectBox { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `take_ownership` is never used [INFO] [stdout] --> src/smart_pointer_box.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn take_ownership(x: Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_oop` is never used [INFO] [stdout] --> src/oop_2.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn learning_oop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_oop` is never used [INFO] [stdout] --> src/oop_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_oop() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_smart_pointer` is never used [INFO] [stdout] --> src/smart_pointer_box.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_smart_pointer() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `take_ownership` is never used [INFO] [stdout] --> src/ownership.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn take_ownership(x: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_string` is never used [INFO] [stdout] --> src/string.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_string() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_struct` is never used [INFO] [stdout] --> src/structs.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_struct() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `take_ownership_vec` is never used [INFO] [stdout] --> src/ownership.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn take_ownership_vec(x: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_length` is never used [INFO] [stdout] --> src/ownership.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn calculate_length(x: String) -> (String, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_ownership` is never used [INFO] [stdout] --> src/ownership.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn learning_ownership() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_panic` is never used [INFO] [stdout] --> src/panic.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_panic() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `area`, `copy`, and `print` are never used [INFO] [stdout] --> src/structs.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 77 | impl Rectangle { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | fn area(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | fn copy(&self) -> Rectangle { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | fn print(x: &str) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `value` are never used [INFO] [stdout] --> src/panic.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Guess { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 19 | fn new(value: i32) -> Guess { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fn value(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_threads` is never used [INFO] [stdout] --> src/threads_1.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pattern_matching` is never used [INFO] [stdout] --> src/pattern_matching_1.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_pattern_matching() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pattern_matching` is never used [INFO] [stdout] --> src/pattern_matching_2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_pattern_matching() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_threads` is never used [INFO] [stdout] --> src/threads_2.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_pattern_matching` is never used [INFO] [stdout] --> src/pattern_matching_3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_pattern_matching() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_rc` is never used [INFO] [stdout] --> src/rc.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn learning_rc() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_threads` is never used [INFO] [stdout] --> src/threads_3.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Messenger` is never used [INFO] [stdout] --> src/refcell.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub trait Messenger { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_threads` is never used [INFO] [stdout] --> src/threads_4.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LimitTracker` is never constructed [INFO] [stdout] --> src/refcell.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct LimitTracker<'a, T: 'a + Messenger> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `HELLO_WORLD` is never used [INFO] [stdout] --> src/unsafe_rust.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static HELLO_WORLD: &str = "Hello World"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `RATIO` is never used [INFO] [stdout] --> src/unsafe_rust.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | static RATIO: f64 = 3.14; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `set_value` are never used [INFO] [stdout] --> src/refcell.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 16 | / impl<'a, T> LimitTracker<'a, T> [INFO] [stdout] 17 | | where [INFO] [stdout] 18 | | T: Messenger, [INFO] [stdout] | |_________________- associated items in this implementation [INFO] [stdout] 19 | { [INFO] [stdout] 20 | pub fn new(messenger: &T, max: usize) -> LimitTracker { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn set_value(&mut self, value: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `List` is never used [INFO] [stdout] --> src/refcell.rs:45:6 [INFO] [stdout] | [INFO] [stdout] 45 | enum List { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PI` is never used [INFO] [stdout] --> src/unsafe_rust.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | static mut PI: f64 = 3.14; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_ref_cell` is never used [INFO] [stdout] --> src/refcell.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn learning_ref_cell() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_unsafe_rust` is never used [INFO] [stdout] --> src/unsafe_rust.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn learning_unsafe_rust() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_length_1` is never used [INFO] [stdout] --> src/reference.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn calculate_length_1(x: &String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mut_calculate_length` is never used [INFO] [stdout] --> src/reference.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn mut_calculate_length(x: &mut String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERSION` is never used [INFO] [stdout] --> src/variables.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | const VERSION: &str = "1.0.0"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_reference` is never used [INFO] [stdout] --> src/reference.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn learning_reference() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_variables` is never used [INFO] [stdout] --> src/variables.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_variables() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_result` is never used [INFO] [stdout] --> src/result.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_result() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first_world` is never used [INFO] [stdout] --> src/slices.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn first_world(x: &str) -> &str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_vector` is never used [INFO] [stdout] --> src/vector.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_vector() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_slice` is never used [INFO] [stdout] --> src/slices.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn learning_slice() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_smart_pointer` is never used [INFO] [stdout] --> src/smart_pointer_begin.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_smart_pointer() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `take_ownership` is never used [INFO] [stdout] --> src/smart_pointer_box.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn take_ownership(x: Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_smart_pointer` is never used [INFO] [stdout] --> src/smart_pointer_box.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_smart_pointer() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> src/deref_trait_1.rs:60:22 [INFO] [stdout] | [INFO] [stdout] 60 | assert_eq!(5, *(y.deref())); [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `i32` does not implement `Deref`, so calling `deref` on `&i32` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_string` is never used [INFO] [stdout] --> src/string.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_string() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_struct` is never used [INFO] [stdout] --> src/structs.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_struct() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `area`, `copy`, and `print` are never used [INFO] [stdout] --> src/structs.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 77 | impl Rectangle { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | fn area(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | fn copy(&self) -> Rectangle { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | fn print(x: &str) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_threads` is never used [INFO] [stdout] --> src/threads_1.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_threads` is never used [INFO] [stdout] --> src/threads_2.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_threads` is never used [INFO] [stdout] --> src/threads_3.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_threads` is never used [INFO] [stdout] --> src/threads_4.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_threads() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `HELLO_WORLD` is never used [INFO] [stdout] --> src/unsafe_rust.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static HELLO_WORLD: &str = "Hello World"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `RATIO` is never used [INFO] [stdout] --> src/unsafe_rust.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | static RATIO: f64 = 3.14; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PI` is never used [INFO] [stdout] --> src/unsafe_rust.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | static mut PI: f64 = 3.14; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_unsafe_rust` is never used [INFO] [stdout] --> src/unsafe_rust.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn learning_unsafe_rust() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERSION` is never used [INFO] [stdout] --> src/variables.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | const VERSION: &str = "1.0.0"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_variables` is never used [INFO] [stdout] --> src/variables.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn learning_variables() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learning_vector` is never used [INFO] [stdout] --> src/vector.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn learning_vector() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> src/deref_trait_1.rs:60:22 [INFO] [stdout] | [INFO] [stdout] 60 | assert_eq!(5, *(y.deref())); [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `i32` does not implement `Deref`, so calling `deref` on `&i32` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement drops value [INFO] [stdout] --> src/ownership.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | x; // 发生Move [INFO] [stdout] | ^^ help: use `drop` to clarify the intent: `drop(x);` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(path_statements)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement drops value [INFO] [stdout] --> src/ownership.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | x; // 发生Move [INFO] [stdout] | ^^ help: use `drop` to clarify the intent: `drop(x);` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(path_statements)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/ownership.rs:284:14 [INFO] [stdout] | [INFO] [stdout] 284 | let c = b.clone(); // c 的类型是 &Person [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Person` does not implement `Clone`, so calling `clone` on `&Person` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 284 - let c = b.clone(); // c 的类型是 &Person [INFO] [stdout] 284 + let c = b; // c 的类型是 &Person [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Person`, implement `Clone` for it [INFO] [stdout] | [INFO] [stdout] 281 + #[derive(Clone)] [INFO] [stdout] 282 | struct Person; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/ownership.rs:284:14 [INFO] [stdout] | [INFO] [stdout] 284 | let c = b.clone(); // c 的类型是 &Person [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Person` does not implement `Clone`, so calling `clone` on `&Person` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 284 - let c = b.clone(); // c 的类型是 &Person [INFO] [stdout] 284 + let c = b; // c 的类型是 &Person [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Person`, implement `Clone` for it [INFO] [stdout] | [INFO] [stdout] 281 + #[derive(Clone)] [INFO] [stdout] 282 | struct Person; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 227 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 224 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.40s [INFO] running `Command { std: "docker" "inspect" "519f318547f01036abd20caf1f5a95f5868505c5a0b186a00e7419699158ecfb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "519f318547f01036abd20caf1f5a95f5868505c5a0b186a00e7419699158ecfb", kill_on_drop: false }` [INFO] [stdout] 519f318547f01036abd20caf1f5a95f5868505c5a0b186a00e7419699158ecfb