[INFO] cloning repository https://github.com/sylsaint/rust-playground [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sylsaint/rust-playground" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsylsaint%2Frust-playground", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsylsaint%2Frust-playground'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3ef861cbbfd56aed940e22dbe012d9afbf6c3d2b [INFO] testing sylsaint/rust-playground against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsylsaint%2Frust-playground" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/sylsaint/rust-playground [INFO] finished tweaking git repo https://github.com/sylsaint/rust-playground [INFO] tweaked toml for git repo https://github.com/sylsaint/rust-playground written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/sylsaint/rust-playground on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/sylsaint/rust-playground 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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded quote v1.0.29 [INFO] [stderr] Downloaded unicode-ident v1.0.10 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fa7828b6f2df821198f781e5f6301aae94e3a70b2328b830a85657dc3fdecaf4 [INFO] running `Command { std: "docker" "start" "-a" "fa7828b6f2df821198f781e5f6301aae94e3a70b2328b830a85657dc3fdecaf4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fa7828b6f2df821198f781e5f6301aae94e3a70b2328b830a85657dc3fdecaf4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fa7828b6f2df821198f781e5f6301aae94e3a70b2328b830a85657dc3fdecaf4", kill_on_drop: false }` [INFO] [stdout] fa7828b6f2df821198f781e5f6301aae94e3a70b2328b830a85657dc3fdecaf4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 625eb6bc7ca6608c51df0e7ba6a63849a7ed79c35413c4aee3e23e1e0cc424b6 [INFO] running `Command { std: "docker" "start" "-a" "625eb6bc7ca6608c51df0e7ba6a63849a7ed79c35413c4aee3e23e1e0cc424b6", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.146 [INFO] [stderr] Compiling proc-macro2 v1.0.63 [INFO] [stderr] Compiling unicode-ident v1.0.10 [INFO] [stderr] Compiling quote v1.0.29 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling show_macro v0.1.0 (/opt/rustwide/workdir/show_macro) [INFO] [stderr] Compiling hello_macro v0.1.0 (/opt/rustwide/workdir/hello_macro) [INFO] [stderr] Compiling unicode-segmentation v1.10.1 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling hello_macro_derive v0.1.0 (/opt/rustwide/workdir/hello_macro_derive) [INFO] [stderr] Compiling attr_macro v0.1.0 (/opt/rustwide/workdir/attr_macro) [INFO] [stdout] warning: unused import: `quote::ToTokens` [INFO] [stdout] --> attr_macro/src/lib.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use quote::ToTokens; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn` [INFO] [stdout] --> attr_macro/src/lib.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use syn; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rust-playground v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: struct `Rectangle` is never constructed [INFO] [stdout] --> src/lib.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | struct Rectangle { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `can_hold` is never used [INFO] [stdout] --> src/lib.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | impl Rectangle { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 46 | fn can_hold(&self, other: &Rectangle) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prints_and_returns_10` is never used [INFO] [stdout] --> src/lib.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn prints_and_returns_10(a: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_to_waitlist` is never used [INFO] [stdout] --> src/lib.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn add_to_waitlist() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `seasonal_fruit` is never read [INFO] [stdout] --> src/lib.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Breakfast { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 12 | pub toast: String, [INFO] [stdout] 13 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] attr: "" [INFO] [stdout] item: "fn invoke1() {}" [INFO] [stdout] ast is TokenStream [Ident { ident: "struct", span: #0 bytes(27967..27973) }, Ident { ident: "Pancakes", span: #0 bytes(27974..27982) }, Punct { ch: ';', spacing: Alone, span: #0 bytes(27982..27983) }] [INFO] [stdout] name is Pancakes [INFO] [stdout] gen into is impl HelloMacro for Pancakes [INFO] [stdout] { [INFO] [stdout] fn hello_macro() [INFO] [stdout] { println! ("Hello, Macro! My name is {}!", stringify! (Pancakes)); } [INFO] [stdout] } [INFO] [stdout] attr is TokenStream [Ident { ident: "GET", span: #0 bytes(27993..27996) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(27996..27997) }, Literal { kind: Str, symbol: "/", suffix: None, span: #0 bytes(27998..28001) }] [INFO] [stdout] func is TokenStream [Ident { ident: "pub", span: #0 bytes(28004..28007) }, Ident { ident: "fn", span: #0 bytes(28008..28010) }, Ident { ident: "index", span: #0 bytes(28011..28016) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "input", span: #0 bytes(28017..28022) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(28022..28023) }, Ident { ident: "String", span: #0 bytes(28024..28030) }], span: #0 bytes(28016..28031) }, Punct { ch: '-', spacing: Joint, span: #0 bytes(28032..28033) }, Punct { ch: '>', spacing: Alone, span: #0 bytes(28033..28034) }, Ident { ident: "String", span: #0 bytes(28035..28041) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "input", span: #0 bytes(28048..28053) }], span: #0 bytes(28042..28055) }] [INFO] [stdout] token is Ident { ident: "GET", span: #0 bytes(27993..27996) } [INFO] [stdout] method is GET [INFO] [stdout] token is Punct { ch: ',', spacing: Alone, span: #0 bytes(27996..27997) } [INFO] [stdout] others is , [INFO] [stdout] token is Literal { kind: Str, symbol: "/", suffix: None, span: #0 bytes(27998..28001) } [INFO] [stdout] path is "/" [INFO] [stdout] warning: unused import: `Deref` [INFO] [stdout] --> src/borrow.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{ops::{Drop, Deref}, borrow::Borrow}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/head_first_rust/chapter1.rs:67:18 [INFO] [stdout] | [INFO] [stdout] 67 | struct Foo {}; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/head_first_rust/chapter16.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/head_first_rust/chapter22.rs:43:43 [INFO] [stdout] | [INFO] [stdout] 43 | fn function_ptr(x: i32)->i32 { x * 4 }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `iPhone` should have an upper camel case name [INFO] [stdout] --> src/head_first_rust/chapter23.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | struct iPhone<'a> { [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `IPhone` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> src/head_first_rust/chapter26.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(get_type_id)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/basic.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | let mut x1 = 10; [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/basic.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let mut i1: u8 = 254; [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/basic.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | let mut n1 = Box::new(31_i32); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/owner.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let s = String::from("hello"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/owner.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | let s = "abcdefg"; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r2` [INFO] [stdout] --> src/owner.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | let r2 = &mut ss_copy; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/owner.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | let mut hw = String::from("Hello World!"); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `greeting_file` [INFO] [stdout] --> src/errors.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let greeting_file = match greeting_file_result { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_greeting_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/errors.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let mut m = [1, 2, 3]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `INITIAL` [INFO] [stdout] --> src/lifetime.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | let INITIAL = 10; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_INITIAL` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `r` is assigned to, but never used [INFO] [stdout] --> src/lifetime.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let r; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_r` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `r` is never read [INFO] [stdout] --> src/lifetime.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | r = &x; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/pointer.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | 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: `d` [INFO] [stdout] --> src/pointer.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | 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/pattern.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | let Point { x: a, y: b } = p; [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/pattern.rs:18:26 [INFO] [stdout] | [INFO] [stdout] 18 | let Point { x: a, y: b } = p; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/pattern.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | ( x, rest @ _, ..) => println!("second is {}", rest), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/unsafety.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let addr = 0x309a5f9ccusize; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `var` is never read [INFO] [stdout] --> src/borrow.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | let mut var = 0_i32; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `s2` is never read [INFO] [stdout] --> src/borrow.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let mut s2 = S { v: 12 }; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/borrow.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | let mut x = 1_i32; [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/borrow.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | let mut x1 = &x; [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/cow.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let mut ss = result1.to_mut(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `guess` [INFO] [stdout] --> src/ch3.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | let guess: u32 = "42".parse().expect("Not a number!"); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_guess` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r1_clone_v` [INFO] [stdout] --> src/head_first_rust/chapter1.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | let r1_clone_v = r1_value; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r1_clone_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num3` [INFO] [stdout] --> src/head_first_rust/chapter3.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let num3 = num1; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_num3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f2` [INFO] [stdout] --> src/head_first_rust/chapter3.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | let f2 = f1; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_f2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `add` is never read [INFO] [stdout] --> src/head_first_rust/chapter4.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | let mut add: fn((i32, i32)) -> i32 = add1 as fn((i32, i32)) -> i32; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fs1` [INFO] [stdout] --> src/head_first_rust/chapter6.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | let fs1 = fs; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_fs1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/head_first_rust/chapter11.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let c = b; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v4` [INFO] [stdout] --> src/head_first_rust/chapter11.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let v4 = v1; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v4` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v5` [INFO] [stdout] --> src/head_first_rust/chapter11.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | let v5 = v2; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v5` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v6` [INFO] [stdout] --> src/head_first_rust/chapter11.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let v6 = v3; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v6` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v8` [INFO] [stdout] --> src/head_first_rust/chapter11.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let v8 = v7; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v10` [INFO] [stdout] --> src/head_first_rust/chapter11.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let v10 = v9; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_v10` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/head_first_rust/chapter12.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | fn get_less<'a, 'b>(x: &'a i32, y: &'b i32) -> &'b i32 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/head_first_rust/chapter12.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let s = String::from("hehe"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/head_first_rust/chapter15.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | let p = &self.value as *const T as *mut T; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/head_first_rust/chapter15.rs:11:30 [INFO] [stdout] | [INFO] [stdout] 11 | fn set<'a, 'b>(&'a self, v: &'b T) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/head_first_rust/chapter15.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shared2` [INFO] [stdout] --> src/head_first_rust/chapter15.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let shared2 = &shared1; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shared2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p2` [INFO] [stdout] --> src/head_first_rust/chapter15.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | let p2 = &p1[0]; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s1` [INFO] [stdout] --> src/head_first_rust/chapter16.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let s1 = s.clone(); //(1) [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ps1` [INFO] [stdout] --> src/head_first_rust/chapter16.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let ps1 = (*s).clone(); //(2) [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ps1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pps1` [INFO] [stdout] --> src/head_first_rust/chapter16.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let pps1 = (**s).clone(); //(3) [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pps1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rs1` [INFO] [stdout] --> src/head_first_rust/chapter16.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | let rs1 = result1.as_ref(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rs1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/head_first_rust/chapter20.rs:65:18 [INFO] [stdout] | [INFO] [stdout] 65 | let (mut a, b) : (R, T) = (R::new(), T::new()); [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/head_first_rust/chapter20.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | let (mut a, b) : (R, T) = (R::new(), T::new()); [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/head_first_rust/chapter20.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let mut vec_20_nonzero: Vec = Vec::with_capacity(20); [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/head_first_rust/chapter20.rs:65:14 [INFO] [stdout] | [INFO] [stdout] 65 | let (mut a, b) : (R, T) = (R::new(), T::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/head_first_rust/chapter22.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | let mut closure = |x: i32| -> i32 { x + 2 }; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> src/head_first_rust/chapter24.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let v1 = Vec::::new(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> src/head_first_rust/chapter24.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let v2: Vec = Vec::with_capacity(1000); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v3` [INFO] [stdout] --> src/head_first_rust/chapter24.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let v3 = vec![1, 2, 3]; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/overflow.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | let y: [u64; 10000000] = [1; 10000000]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `guess` is never used [INFO] [stdout] --> src/guess.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn guess() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `variable_run` is never used [INFO] [stdout] --> src/basic.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn variable_run() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `take_ownership` is never used [INFO] [stdout] --> src/owner.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn take_ownership(s: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `change` is never used [INFO] [stdout] --> src/owner.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn change(s: &mut String) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dangle` is never used [INFO] [stdout] --> src/owner.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn dangle() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first_word` is never used [INFO] [stdout] --> src/owner.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn first_word(s: &String) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `owner_run` is never used [INFO] [stdout] --> src/owner.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn owner_run() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `User` is never constructed [INFO] [stdout] --> src/strukt.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct User { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserRef` is never constructed [INFO] [stdout] --> src/strukt.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | struct UserRef<'a, 'b> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rectangle` is never constructed [INFO] [stdout] --> src/strukt.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct Rectangle { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `area`, `set_width`, and `can_hold` are never used [INFO] [stdout] --> src/strukt.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 22 | impl Rectangle { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 23 | fn area(&self) -> u64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fn set_width(&mut self, width: u64) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | fn can_hold(&self, other: &Rectangle) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `build` is never used [INFO] [stdout] --> src/strukt.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 34 | impl Rectangle { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 35 | fn build(width: u64, height: u64) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `struct_run` is never used [INFO] [stdout] --> src/strukt.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn struct_run() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IpAddrNew` is never used [INFO] [stdout] --> src/enumer.rs:2:6 [INFO] [stdout] | [INFO] [stdout] 2 | enum IpAddrNew { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Message` is never used [INFO] [stdout] --> src/enumer.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | enum Message { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `call` is never used [INFO] [stdout] --> src/enumer.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 15 | impl Message { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 16 | fn call(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `enumer_run` is never used [INFO] [stdout] --> src/enumer.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn enumer_run() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Coin` is never used [INFO] [stdout] --> src/matcher.rs:1:6 [INFO] [stdout] | [INFO] [stdout] 1 | enum Coin { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `value_in_cents` is never used [INFO] [stdout] --> src/matcher.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn value_in_cents(coin: Coin) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `plus_one` is never used [INFO] [stdout] --> src/matcher.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn plus_one(x: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `match_run` is never used [INFO] [stdout] --> src/matcher.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn match_run() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collections_run` is never used [INFO] [stdout] --> src/collections.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn collections_run() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hashmap_run` is never used [INFO] [stdout] --> src/hashmap.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn hashmap_run() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `errors_run` is never used [INFO] [stdout] --> src/errors.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn errors_run() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> src/generic.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `x` is never used [INFO] [stdout] --> src/generic.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 5 | impl Point { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 6 | fn x(&self) -> &T { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `distance_from_origin` is never used [INFO] [stdout] --> src/generic.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl Point { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 11 | fn distance_from_origin(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generic_run` is never used [INFO] [stdout] --> src/generic.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn generic_run() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Summary` is never used [INFO] [stdout] --> src/traits.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Summary { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NewsArticle` is never constructed [INFO] [stdout] --> src/traits.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct NewsArticle { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tweet` is never constructed [INFO] [stdout] --> src/traits.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Tweet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> src/traits.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Pilot` is never used [INFO] [stdout] --> src/traits.rs:47:7 [INFO] [stdout] | [INFO] [stdout] 47 | trait Pilot { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Wizard` is never used [INFO] [stdout] --> src/traits.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | trait Wizard { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Human` is never constructed [INFO] [stdout] --> src/traits.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | struct Human; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fly` is never used [INFO] [stdout] --> src/traits.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 69 | impl Human { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 70 | fn fly(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Animal` is never used [INFO] [stdout] --> src/traits.rs:75:7 [INFO] [stdout] | [INFO] [stdout] 75 | trait Animal { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dog` is never constructed [INFO] [stdout] --> src/traits.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | struct Dog; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `baby_name` is never used [INFO] [stdout] --> src/traits.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 81 | impl Dog { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 82 | fn baby_name() -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `OutlinePrint` is never used [INFO] [stdout] --> src/traits.rs:95:7 [INFO] [stdout] | [INFO] [stdout] 95 | trait OutlinePrint: fmt::Display { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `trais_run` is never used [INFO] [stdout] --> src/traits.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn trais_run() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `D` is never constructed [INFO] [stdout] --> src/lifetime.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct D(i32); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `longest` is never used [INFO] [stdout] --> src/lifetime.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lifetime_run` is never used [INFO] [stdout] --> src/lifetime.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn lifetime_run() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `iter_run` is never used [INFO] [stdout] --> src/iter.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn iter_run() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ListSmart` is never used [INFO] [stdout] --> src/pointer.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | enum ListSmart { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ListRc` is never used [INFO] [stdout] --> src/pointer.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | enum ListRc { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pointer_run` is never used [INFO] [stdout] --> src/pointer.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn pointer_run() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/pointer.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl MyBox { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 47 | fn new(x: T) -> MyBox { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `List` is never used [INFO] [stdout] --> src/refcell.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | enum List { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Messenger` is never used [INFO] [stdout] --> src/refcell.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait Messenger { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LimitTracker` is never constructed [INFO] [stdout] --> src/refcell.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct LimitTracker<'a, T: Messenger> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `set_value` are never used [INFO] [stdout] --> src/refcell.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 20 | / impl<'a, T> LimitTracker<'a, T> [INFO] [stdout] 21 | | where [INFO] [stdout] 22 | | T: Messenger, [INFO] [stdout] | |_________________- associated items in this implementation [INFO] [stdout] 23 | { [INFO] [stdout] 24 | pub fn new(messenger: &'a T, max: usize) -> LimitTracker<'a, T> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn set_value(&mut self, value: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/weak.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `weak_run` is never used [INFO] [stdout] --> src/weak.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn weak_run() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `threads_run` is never used [INFO] [stdout] --> src/threads.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn threads_run() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `channels_run` is never used [INFO] [stdout] --> src/channels.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn channels_run() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mutes_run` is never used [INFO] [stdout] --> src/mutes.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn mutes_run() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> src/pattern.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pattern_run` is never used [INFO] [stdout] --> src/pattern.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn pattern_run() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `COUNTER` is never used [INFO] [stdout] --> src/unsafety.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | static mut COUNTER: i32 = 10; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unsafety_run` is never used [INFO] [stdout] --> src/unsafety.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn unsafety_run() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `abs` is never used [INFO] [stdout] --> src/unsafety.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | fn abs(i: i32) -> i32; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `functions_run` is never used [INFO] [stdout] --> src/functions.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn functions_run() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `invoke1` is never used [INFO] [stdout] --> src/macros.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn invoke1() {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pancakes` is never constructed [INFO] [stdout] --> src/macros.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | struct Pancakes; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `index` is never used [INFO] [stdout] --> src/macros.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn index(input: String) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `macros_run` is never used [INFO] [stdout] --> src/macros.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn macros_run() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_run` is never used [INFO] [stdout] --> src/read.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn read_run() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `S` is never constructed [INFO] [stdout] --> src/borrow.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct S { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test` is never used [INFO] [stdout] --> src/borrow.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn test<'a>(arg: &'a S) -> &'a i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test1` is never used [INFO] [stdout] --> src/borrow.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn test1<'a, 'b>(arg: &'a S) -> &'b i32 where 'a:'b { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `joint` is never used [INFO] [stdout] --> src/borrow.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn joint() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `seperate` is never used [INFO] [stdout] --> src/borrow.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn seperate() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `r` is never used [INFO] [stdout] --> src/borrow.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn r() -> &'static str { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `borrow_run` is never used [INFO] [stdout] --> src/borrow.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn borrow_run() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SharedValue` is never constructed [INFO] [stdout] --> src/smart_pointer.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct SharedValue { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `smart_pointer_run` is never used [INFO] [stdout] --> src/smart_pointer.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn smart_pointer_run() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `remove_spaces` is never used [INFO] [stdout] --> src/cow.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn remove_spaces<'a>(input: &'a str) -> Cow<'a, str> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cow_run` is never used [INFO] [stdout] --> src/cow.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn cow_run() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/mem_leak.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mem_leak_run` is never used [INFO] [stdout] --> src/mem_leak.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn mem_leak_run() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `intrin_run` is never used [INFO] [stdout] --> src/intrin.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn intrin_run() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `T1` is never used [INFO] [stdout] --> src/variant.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | trait T1 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `T2` is never used [INFO] [stdout] --> src/variant.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | trait T2: T1 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `T3` is never used [INFO] [stdout] --> src/variant.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | trait T3: T2 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ST1` is never constructed [INFO] [stdout] --> src/variant.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct ST1 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ST2` is never constructed [INFO] [stdout] --> src/variant.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | struct ST2 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ST3` is never constructed [INFO] [stdout] --> src/variant.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | struct ST3 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `echo1` is never used [INFO] [stdout] --> src/variant.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn echo1(x: & dyn T1) -> () { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `echo2` is never used [INFO] [stdout] --> src/variant.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn echo2(x: & dyn T2) -> () { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `echo3` is never used [INFO] [stdout] --> src/variant.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn echo3(x: & dyn T3) -> () { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `high` is never used [INFO] [stdout] --> src/variant.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn high(f1: &F) where F: Fn(& dyn T2) -> () { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `variant_run` is never used [INFO] [stdout] --> src/variant.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn variant_run() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ch3_run` is never used [INFO] [stdout] --> src/ch3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn ch3_run() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COUNT` is never used [INFO] [stdout] --> src/mutexs.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const COUNT: u32 = 1000000; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mutexs_run` is never used [INFO] [stdout] --> src/mutexs.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn mutexs_run() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `barrier_run` is never used [INFO] [stdout] --> src/barrier.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn barrier_run() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `condvar_run` is never used [INFO] [stdout] --> src/condvar.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn condvar_run() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter1_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter1.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn chapter1_run() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter3_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter3.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn chapter3_run() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `echo` is never used [INFO] [stdout] --> src/head_first_rust/chapter4.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn echo(x: &String) -> &String { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add1` is never used [INFO] [stdout] --> src/head_first_rust/chapter4.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn add1(t: (i32, i32)) -> i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add2` is never used [INFO] [stdout] --> src/head_first_rust/chapter4.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn add2((x, y): (i32, i32)) -> i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter4_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter4.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn chapter4_run() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter5_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter5.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn chapter5_run() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `func` is never used [INFO] [stdout] --> src/head_first_rust/chapter5.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl T { [INFO] [stdout] | ------ associated function in this implementation [INFO] [stdout] 27 | fn func(this: &Self) -> () { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `show_arr` is never used [INFO] [stdout] --> src/head_first_rust/chapter6.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn show_arr(xs: [i32; 5]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter6_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter6.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn chapter6_run() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `panic_with_i32` is never used [INFO] [stdout] --> src/head_first_rust/chapter8.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn panic_with_i32(x: i32) -> ! { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter8_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter8.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn chapter8_run() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter9_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter9.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn chapter9_run() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `T` is never constructed [INFO] [stdout] --> src/head_first_rust/chapter11.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct T { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter11_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter11.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn chapter11_run() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_less` is never used [INFO] [stdout] --> src/head_first_rust/chapter12.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn get_less<'a, 'b>(x: &'a i32, y: &'b i32) -> &'b i32 [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_str` is never used [INFO] [stdout] --> src/head_first_rust/chapter12.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn get_str(s: &String) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter12_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter12.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn chapter12_run() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter13_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter13.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn chapter13_run() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CellV1` is never constructed [INFO] [stdout] --> src/head_first_rust/chapter15.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct CellV1 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set`, and `get` are never used [INFO] [stdout] --> src/head_first_rust/chapter15.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 7 | impl CellV1 { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 8 | fn new(v: T) -> CellV1 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | fn set<'a, 'b>(&'a self, v: &'b T) [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | fn get(&self) -> T where T: Copy { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter15_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter15.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn chapter15_run() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter16_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter16.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn chapter16_run() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter17_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter17.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn chapter17_run() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter18_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter18.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn chapter18_run() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter19_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter19.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn chapter19_run() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Zero` is never constructed [INFO] [stdout] --> src/head_first_rust/chapter20.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct Zero {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NonZero` is never constructed [INFO] [stdout] --> src/head_first_rust/chapter20.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct NonZero { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `T` is never constructed [INFO] [stdout] --> src/head_first_rust/chapter20.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | struct T { dropped: bool } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/head_first_rust/chapter20.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl T { [INFO] [stdout] | ------ associated function in this implementation [INFO] [stdout] 12 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `R` is never constructed [INFO] [stdout] --> src/head_first_rust/chapter20.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | struct R<'a> { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `set_ref` are never used [INFO] [stdout] --> src/head_first_rust/chapter20.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 27 | impl<'a> R<'a> { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 28 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn set_ref<'b :'a>(&mut self, ptr: &'b T) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter20_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter20.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn chapter20_run() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_option` is never used [INFO] [stdout] --> src/head_first_rust/chapter21.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn compare_option(first: Option, second: Option) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `max` is never used [INFO] [stdout] --> src/head_first_rust/chapter21.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn max(a: T, b: T) -> T where T: PartialOrd { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Iter` is never used [INFO] [stdout] --> src/head_first_rust/chapter21.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | trait Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `use_iter` is never used [INFO] [stdout] --> src/head_first_rust/chapter21.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn use_iter(mut iter: ITER) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Graph` is never used [INFO] [stdout] --> src/head_first_rust/chapter21.rs:33:7 [INFO] [stdout] | [INFO] [stdout] 33 | trait Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter21_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter21.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn chapter21_run() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_adder` is never used [INFO] [stdout] --> src/head_first_rust/chapter22.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn make_adder(x: i32) -> Box i32> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `call_with_closure` is never used [INFO] [stdout] --> src/head_first_rust/chapter22.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn call_with_closure(some_closure: F) -> i32 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `static_dispatch` is never used [INFO] [stdout] --> src/head_first_rust/chapter22.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn static_dispatch(closure: &F) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dynamic_dispatch` is never used [INFO] [stdout] --> src/head_first_rust/chapter22.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn dynamic_dispatch(closure: &dyn Fn(i32) -> i32) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter22_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter22.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn chapter22_run() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Bird` is never used [INFO] [stdout] --> src/head_first_rust/chapter23.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | trait Bird { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Duck` is never constructed [INFO] [stdout] --> src/head_first_rust/chapter23.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | struct Duck; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Swan` is never constructed [INFO] [stdout] --> src/head_first_rust/chapter23.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct Swan; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test` is never used [INFO] [stdout] --> src/head_first_rust/chapter23.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn test(bird: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Animal` is never used [INFO] [stdout] --> src/head_first_rust/chapter23.rs:26:7 [INFO] [stdout] | [INFO] [stdout] 26 | trait Animal<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Flamingo` is never constructed [INFO] [stdout] --> src/head_first_rust/chapter23.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | struct Flamingo<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Crocdile` is never constructed [INFO] [stdout] --> src/head_first_rust/chapter23.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | struct Crocdile<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `show_animal_name` is never used [INFO] [stdout] --> src/head_first_rust/chapter23.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn show_animal_name<'a, T: Animal<'a>>(animal: &'a T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_traitobject` is never used [INFO] [stdout] --> src/head_first_rust/chapter23.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn print_traitobject(p: &dyn Bird) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Phone` is never used [INFO] [stdout] --> src/head_first_rust/chapter23.rs:69:7 [INFO] [stdout] | [INFO] [stdout] 69 | trait Phone { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `iPhone` is never constructed [INFO] [stdout] --> src/head_first_rust/chapter23.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | struct iPhone<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `SomeTrait` is never used [INFO] [stdout] --> src/head_first_rust/chapter23.rs:88:7 [INFO] [stdout] | [INFO] [stdout] 88 | trait SomeTrait { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Bang` is never constructed [INFO] [stdout] --> src/head_first_rust/chapter23.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | struct Bang; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multiply` is never used [INFO] [stdout] --> src/head_first_rust/chapter23.rs:100:4 [INFO] [stdout] | [INFO] [stdout] 100 | fn multiply(m: i32) -> Box i32> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combine_vecs_explicit_return_type` is never used [INFO] [stdout] --> src/head_first_rust/chapter23.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn combine_vecs_explicit_return_type( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combine_vecs` is never used [INFO] [stdout] --> src/head_first_rust/chapter23.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | fn combine_vecs( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_impl_return` is never used [INFO] [stdout] --> src/head_first_rust/chapter23.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn do_impl_return() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter23_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter23.rs:137:8 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn chapter23_run() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BPerson` is never constructed [INFO] [stdout] --> src/head_first_rust/chapter24.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct BPerson { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/head_first_rust/chapter24.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl BPerson { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 11 | fn new(first: &str, last: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NumberGenerator` is never constructed [INFO] [stdout] --> src/head_first_rust/chapter24.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct NumberGenerator { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter24_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter24.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn chapter24_run() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/head_first_rust/chapter24.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl Person { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 86 | fn new(first: &str, last: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chapter25_run` is never used [INFO] [stdout] --> src/head_first_rust/chapter25.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn chapter25_run() {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `overflow_run` is never used [INFO] [stdout] --> src/overflow.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn overflow_run() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused comparison that must be used [INFO] [stdout] --> src/basic.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | number % 2 == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 44 | let _ = number % 2 == 0; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/errors.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | io::stdin().read_line(&mut n); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 8 | let _ = io::stdin().read_line(&mut n); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `INITIAL` should have a snake case name [INFO] [stdout] --> src/lifetime.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | let INITIAL = 10; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `initial` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/unsafety.rs:45:39 [INFO] [stdout] | [INFO] [stdout] 45 | println!("now COUNTER is {}", COUNTER); [INFO] [stdout] | ^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/head_first_rust/chapter11.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | drop(v1); [INFO] [stdout] | ^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `i32` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_copy_types)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 30 - drop(v1); [INFO] [stdout] 30 + let _ = v1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused [INFO] [stdout] --> src/head_first_rust/chapter19.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 10 | let raw_mut = &mut y as *mut u32 as *mut i32 as *mut i64; // 这是安全的 [INFO] [stdout] | ------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | backing allocation comes from here [INFO] [stdout] | casting happened here [INFO] [stdout] ... [INFO] [stdout] 13 | *raw_mut = -1; // 这是不安全的,必须在 unsafe 块中才能通过编译 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: casting from `u32` (4 bytes) to `i64` (8 bytes) [INFO] [stdout] = note: `#[deny(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rust-playground` (bin "rust-playground") due to 1 previous error; 234 warnings emitted [INFO] running `Command { std: "docker" "inspect" "625eb6bc7ca6608c51df0e7ba6a63849a7ed79c35413c4aee3e23e1e0cc424b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "625eb6bc7ca6608c51df0e7ba6a63849a7ed79c35413c4aee3e23e1e0cc424b6", kill_on_drop: false }` [INFO] [stdout] 625eb6bc7ca6608c51df0e7ba6a63849a7ed79c35413c4aee3e23e1e0cc424b6