[INFO] cloning repository https://github.com/Reso1mi/rust-demo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Reso1mi/rust-demo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FReso1mi%2Frust-demo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FReso1mi%2Frust-demo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1255da9568c7e15e74b728a249d53550b5d80cfc
[INFO] checking Reso1mi/rust-demo against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FReso1mi%2Frust-demo" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Reso1mi/rust-demo
[INFO] finished tweaking git repo https://github.com/Reso1mi/rust-demo
[INFO] tweaked toml for git repo https://github.com/Reso1mi/rust-demo written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Reso1mi/rust-demo on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Reso1mi/rust-demo 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded trpl v0.2.0
[INFO] [stderr]   Downloaded atoi v0.3.3
[INFO] [stderr]   Downloaded mini-redis v0.4.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f1a0aaa0ce2926e6e2b2be676e51c8cef661774db849264624a72a8a1bc1498f
[INFO] running `Command { std: "docker" "start" "-a" "f1a0aaa0ce2926e6e2b2be676e51c8cef661774db849264624a72a8a1bc1498f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f1a0aaa0ce2926e6e2b2be676e51c8cef661774db849264624a72a8a1bc1498f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1a0aaa0ce2926e6e2b2be676e51c8cef661774db849264624a72a8a1bc1498f", kill_on_drop: false }`
[INFO] [stdout] f1a0aaa0ce2926e6e2b2be676e51c8cef661774db849264624a72a8a1bc1498f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7704f168e767edfd62671392f193d38792c10729152dbacdca0d9c4a90561806
[INFO] running `Command { std: "docker" "start" "-a" "7704f168e767edfd62671392f193d38792c10729152dbacdca0d9c4a90561806", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]     Checking cfg-if v1.0.1
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]     Checking value-bag v1.11.1
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking bitflags v2.9.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling cc v1.2.34
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking parking v2.2.1
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking litemap v0.8.0
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]     Checking writeable v0.6.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking precomputed-hash v0.1.1
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]     Checking mac v0.1.1
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]     Checking dtoa v1.0.10
[INFO] [stderr]     Checking futf v0.1.5
[INFO] [stderr]     Checking indexmap v2.11.0
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking openssl-probe v0.1.6
[INFO] [stderr]     Checking dtoa-short v0.3.5
[INFO] [stderr]     Checking tendril v0.4.3
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking regex-syntax v0.6.29
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]     Checking regex-syntax v0.8.6
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking async-task v4.7.1
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking phf v0.10.1
[INFO] [stderr]     Checking async-lock v3.4.1
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking piper v0.2.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]     Checking servo_arc v0.3.0
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]     Checking iri-string v0.7.8
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking iana-time-zone v0.1.63
[INFO] [stderr]     Checking unicode-width v0.2.1
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking async-executor v1.13.2
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking getopts v0.2.23
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking tracing-log v0.1.4
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking string_cache v0.8.9
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking tracing-serde v0.1.3
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking regex-automata v0.4.10
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking ego-tree v0.6.3
[INFO] [stderr]     Checking event-listener v2.5.3
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]     Checking atoi v0.3.3
[INFO] [stderr]     Checking kv-log-macro v1.0.7
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]     Checking matchers v0.0.1
[INFO] [stderr]    Compiling selectors v0.25.0
[INFO] [stderr]    Compiling markup5ever v0.12.1
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling async-attributes v1.1.2
[INFO] [stderr]    Compiling hello_macro_derive v0.1.0 (/opt/rustwide/workdir/hello_macro_derive)
[INFO] [stderr]     Checking regex v1.11.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking structopt v0.3.26
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling html5ever v0.27.0
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking polling v3.10.0
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking cssparser v0.31.2
[INFO] [stderr]     Checking async-io v2.5.0
[INFO] [stderr]     Checking async-global-executor v2.4.1
[INFO] [stderr]     Checking async-std v1.13.2
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking tracing-subscriber v0.2.25
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking scraper v0.20.0
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.6
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking mini-redis v0.4.1
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking hyper v1.7.0
[INFO] [stderr]     Checking hyper-util v0.1.16
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.23
[INFO] [stderr]     Checking trpl v0.2.0
[INFO] [stderr]     Checking rust-demo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/bin/rc_arc_1.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let c = &s;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc`
[INFO] [stdout]   --> src/bin/rc_arc_1.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let rc = Rc::new(s);
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_rc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/ownership_2.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut other_string = String::from("other");
[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/bin/ownership_2.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn test3(mut s: &mut String) {
[INFO] [stdout]    |          ----^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt::format`
[INFO] [stdout]  --> src/bin/async_echo_server.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fmt::format,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/rc_arc_1.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut a = Rc::new(s);
[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/bin/rc_arc_1.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let mut b = Rc::clone(&a);
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/bin/rc_arc_1.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let a = Box::new(s);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/bin/rc_arc_1.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let c = Rc::clone(&a);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rc_thread` is never used
[INFO] [stdout]   --> src/bin/rc_arc_1.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn rc_thread() {
[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 `rc_case` is never used
[INFO] [stdout]   --> src/bin/rc_arc_1.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn rc_case() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rc_deref_mut` is never used
[INFO] [stdout]   --> src/bin/rc_arc_1.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn rc_deref_mut() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_1` is never used
[INFO] [stdout]    --> src/bin/rc_arc_1.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn test_1() {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]   --> src/bin/ownership_2.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let z = &mut kk;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/bin/ownership_2.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let n = *(&num);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deref_test` is never used
[INFO] [stdout]   --> src/bin/ownership_2.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn deref_test() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/bin/ownership_2.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct Point<T, U> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_x`, `get_x_3`, and `mixup` are never used
[INFO] [stdout]   --> src/bin/ownership_2.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl<T, U> Point<T, U> {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] 61 |     // 返回引用，不涉及所有权
[INFO] [stdout] 62 |     fn get_x(&self) -> &T {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     fn get_x_3(self) -> T {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn mixup<Z, W>(self, p: Point<U, W>) -> Point<T, W> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/vector_1.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut v = vec![1, 2, 3, 4, 5, 6];
[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: field `0` is never read
[INFO] [stdout]   --> src/bin/vector_1.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         BTC(String),
[INFO] [stdout]    |         --- ^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Coin` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 38 -         BTC(String),
[INFO] [stdout] 38 +         BTC(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/vector_1.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         ETH(u32),
[INFO] [stdout]    |         --- ^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Coin` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 39 -         ETH(u32),
[INFO] [stdout] 39 +         ETH(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/vector_1.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         SOL(f64),
[INFO] [stdout]    |         --- ^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Coin` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 40 -         SOL(f64),
[INFO] [stdout] 40 +         SOL(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thread_cond` is never used
[INFO] [stdout]   --> src/bin/thread_1.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn thread_cond() {
[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 `thread_local` is never used
[INFO] [stdout]   --> src/bin/thread_1.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn thread_local() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thread_barrier` is never used
[INFO] [stdout]   --> src/bin/thread_1.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn thread_barrier() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `child_child_thread` is never used
[INFO] [stdout]    --> src/bin/thread_1.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn child_child_thread() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thread_spawn_move` is never used
[INFO] [stdout]    --> src/bin/thread_1.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn thread_spawn_move() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thread_spawn` is never used
[INFO] [stdout]    --> src/bin/thread_1.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn thread_spawn() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/bin/rc_arc_1.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let c = &s;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc`
[INFO] [stdout]   --> src/bin/rc_arc_1.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let rc = Rc::new(s);
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_rc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/rc_arc_1.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut a = Rc::new(s);
[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/bin/rc_arc_1.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let mut b = Rc::clone(&a);
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/bin/rc_arc_1.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let a = Box::new(s);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/bin/rc_arc_1.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let c = Rc::clone(&a);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rc_thread` is never used
[INFO] [stdout]   --> src/bin/rc_arc_1.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn rc_thread() {
[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 `rc_case` is never used
[INFO] [stdout]   --> src/bin/rc_arc_1.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn rc_case() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rc_deref_mut` is never used
[INFO] [stdout]   --> src/bin/rc_arc_1.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn rc_deref_mut() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_1` is never used
[INFO] [stdout]    --> src/bin/rc_arc_1.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn test_1() {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/thread_1.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     handle1.join();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 28 |     let _ = handle1.join();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/thread_1.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     handle2.join();
[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] 29 |     let _ = handle2.join();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/thread_1.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     t.join();
[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] 80 |     let _ = t.join();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/thread_1.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         h.join();
[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] 101 |         let _ = h.join();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/bin/proc_marcro_1.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct SomeData(u32, String);
[INFO] [stdout]    |        -------- ^^^  ^^^^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        fields in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing these fields
[INFO] [stdout]    = note: `SomeData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `data` are never read
[INFO] [stdout]   --> src/bin/proc_marcro_1.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct User {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 15 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 16 |     data: SomeData,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/bin/send_sync_1.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct MyBox(*const u8);
[INFO] [stdout]   |        ----- ^^^^^^^^^
[INFO] [stdout]   |        |
[INFO] [stdout]   |        field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `MyBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/iter_1.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut s_arr = ["8".to_string(), "9".to_string(), "10".to_string()];
[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: unused variable: `v_iter`
[INFO] [stdout]  --> src/bin/iter_1.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let v_iter = v.iter();
[INFO] [stdout]   |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_iter`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_iter`
[INFO] [stdout]  --> src/bin/iter_1.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let v_iter = v.iter_mut();
[INFO] [stdout]   |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/iter_1.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let mut iter = v.iter();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sim_for` is never used
[INFO] [stdout]   --> src/bin/iter_1.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn sim_for() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `some_int`
[INFO] [stdout]   --> src/bin/match_r.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let some_int = Some(32);
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_int`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::slice::IterMut` that must be used
[INFO] [stdout]  --> src/bin/iter_1.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     a.iter_mut();
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: iterators are lazy and do nothing unless consumed
[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] 5 |     let _ = a.iter_mut();
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `some_char`
[INFO] [stdout]   --> src/bin/match_r.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let some_char = Some('b');
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_char`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `null_int`
[INFO] [stdout]   --> src/bin/match_r.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let null_int: Option<i32> = None;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_null_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message` is never used
[INFO] [stdout]  --> src/bin/match_r.rs:1:6
[INFO] [stdout]   |
[INFO] [stdout] 1 | enum Message {
[INFO] [stdout]   |      ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IpAddrKind` is never used
[INFO] [stdout]  --> src/bin/match_r.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | enum IpAddrKind {
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/match_r.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 |     V4(String),
[INFO] [stdout]    |     -- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IpAddr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 16 -     V4(String),
[INFO] [stdout] 16 +     V4(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `V6` is never constructed
[INFO] [stdout]   --> src/bin/match_r.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum IpAddr {
[INFO] [stdout]    |      ------ variant in this enum
[INFO] [stdout] 16 |     V4(String),
[INFO] [stdout] 17 |     V6(String),
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IpAddr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `USA` and `Japan` are never constructed
[INFO] [stdout]   --> src/bin/match_r.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum Holder {
[INFO] [stdout]    |      ------ variants in this enum
[INFO] [stdout] 22 |     China,
[INFO] [stdout] 23 |     USA,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 24 |     Japan,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Holder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BTC` and `ETH` are never constructed
[INFO] [stdout]   --> src/bin/match_r.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum Coin {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] 28 |     BTC,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 29 |     ETH,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mbc`
[INFO] [stdout]   --> src/bin/cell_refcell_1.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mbc = c.borrow_mut();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_mbc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cell_from_mut` is never used
[INFO] [stdout]   --> src/bin/cell_refcell_1.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn cell_from_mut() {
[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 `refcell_inner_mut` is never used
[INFO] [stdout]   --> src/bin/cell_refcell_1.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn refcell_inner_mut() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_refcell` is never used
[INFO] [stdout]   --> src/bin/cell_refcell_1.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn test_refcell() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_cell` is never used
[INFO] [stdout]   --> src/bin/cell_refcell_1.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn test_cell() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]  --> src/bin/ownership.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn test() {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/ownership_3.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut str_opt2 = &StrOpt {
[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: unused variable: `v`
[INFO] [stdout]   --> src/bin/ownership_3.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let v = match &str_opt.value {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/ownership_3.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let v = match str_opt.value {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/ownership_3.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let v = match str_opt.value {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/ownership_3.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let v = match s.raw_int {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str_opt2`
[INFO] [stdout]   --> src/bin/ownership_3.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut str_opt2 = &StrOpt {
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_str_opt2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]    --> src/bin/ownership_3.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let z = (self.calc)(&arg);
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cache` is never constructed
[INFO] [stdout]    --> src/bin/ownership_3.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | struct Cache<F, K, V>
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_value` are never used
[INFO] [stdout]    --> src/bin/ownership_3.rs:119:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | / impl<F, K, V> Cache<F, K, V>
[INFO] [stdout] 114 | | where
[INFO] [stdout] 115 | |     F: Fn(&K) -> V,
[INFO] [stdout] 116 | |     K: Eq + Hash + Clone,
[INFO] [stdout] 117 | |     V: Debug,
[INFO] [stdout]     | |_____________- associated items in this implementation
[INFO] [stdout] 118 |   {
[INFO] [stdout] 119 |       fn new(calc: F) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |       fn get_value(&mut self, arg: K) -> &V {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `fmt::Display`, and `hash::Hash`
[INFO] [stdout]  --> src/bin/closure_1.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, fmt::Display, hash::Hash, thread, time::Duration};
[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 variable: `i`
[INFO] [stdout]   --> src/bin/lifetime_3.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let i = list.get_interface_2();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/bin/lifetime_3.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let c = get();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `manager` is never read
[INFO] [stdout]  --> src/bin/lifetime_3.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Interface<'a, 'b> {
[INFO] [stdout]   |        --------- field in this struct
[INFO] [stdout] 2 |     manager: &'b mut Manager<'a>,
[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 `noop` is never used
[INFO] [stdout]  --> src/bin/lifetime_3.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl<'a, 'b> Interface<'a, 'b> {
[INFO] [stdout]   | ------------------------------ method in this implementation
[INFO] [stdout] 6 |     pub fn noop(self) {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get` is never used
[INFO] [stdout]   --> src/bin/lifetime_3.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn get() -> &'static String {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `a` is never used
[INFO] [stdout]   --> src/bin/lifetime_3.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn a() {
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/closure_1.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut mod_x = || x.push(1); //FnMut
[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: unused variable: `expensive_closure`
[INFO] [stdout]   --> src/bin/closure_1.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let expensive_closure = |num: u32| {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expensive_closure`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mod_x`
[INFO] [stdout]   --> src/bin/closure_1.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mod_x = || print!("{:?}", x); //Fn
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_mod_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mod_x`
[INFO] [stdout]   --> src/bin/closure_1.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut mod_x = || x.push(1); //FnMut
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mod_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mod_x`
[INFO] [stdout]   --> src/bin/closure_1.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mod_x = || x; //FnOnce
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_mod_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/bin/pin_2.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Deref, DerefMut};
[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: `ptr::swap`
[INFO] [stdout]  --> src/bin/pin_2.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{pin::Pin, ptr::swap};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/pin_2.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut test1 = test1.as_mut();
[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/bin/pin_2.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut test2 = test2.as_mut();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test1`
[INFO] [stdout]   --> src/bin/pin_2.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut test1 = test1.as_mut();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test2`
[INFO] [stdout]   --> src/bin/pin_2.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut test2 = test2.as_mut();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pin_heap` is never used
[INFO] [stdout]  --> src/bin/pin_2.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn pin_heap() {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `a`, and `b` are never used
[INFO] [stdout]   --> src/bin/pin_2.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     impl Test {
[INFO] [stdout]    |     --------- associated items in this implementation
[INFO] [stdout] 18 |         fn new(txt: &str) -> Pin<Box<Self>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |         fn a<'a>(self: Pin<&'a Self>) -> &'a str {
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 35 |         fn b<'a>(self: Pin<&'a Self>) -> &'a String {
[INFO] [stdout]    |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pin_stack` is never used
[INFO] [stdout]   --> src/bin/pin_2.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn pin_stack() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `init`, `a`, and `b` are never used
[INFO] [stdout]   --> src/bin/pin_2.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     impl Test {
[INFO] [stdout]    |     --------- associated items in this implementation
[INFO] [stdout] 64 |         fn new(txt: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |         fn init<'a>(self: Pin<&'a mut Self>) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |         fn a<'a>(self: Pin<&'a Self>) -> &'a str {
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 82 |         fn b<'a>(self: Pin<&'a Self>) -> &'a String {
[INFO] [stdout]    |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `swap_move` is never used
[INFO] [stdout]    --> src/bin/pin_2.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn swap_move() {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_pinned_ref` is never used
[INFO] [stdout]    --> src/bin/pin_2.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn move_pinned_ref<T>(mut a: T, mut b: T) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_pinned_ref_unpin` is never used
[INFO] [stdout]    --> src/bin/pin_2.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn move_pinned_ref_unpin<T: Unpin>(mut a: T, mut b: T) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_pined_ref_2` is never used
[INFO] [stdout]    --> src/bin/pin_2.rs:143:4
[INFO] [stdout]     |
[INFO] [stdout] 143 | fn move_pined_ref_2() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Arc`
[INFO] [stdout]  --> src/bin/async_demo_3_chan.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::Arc, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/static_1.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut v = "s13".to_string();
[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: unused variable: `c`
[INFO] [stdout]   --> src/bin/static_1.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let c = 1;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/static_1.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut v = "s13".to_string();
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `REQUEST_RECV` is never used
[INFO] [stdout]   --> src/bin/static_1.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | static mut REQUEST_RECV: usize = 0;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]   --> src/bin/static_1.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Config {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CONFIG` is never used
[INFO] [stdout]   --> src/bin/static_1.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | static mut CONFIG: Option<&'static mut Config> = None;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CONFIG_2` is never used
[INFO] [stdout]   --> src/bin/static_1.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | static CONFIG_2: OnceLock<Config> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test2` is never used
[INFO] [stdout]   --> src/bin/static_1.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn test2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_box_leak` is never used
[INFO] [stdout]   --> src/bin/static_1.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn test_box_leak() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]  --> src/bin/async_demo_3_chan.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn test1() {
[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 `test2` is never used
[INFO] [stdout]   --> src/bin/async_demo_3_chan.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn test2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test3` is never used
[INFO] [stdout]   --> src/bin/async_demo_3_chan.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn test3() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test4` is never used
[INFO] [stdout]   --> src/bin/async_demo_3_chan.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn test4() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::HelloMacro`
[INFO] [stdout]  --> src/bin/marcro_1.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use utils::HelloMacro;
[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 variable: `p`
[INFO] [stdout]   --> src/bin/generics_1.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let p = Point { x: 1, y: 2 };
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]  --> src/bin/generics_1.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Point<T, U> {
[INFO] [stdout]   |        ----- fields in this struct
[INFO] [stdout] 4 |     x: T,
[INFO] [stdout]   |     ^
[INFO] [stdout] 5 |     y: U,
[INFO] [stdout]   |     ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_x` and `mixup` are never used
[INFO] [stdout]   --> src/bin/generics_1.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl<T, U> Point<T, U> {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout]  9 |     fn get_x(&self) -> &T {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn mixup<Z, W>(self, p: Point<U, W>) -> Point<T, W> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest` is never used
[INFO] [stdout]   --> src/bin/generics_1.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn largest<T: PartialOrd>(list: &Vec<T>) -> &T {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_2` is never used
[INFO] [stdout]   --> src/bin/generics_1.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn largest_2<T: PartialOrd + Copy>(list: &Vec<T>) -> T {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/box_1.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut arr_s = vec!["1".to_string(), "2".to_string()];
[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: unused variable: `f`
[INFO] [stdout]   --> src/bin/box_1.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let f = arr_s.index(0);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]   --> src/bin/box_1.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let (first, second) = (&arr[0], &arr[1]);
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second`
[INFO] [stdout]   --> src/bin/box_1.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let (first, second) = (&arr[0], &arr[1]);
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_second`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Output`
[INFO] [stdout]  --> src/bin/async_2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::process::Output;
[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 variable: `arr1`
[INFO] [stdout]    --> src/bin/box_1.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let arr1 = arr;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_arr1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr2`
[INFO] [stdout]    --> src/bin/box_1.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let arr2 = arr;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_arr2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr3`
[INFO] [stdout]    --> src/bin/box_1.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let arr3 = arr;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_arr3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `List` is never used
[INFO] [stdout]   --> src/bin/box_1.rs:97:14
[INFO] [stdout]    |
[INFO] [stdout] 97 |         enum List {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Arc`
[INFO] [stdout]  --> src/bin/async_demo_3_chan.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::Arc, time::Duration};
[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 imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/bin/pin_2.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Deref, DerefMut};
[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 variable: `future_one`
[INFO] [stdout]   --> src/bin/async_2.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let future_one = async move {
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_future_one`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ptr::swap`
[INFO] [stdout]  --> src/bin/pin_2.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{pin::Pin, ptr::swap};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `foo` is never used
[INFO] [stdout]  --> src/bin/async_2.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | async fn foo() -> u8 {
[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 `bar` is never used
[INFO] [stdout]  --> src/bin/async_2.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn bar() -> impl Future<Output = u8> {
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blocks` is never used
[INFO] [stdout]   --> src/bin/async_2.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |     async fn blocks() {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blocks_2` is never used
[INFO] [stdout]   --> src/bin/async_2.rs:52:14
[INFO] [stdout]    |
[INFO] [stdout] 52 |     async fn blocks_2<'a>(my_string: &'a String) -> impl Future<Output = ()> + 'a {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `foo` is never used
[INFO] [stdout]   --> src/bin/async_2.rs:77:14
[INFO] [stdout]    |
[INFO] [stdout] 77 |     async fn foo(x: &u8) -> u8 {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `foo_expanded` is never used
[INFO] [stdout]   --> src/bin/async_2.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn foo_expanded<'a>(x: &'a u8) -> impl Future<Output = u8> + 'a {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `good` is never used
[INFO] [stdout]   --> src/bin/async_2.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn good() -> impl Future<Output = u8> + 'static {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `good2` is never used
[INFO] [stdout]    --> src/bin/async_2.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn good2() -> impl Future<Output = u8> + 'static {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `borrow_x` is never used
[INFO] [stdout]    --> src/bin/async_2.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 |     async fn borrow_x(x: &u8) -> u8 {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_bytes` that must be used
[INFO] [stdout]   --> src/bin/async_2.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     z.as_bytes();
[INFO] [stdout]    |     ^^^^^^^^^^^^
[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] 30 |     let _ = z.as_bytes();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/bin/vector_2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/pin_2.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut test1 = test1.as_mut();
[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/bin/pin_2.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut test2 = test2.as_mut();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test1`
[INFO] [stdout]   --> src/bin/pin_2.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut test1 = test1.as_mut();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test2`
[INFO] [stdout]   --> src/bin/pin_2.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut test2 = test2.as_mut();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]  --> src/bin/vector_2.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let m = String::new();
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]  --> src/bin/vector_2.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let l = "test".to_string();
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ll`
[INFO] [stdout]  --> src/bin/vector_2.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let ll = String::from("test");
[INFO] [stdout]   |         ^^ help: if this is intentional, prefix it with an underscore: `_ll`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]  --> src/bin/vector_2.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let hello = String::from("السلام عليكم");
[INFO] [stdout]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]  --> src/bin/vector_2.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let hello = String::from("Dobrý den");
[INFO] [stdout]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let hello = String::from("Hello");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let hello = String::from("שָׁלוֹם");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let hello = String::from("नमस्ते");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let hello = String::from("こんにちは");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let hello = String::from("안녕하세요");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let hello = String::from("你好");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let hello = String::from("Olá");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let hello = String::from("Здравствуйте");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let hello = String::from("Hola");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pin_heap` is never used
[INFO] [stdout]  --> src/bin/pin_2.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn pin_heap() {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `a`, and `b` are never used
[INFO] [stdout]   --> src/bin/pin_2.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     impl Test {
[INFO] [stdout]    |     --------- associated items in this implementation
[INFO] [stdout] 18 |         fn new(txt: &str) -> Pin<Box<Self>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |         fn a<'a>(self: Pin<&'a Self>) -> &'a str {
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 35 |         fn b<'a>(self: Pin<&'a Self>) -> &'a String {
[INFO] [stdout]    |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pin_stack` is never used
[INFO] [stdout]   --> src/bin/pin_2.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn pin_stack() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `init`, `a`, and `b` are never used
[INFO] [stdout]   --> src/bin/pin_2.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     impl Test {
[INFO] [stdout]    |     --------- associated items in this implementation
[INFO] [stdout] 64 |         fn new(txt: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |         fn init<'a>(self: Pin<&'a mut Self>) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |         fn a<'a>(self: Pin<&'a Self>) -> &'a str {
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 82 |         fn b<'a>(self: Pin<&'a Self>) -> &'a String {
[INFO] [stdout]    |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `swap_move` is never used
[INFO] [stdout]    --> src/bin/pin_2.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn swap_move() {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_pinned_ref` is never used
[INFO] [stdout]    --> src/bin/pin_2.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn move_pinned_ref<T>(mut a: T, mut b: T) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_pinned_ref_unpin` is never used
[INFO] [stdout]    --> src/bin/pin_2.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn move_pinned_ref_unpin<T: Unpin>(mut a: T, mut b: T) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_pined_ref_2` is never used
[INFO] [stdout]    --> src/bin/pin_2.rs:143:4
[INFO] [stdout]     |
[INFO] [stdout] 143 | fn move_pined_ref_2() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/bin/struct_r.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Point(u32, u32);
[INFO] [stdout]   |        ----- ^^^
[INFO] [stdout]   |        |
[INFO] [stdout]   |        field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 9 - struct Point(u32, u32);
[INFO] [stdout] 9 + struct Point((), u32);
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_w` and `area2` are never used
[INFO] [stdout]   --> src/bin/struct_r.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Rectangle {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 18 |     fn get_w(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn area2(self, c: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_user` is never used
[INFO] [stdout]   --> src/bin/struct_r.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn build_user(email: String, name: String, active: bool) -> User {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/ownership_3.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut str_opt2 = &StrOpt {
[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: unused variable: `v`
[INFO] [stdout]   --> src/bin/ownership_3.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let v = match &str_opt.value {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cloned`
[INFO] [stdout]   --> src/bin/type_1.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let cloned = value.clone();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloned`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/ownership_3.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let v = match str_opt.value {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/ownership_3.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let v = match str_opt.value {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/ownership_3.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let v = match s.raw_int {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `str_opt2`
[INFO] [stdout]   --> src/bin/ownership_3.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut str_opt2 = &StrOpt {
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_str_opt2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/type_1.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut a = &mut 0;
[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/bin/type_1.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut b = &0;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]    --> src/bin/ownership_3.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let z = (self.calc)(&arg);
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_value` is never used
[INFO] [stdout]   --> src/bin/ownership_3.rs:73:16
[INFO] [stdout]    |
[INFO] [stdout] 72 |         impl StrOpt {
[INFO] [stdout]    |         ----------- method in this implementation
[INFO] [stdout] 73 |             fn get_value(&self) -> &String {
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cache` is never constructed
[INFO] [stdout]    --> src/bin/ownership_3.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | struct Cache<F, K, V>
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_value` are never used
[INFO] [stdout]    --> src/bin/ownership_3.rs:119:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | / impl<F, K, V> Cache<F, K, V>
[INFO] [stdout] 114 | | where
[INFO] [stdout] 115 | |     F: Fn(&K) -> V,
[INFO] [stdout] 116 | |     K: Eq + Hash + Clone,
[INFO] [stdout] 117 | |     V: Debug,
[INFO] [stdout]     | |_____________- associated items in this implementation
[INFO] [stdout] 118 |   {
[INFO] [stdout] 119 |       fn new(calc: F) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |       fn get_value(&mut self, arg: K) -> &V {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/bin/hashmap.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let a = if true { 1 } else { 2 };
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/bin/type_1.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut a = &mut 0;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/bin/type_1.rs:21:27
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn recive_2<T: Trait>(t: T) {}
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_stuff` is never used
[INFO] [stdout]  --> src/bin/type_1.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn do_stuff<T: Clone>(value: &T) {
[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 `send_recv` is never used
[INFO] [stdout]  --> src/bin/async_stream_1.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | async fn send_recv() {
[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 `sum_with_next` is never used
[INFO] [stdout]   --> src/bin/async_stream_1.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | async fn sum_with_next(mut stream: Pin<&mut dyn Stream<Item = i32>>) -> i32 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_with_try_next` is never used
[INFO] [stdout]   --> src/bin/async_stream_1.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | async fn sum_with_try_next(
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `page_title_2` is never used
[INFO] [stdout]   --> src/bin/async_demo_1.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn page_title_2(url: &str) -> impl Future<Output = Option<String>> {
[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 `test1` is never used
[INFO] [stdout]  --> src/bin/async_demo_3_chan.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn test1() {
[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 `test2` is never used
[INFO] [stdout]   --> src/bin/async_demo_3_chan.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn test2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `path`
[INFO] [stdout]  --> src/bin/error_r.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fs, path};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test3` is never used
[INFO] [stdout]   --> src/bin/async_demo_3_chan.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn test3() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test4` is never used
[INFO] [stdout]   --> src/bin/async_demo_3_chan.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn test4() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::Not`
[INFO] [stdout]  --> src/bin/error_r.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fs::File, ops::Not};
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]  --> src/bin/error_r.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let v = vec![1, 2, 3, 4];
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/bin/error_r.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |             other => panic!("error"),
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Other`
[INFO] [stdout]    |
[INFO] [stdout] 18 -             other => panic!("error"),
[INFO] [stdout] 18 +             std::io::ErrorKind::Other => panic!("error"),
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 18 |             _other => panic!("error"),
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/lifetime_3.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let i = list.get_interface_2();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/bin/lifetime_3.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let c = get();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `manager` is never read
[INFO] [stdout]  --> src/bin/lifetime_3.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Interface<'a, 'b> {
[INFO] [stdout]   |        --------- field in this struct
[INFO] [stdout] 2 |     manager: &'b mut Manager<'a>,
[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 `noop` is never used
[INFO] [stdout]  --> src/bin/lifetime_3.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl<'a, 'b> Interface<'a, 'b> {
[INFO] [stdout]   | ------------------------------ method in this implementation
[INFO] [stdout] 6 |     pub fn noop(self) {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get` is never used
[INFO] [stdout]   --> src/bin/lifetime_3.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn get() -> &'static String {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `a` is never used
[INFO] [stdout]   --> src/bin/lifetime_3.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn a() {
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]  --> src/bin/async_demo_close.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | async fn test() {
[INFO] [stdout]   |          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/bin/send_sync_1.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct MyBox(*const u8);
[INFO] [stdout]   |        ----- ^^^^^^^^^
[INFO] [stdout]   |        |
[INFO] [stdout]   |        field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `MyBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/bin/proc_marcro_1.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct SomeData(u32, String);
[INFO] [stdout]    |        -------- ^^^  ^^^^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        fields in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing these fields
[INFO] [stdout]    = note: `SomeData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `data` are never read
[INFO] [stdout]   --> src/bin/proc_marcro_1.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct User {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 15 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 16 |     data: SomeData,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Output`
[INFO] [stdout]  --> src/bin/async_2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::process::Output;
[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 variable: `mbc`
[INFO] [stdout]   --> src/bin/cell_refcell_1.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mbc = c.borrow_mut();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_mbc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cell_from_mut` is never used
[INFO] [stdout]   --> src/bin/cell_refcell_1.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn cell_from_mut() {
[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 `refcell_inner_mut` is never used
[INFO] [stdout]   --> src/bin/cell_refcell_1.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn refcell_inner_mut() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_refcell` is never used
[INFO] [stdout]   --> src/bin/cell_refcell_1.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn test_refcell() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_cell` is never used
[INFO] [stdout]   --> src/bin/cell_refcell_1.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn test_cell() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `some_int`
[INFO] [stdout]   --> src/bin/match_r.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let some_int = Some(32);
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_int`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `some_char`
[INFO] [stdout]   --> src/bin/match_r.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let some_char = Some('b');
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_char`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `null_int`
[INFO] [stdout]   --> src/bin/match_r.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let null_int: Option<i32> = None;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_null_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message` is never used
[INFO] [stdout]  --> src/bin/match_r.rs:1:6
[INFO] [stdout]   |
[INFO] [stdout] 1 | enum Message {
[INFO] [stdout]   |      ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IpAddrKind` is never used
[INFO] [stdout]  --> src/bin/match_r.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | enum IpAddrKind {
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/match_r.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 |     V4(String),
[INFO] [stdout]    |     -- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IpAddr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 16 -     V4(String),
[INFO] [stdout] 16 +     V4(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `V6` is never constructed
[INFO] [stdout]   --> src/bin/match_r.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum IpAddr {
[INFO] [stdout]    |      ------ variant in this enum
[INFO] [stdout] 16 |     V4(String),
[INFO] [stdout] 17 |     V6(String),
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IpAddr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `USA` and `Japan` are never constructed
[INFO] [stdout]   --> src/bin/match_r.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum Holder {
[INFO] [stdout]    |      ------ variants in this enum
[INFO] [stdout] 22 |     China,
[INFO] [stdout] 23 |     USA,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 24 |     Japan,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Holder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BTC` and `ETH` are never constructed
[INFO] [stdout]   --> src/bin/match_r.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum Coin {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] 28 |     BTC,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 29 |     ETH,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt::format`
[INFO] [stdout]  --> src/bin/async_echo_server.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fmt::format,
[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 variable: `future_one`
[INFO] [stdout]   --> src/bin/async_2.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let future_one = async move {
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_future_one`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `foo` is never used
[INFO] [stdout]  --> src/bin/async_2.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | async fn foo() -> u8 {
[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 `bar` is never used
[INFO] [stdout]  --> src/bin/async_2.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn bar() -> impl Future<Output = u8> {
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blocks` is never used
[INFO] [stdout]   --> src/bin/async_2.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |     async fn blocks() {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blocks_2` is never used
[INFO] [stdout]   --> src/bin/async_2.rs:52:14
[INFO] [stdout]    |
[INFO] [stdout] 52 |     async fn blocks_2<'a>(my_string: &'a String) -> impl Future<Output = ()> + 'a {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `foo` is never used
[INFO] [stdout]   --> src/bin/async_2.rs:77:14
[INFO] [stdout]    |
[INFO] [stdout] 77 |     async fn foo(x: &u8) -> u8 {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `foo_expanded` is never used
[INFO] [stdout]   --> src/bin/async_2.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn foo_expanded<'a>(x: &'a u8) -> impl Future<Output = u8> + 'a {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `good` is never used
[INFO] [stdout]   --> src/bin/async_2.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn good() -> impl Future<Output = u8> + 'static {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `good2` is never used
[INFO] [stdout]    --> src/bin/async_2.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn good2() -> impl Future<Output = u8> + 'static {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `borrow_x` is never used
[INFO] [stdout]    --> src/bin/async_2.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 |     async fn borrow_x(x: &u8) -> u8 {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `String::as_bytes` that must be used
[INFO] [stdout]   --> src/bin/async_2.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     z.as_bytes();
[INFO] [stdout]    |     ^^^^^^^^^^^^
[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] 30 |     let _ = z.as_bytes();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ccc`
[INFO] [stdout]   --> src/bin/temp_val_1.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let ccc = t.c;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ccc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `a` is never read
[INFO] [stdout]   --> src/bin/temp_val_1.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     struct Test<'a> {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 37 |         a: String,
[INFO] [stdout]    |         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/bin/vector_2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[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: `std::pin::pin`
[INFO] [stdout]  --> src/bin/async_3.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::pin::pin;
[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 variable: `age`
[INFO] [stdout]   --> src/bin/deref_1.rs:14:35
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn display(self: &mut Person, age: u8) {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_age`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/bin/deref_1.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let Person { name, age } = &&&&&&&self;
[INFO] [stdout]    |                      ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `age`
[INFO] [stdout]   --> src/bin/deref_1.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let Person { name, age } = &&&&&&&self;
[INFO] [stdout]    |                            ^^^ help: try ignoring the field: `age: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::HelloMacro`
[INFO] [stdout]  --> src/bin/marcro_1.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use utils::HelloMacro;
[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 imports: `Arc` and `Thread`
[INFO] [stdout]  --> src/bin/chan_1.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     sync::{Arc, mpsc},
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 3 |     thread::{self, Thread},
[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 variable: `cloned`
[INFO] [stdout]   --> src/bin/type_1.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let cloned = value.clone();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cloned`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/type_1.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut a = &mut 0;
[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/bin/type_1.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut b = &0;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/bin/type_1.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut a = &mut 0;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/bin/type_1.rs:21:27
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn recive_2<T: Trait>(t: T) {}
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cc`
[INFO] [stdout]   --> src/bin/deref_1.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let cc = my_str_box.deref();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_cc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]   --> src/bin/deref_1.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let s1: &str = &my_str_box;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]   --> src/bin/deref_1.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let s1: &String = &my_str_box;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]   --> src/bin/deref_1.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let s1: String = my_str_box.to_string();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/deref_1.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn receive_mut_box(s: &mut String) {}
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/deref_1.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn receive_pstr(s: &str) {}
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Person` is never constructed
[INFO] [stdout]  --> src/bin/deref_1.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Person {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `display` are never used
[INFO] [stdout]   --> src/bin/deref_1.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Person {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 10 |     fn new(name: String, age: u8) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn display(self: &mut Person, age: u8) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]  --> src/bin/vector_2.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let m = String::new();
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_stuff` is never used
[INFO] [stdout]  --> src/bin/type_1.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn do_stuff<T: Clone>(value: &T) {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]  --> src/bin/vector_2.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let l = "test".to_string();
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ll`
[INFO] [stdout]  --> src/bin/vector_2.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let ll = String::from("test");
[INFO] [stdout]   |         ^^ help: if this is intentional, prefix it with an underscore: `_ll`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]  --> src/bin/vector_2.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let hello = String::from("السلام عليكم");
[INFO] [stdout]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]  --> src/bin/vector_2.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let hello = String::from("Dobrý den");
[INFO] [stdout]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let hello = String::from("Hello");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let hello = String::from("שָׁלוֹם");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let hello = String::from("नमस्ते");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let hello = String::from("こんにちは");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let hello = String::from("안녕하세요");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let hello = String::from("你好");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let hello = String::from("Olá");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let hello = String::from("Здравствуйте");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hello`
[INFO] [stdout]   --> src/bin/vector_2.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let hello = String::from("Hola");
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_hello`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ops::Deref` and `self`
[INFO] [stdout]  --> src/bin/pin_1.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     ops::Deref,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 5 |     pin::{self, Pin},
[INFO] [stdout]   |           ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/iter_1.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut s_arr = ["8".to_string(), "9".to_string(), "10".to_string()];
[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: unused variable: `v_iter`
[INFO] [stdout]  --> src/bin/iter_1.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let v_iter = v.iter();
[INFO] [stdout]   |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_iter`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_iter`
[INFO] [stdout]  --> src/bin/iter_1.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let v_iter = v.iter_mut();
[INFO] [stdout]   |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/iter_1.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let mut iter = v.iter();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sim_for` is never used
[INFO] [stdout]   --> src/bin/iter_1.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn sim_for() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ccc`
[INFO] [stdout]   --> src/bin/temp_val_1.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let ccc = t.c;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ccc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::slice::IterMut` that must be used
[INFO] [stdout]  --> src/bin/iter_1.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     a.iter_mut();
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: iterators are lazy and do nothing unless consumed
[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] 5 |     let _ = a.iter_mut();
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num`
[INFO] [stdout]  --> src/bin/closure_4.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::num;
[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 variable: `update_string_once`
[INFO] [stdout]   --> src/bin/closure_3.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let update_string_once = |x: u32| x;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_string_once`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt::format`
[INFO] [stdout]  --> src/bin/async_mini_redis.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fmt::format,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_2` is never used
[INFO] [stdout]   --> src/bin/async_3.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn select_2() {
[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 `send_enum` is never used
[INFO] [stdout]   --> src/bin/chan_1.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn send_enum() {
[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 `block_chan` is never used
[INFO] [stdout]   --> src/bin/chan_1.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn block_chan() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_some` is never used
[INFO] [stdout]   --> src/bin/chan_1.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn send_some() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]   --> src/bin/chan_1.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn test() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trans_ownership` is never used
[INFO] [stdout]    --> src/bin/chan_1.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn trans_ownership() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_recv` is never used
[INFO] [stdout]    --> src/bin/chan_1.rs:125:4
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn try_recv() {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recv_1` is never used
[INFO] [stdout]    --> src/bin/chan_1.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn recv_1() {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/pin_1.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut this1 = unsafe { test1.get_unchecked_mut() }; // 绕过编译器检查
[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/bin/pin_1.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut this2 = unsafe { test2.get_unchecked_mut() }; // 绕过编译器检查
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/bin/hashmap.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let a = if true { 1 } else { 2 };
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bin/reborrow.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let x = Point { x: 1, y: 1 };
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_length` is never used
[INFO] [stdout]   --> src/bin/reborrow.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn read_length(strings: &mut Vec<String>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `a3` and `a3_1` are never used
[INFO] [stdout]   --> src/bin/pin_1.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     impl Test {
[INFO] [stdout]    |     --------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72 |         fn a3(pin_self: Pin<&Self>) -> &str {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |         fn a3_1<'a>(pin_self: Pin<&'a Self>) -> &'a str {
[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 `pin_test` is never used
[INFO] [stdout]    --> src/bin/pin_1.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn pin_test() {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `init`, `a`, and `b` are never used
[INFO] [stdout]    --> src/bin/pin_1.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |     impl Test {
[INFO] [stdout]     |     --------- associated items in this implementation
[INFO] [stdout] 123 |         fn new(s: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |         fn init(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |         fn a(&self) -> &str {
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout] 138 |         fn b(&self) -> &String {
[INFO] [stdout]     |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `raw_point_value_move` is never used
[INFO] [stdout]    --> src/bin/pin_1.rs:165:4
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn raw_point_value_move() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | /     s.send(Animal::Cat {
[INFO] [stdout] 25 | |         age: 8,
[INFO] [stdout] 26 | |         name: "zaizai".to_string(),
[INFO] [stdout] 27 | |     });
[INFO] [stdout]    | |______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 24 |     let _ = s.send(Animal::Cat {
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     s.send(Animal::Dog("qdd"));
[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] 28 |     let _ = s.send(Animal::Dog("qdd"));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         s.send("t");
[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] 42 |         let _ = s.send("t");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         s.send("a");
[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] 44 |         let _ = s.send("a");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |         s.send("b");
[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] 46 |         let _ = s.send("b");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         s.send("t");
[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] 61 |         let _ = s.send("t");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         s.send("a");
[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] 62 |         let _ = s.send("a");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         s.send("b");
[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] 63 |         let _ = s.send("b");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/chan_1.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         s2.send(str);
[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] 101 |         let _ = s2.send(str);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/chan_1.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         s.send(str);
[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] 116 |         let _ = s.send(str);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/bin/struct_r.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Point(u32, u32);
[INFO] [stdout]   |        ----- ^^^
[INFO] [stdout]   |        |
[INFO] [stdout]   |        field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 9 - struct Point(u32, u32);
[INFO] [stdout] 9 + struct Point((), u32);
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_w` and `area2` are never used
[INFO] [stdout]   --> src/bin/struct_r.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Rectangle {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 18 |     fn get_w(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn area2(self, c: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_user` is never used
[INFO] [stdout]   --> src/bin/struct_r.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn build_user(email: String, name: String, active: bool) -> User {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]   --> src/bin/async_web_server.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         cx: &mut Context<'_>,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]   --> src/bin/async_web_server.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         cx: &mut Context<'_>,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]   --> src/bin/async_web_server.rs:95:41
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<std::io::Result<()>> {
[INFO] [stdout]    |                                         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]   --> src/bin/async_web_server.rs:99:41
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn poll_close(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<std::io::Result<()>> {
[INFO] [stdout]    |                                         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `page_title_2` is never used
[INFO] [stdout]   --> src/bin/async_demo_1.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn page_title_2(url: &str) -> impl Future<Output = Option<String>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt::format`
[INFO] [stdout]  --> src/bin/async_mini_redis.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fmt::format,
[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: `tokio::net::TcpStream`
[INFO] [stdout]  --> src/bin/async_io.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::net::TcpStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/closure_2.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut s = String::new();
[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: function `fn_once_2` is never used
[INFO] [stdout]   --> src/bin/closure_2.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn fn_once_2<F>(f: F)
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/async_io.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut reader = b"hello";
[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/bin/closure_2.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut s = String::new();
[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: function `fn_elision` is never used
[INFO] [stdout]   --> src/bin/closure_2.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn fn_elision(x: &i32) -> &i32 {
[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 `fn_once_2` is never used
[INFO] [stdout]   --> src/bin/closure_2.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn fn_once_2<F>(f: F)
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_recv` is never used
[INFO] [stdout]  --> src/bin/async_stream_1.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | async fn send_recv() {
[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 `sum_with_next` is never used
[INFO] [stdout]   --> src/bin/async_stream_1.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | async fn sum_with_next(mut stream: Pin<&mut dyn Stream<Item = i32>>) -> i32 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_with_try_next` is never used
[INFO] [stdout]   --> src/bin/async_stream_1.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | async fn sum_with_try_next(
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]  --> src/bin/ownership.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn test() {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiniTokio` is never constructed
[INFO] [stdout]   --> src/bin/async_mini_tokio.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct MiniTokio {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Task` is never used
[INFO] [stdout]   --> src/bin/async_mini_tokio.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | type Task = Pin<Box<dyn Future<Output = ()> + Send>>;
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `spawn`, and `run` are never used
[INFO] [stdout]   --> src/bin/async_mini_tokio.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl MiniTokio {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 18 |     fn new() -> MiniTokio {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn spawn<F>(&mut self, future: F)
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn run(&mut self) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]  --> src/bin/async_demo_close.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | async fn test() {
[INFO] [stdout]   |          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bin/reborrow.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let x = Point { x: 1, y: 1 };
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_length` is never used
[INFO] [stdout]   --> src/bin/reborrow.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn read_length(strings: &mut Vec<String>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::id`
[INFO] [stdout]  --> src/bin/iter_3.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::process::id;
[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: `std::process::id`
[INFO] [stdout]  --> src/bin/iter_3.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::process::id;
[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 variable: `p`
[INFO] [stdout]   --> src/bin/generics_1.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let p = Point { x: 1, y: 2 };
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]  --> src/bin/generics_1.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Point<T, U> {
[INFO] [stdout]   |        ----- fields in this struct
[INFO] [stdout] 4 |     x: T,
[INFO] [stdout]   |     ^
[INFO] [stdout] 5 |     y: U,
[INFO] [stdout]   |     ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_x` and `mixup` are never used
[INFO] [stdout]   --> src/bin/generics_1.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl<T, U> Point<T, U> {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout]  9 |     fn get_x(&self) -> &T {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn mixup<Z, W>(self, p: Point<U, W>) -> Point<T, W> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest` is never used
[INFO] [stdout]   --> src/bin/generics_1.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn largest<T: PartialOrd>(list: &Vec<T>) -> &T {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_2` is never used
[INFO] [stdout]   --> src/bin/generics_1.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn largest_2<T: PartialOrd + Copy>(list: &Vec<T>) -> T {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::pin`
[INFO] [stdout]  --> src/bin/async_3.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::pin::pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/vector_1.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut v = vec![1, 2, 3, 4, 5, 6];
[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: unused variable: `age`
[INFO] [stdout]   --> src/bin/deref_1.rs:14:35
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn display(self: &mut Person, age: u8) {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_age`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/bin/deref_1.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let Person { name, age } = &&&&&&&self;
[INFO] [stdout]    |                      ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `age`
[INFO] [stdout]   --> src/bin/deref_1.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let Person { name, age } = &&&&&&&self;
[INFO] [stdout]    |                            ^^^ help: try ignoring the field: `age: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cc`
[INFO] [stdout]   --> src/bin/deref_1.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let cc = my_str_box.deref();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_cc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]   --> src/bin/deref_1.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let s1: &str = &my_str_box;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]   --> src/bin/deref_1.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let s1: &String = &my_str_box;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]   --> src/bin/deref_1.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let s1: String = my_str_box.to_string();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/deref_1.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn receive_mut_box(s: &mut String) {}
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/deref_1.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn receive_pstr(s: &str) {}
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Person` is never constructed
[INFO] [stdout]  --> src/bin/deref_1.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Person {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `display` are never used
[INFO] [stdout]   --> src/bin/deref_1.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Person {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 10 |     fn new(name: String, age: u8) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn display(self: &mut Person, age: u8) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_2` is never used
[INFO] [stdout]   --> src/bin/async_3.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn select_2() {
[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 `test_1` is never used
[INFO] [stdout]  --> src/bin/async_demo_2.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn test_1() {
[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 `test_2` is never used
[INFO] [stdout]   --> src/bin/async_demo_2.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn test_2() {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MiniTokio` is never constructed
[INFO] [stdout]   --> src/bin/async_mini_tokio.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct MiniTokio {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Task` is never used
[INFO] [stdout]   --> src/bin/async_mini_tokio.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | type Task = Pin<Box<dyn Future<Output = ()> + Send>>;
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `spawn`, and `run` are never used
[INFO] [stdout]   --> src/bin/async_mini_tokio.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl MiniTokio {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 18 |     fn new() -> MiniTokio {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn spawn<F>(&mut self, future: F)
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn run(&mut self) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `fmt::Display`, and `hash::Hash`
[INFO] [stdout]  --> src/bin/closure_1.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, fmt::Display, hash::Hash, thread, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MutRefIterator2` is never constructed
[INFO] [stdout]   --> src/bin/iter_3.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | struct MutRefIterator2<'a> {
[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 `test` is never used
[INFO] [stdout]    --> src/bin/iter_3.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn test() {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_get_mut` is never used
[INFO] [stdout]    --> src/bin/iter_3.rs:236:4
[INFO] [stdout]     |
[INFO] [stdout] 236 | fn test_get_mut(v: &mut Vec<usize>, i: usize) -> Option<&mut usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/static_1.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut v = "s13".to_string();
[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: unused variable: `c`
[INFO] [stdout]   --> src/bin/static_1.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let c = 1;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/static_1.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut v = "s13".to_string();
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `REQUEST_RECV` is never used
[INFO] [stdout]   --> src/bin/static_1.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | static mut REQUEST_RECV: usize = 0;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]   --> src/bin/static_1.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Config {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CONFIG` is never used
[INFO] [stdout]   --> src/bin/static_1.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | static mut CONFIG: Option<&'static mut Config> = None;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CONFIG_2` is never used
[INFO] [stdout]   --> src/bin/static_1.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | static CONFIG_2: OnceLock<Config> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test2` is never used
[INFO] [stdout]   --> src/bin/static_1.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn test2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_box_leak` is never used
[INFO] [stdout]   --> src/bin/static_1.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn test_box_leak() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MutRefIterator2` is never constructed
[INFO] [stdout]   --> src/bin/iter_3.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | struct MutRefIterator2<'a> {
[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 `test` is never used
[INFO] [stdout]    --> src/bin/iter_3.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn test() {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_get_mut` is never used
[INFO] [stdout]    --> src/bin/iter_3.rs:236:4
[INFO] [stdout]     |
[INFO] [stdout] 236 | fn test_get_mut(v: &mut Vec<usize>, i: usize) -> Option<&mut usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `path`
[INFO] [stdout]  --> src/bin/error_r.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fs, path};
[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: `ops::Not`
[INFO] [stdout]  --> src/bin/error_r.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fs::File, ops::Not};
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]  --> src/bin/error_r.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let v = vec![1, 2, 3, 4];
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/bin/error_r.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |             other => panic!("error"),
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Other`
[INFO] [stdout]    |
[INFO] [stdout] 18 -             other => panic!("error"),
[INFO] [stdout] 18 +             std::io::ErrorKind::Other => panic!("error"),
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 18 |             _other => panic!("error"),
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `combo`
[INFO] [stdout]   --> src/bin/drop_1.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let combo = Combo { one: One, two: Two };
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_combo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `one` and `two` are never read
[INFO] [stdout]   --> src/bin/drop_1.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Combo {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 17 |     one: One,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 18 |     two: Two,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]  --> src/bin/async_io.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::net::TcpStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/closure_1.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut mod_x = || x.push(1); //FnMut
[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: unused variable: `expensive_closure`
[INFO] [stdout]   --> src/bin/closure_1.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let expensive_closure = |num: u32| {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expensive_closure`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mod_x`
[INFO] [stdout]   --> src/bin/closure_1.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mod_x = || print!("{:?}", x); //Fn
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_mod_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mod_x`
[INFO] [stdout]   --> src/bin/closure_1.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut mod_x = || x.push(1); //FnMut
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mod_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mod_x`
[INFO] [stdout]   --> src/bin/closure_1.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mod_x = || x; //FnOnce
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_mod_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/async_io.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut reader = b"hello";
[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: function `test_1` is never used
[INFO] [stdout]  --> src/bin/async_demo_2.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn test_1() {
[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 `test_2` is never used
[INFO] [stdout]   --> src/bin/async_demo_2.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn test_2() {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Thread`
[INFO] [stdout]  --> src/bin/chan_1.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     sync::{Arc, mpsc},
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 3 |     thread::{self, Thread},
[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: `std::pin::pin`
[INFO] [stdout]  --> src/bin/async_demo_select_1.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::pin::pin;
[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: `std::pin::pin`
[INFO] [stdout]  --> src/bin/async_demo_select_1.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::pin::pin;
[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 variable: `z`
[INFO] [stdout]   --> src/bin/ownership_4.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let z = t.a;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_enum` is never used
[INFO] [stdout]   --> src/bin/chan_1.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn send_enum() {
[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 `block_chan` is never used
[INFO] [stdout]   --> src/bin/chan_1.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn block_chan() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_some` is never used
[INFO] [stdout]   --> src/bin/chan_1.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn send_some() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]   --> src/bin/chan_1.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn test() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trans_ownership` is never used
[INFO] [stdout]    --> src/bin/chan_1.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn trans_ownership() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_recv` is never used
[INFO] [stdout]    --> src/bin/chan_1.rs:125:4
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn try_recv() {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recv_1` is never used
[INFO] [stdout]    --> src/bin/chan_1.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn recv_1() {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | /     s.send(Animal::Cat {
[INFO] [stdout] 25 | |         age: 8,
[INFO] [stdout] 26 | |         name: "zaizai".to_string(),
[INFO] [stdout] 27 | |     });
[INFO] [stdout]    | |______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 24 |     let _ = s.send(Animal::Cat {
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     s.send(Animal::Dog("qdd"));
[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] 28 |     let _ = s.send(Animal::Dog("qdd"));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         s.send("t");
[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] 42 |         let _ = s.send("t");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         s.send("a");
[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] 44 |         let _ = s.send("a");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |         s.send("b");
[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] 46 |         let _ = s.send("b");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         s.send("t");
[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] 61 |         let _ = s.send("t");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         s.send("a");
[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] 62 |         let _ = s.send("a");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/chan_1.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         s.send("b");
[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] 63 |         let _ = s.send("b");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/chan_1.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         s2.send(str);
[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] 101 |         let _ = s2.send(str);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/chan_1.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         s.send(str);
[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] 116 |         let _ = s.send(str);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoubleRef` is never constructed
[INFO] [stdout]   --> src/bin/lifetime_2.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct DoubleRef<'a, 'b: 'a, T> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ref` is never constructed
[INFO] [stdout]   --> src/bin/lifetime_2.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct Ref<'a, T: 'a> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]   --> src/bin/lifetime_2.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn test() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_value` is never used
[INFO] [stdout]   --> src/bin/lifetime_2.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     impl StrOpt {
[INFO] [stdout]    |     ----------- method in this implementation
[INFO] [stdout] 45 |         fn get_value(&self) -> &String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/ptr_addr_1.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut str_opt = StrOpt {
[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/bin/async_demo_select_1.rs:199:10
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let (mut tx, mut rx) = mpsc::channel(128);
[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/bin/ownership_2.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut other_string = String::from("other");
[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/bin/ownership_2.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn test3(mut s: &mut String) {
[INFO] [stdout]    |          ----^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]   --> src/bin/ownership_2.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let z = &mut kk;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/bin/ownership_2.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let n = *(&num);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deref_test` is never used
[INFO] [stdout]   --> src/bin/ownership_2.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn deref_test() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/bin/ownership_2.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct Point<T, U> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_x`, `get_x_3`, and `mixup` are never used
[INFO] [stdout]   --> src/bin/ownership_2.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl<T, U> Point<T, U> {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] 61 |     // 返回引用，不涉及所有权
[INFO] [stdout] 62 |     fn get_x(&self) -> &T {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     fn get_x_3(self) -> T {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn mixup<Z, W>(self, p: Point<U, W>) -> Point<T, W> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:235:10
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let (mut tx, mut rx) = tokio::sync::mpsc::channel(128);
[INFO] [stdout]     |          ----^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/bin/async_demo_select_1.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let out = tokio::select! {
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket`
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn process_socket(socket: TcpStream) {}
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:117:30
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 let (socket, addr) = listener.accept().await?;
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx1`
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:173:10
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let (tx1, mut rx1) = mpsc::channel(128);
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_tx1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx2`
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:174:10
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let (tx2, mut rx2) = mpsc::channel(128);
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_tx2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx3`
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:175:10
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let (tx3, mut rx3) = mpsc::channel(128);
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_tx3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num`
[INFO] [stdout]  --> src/bin/closure_4.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::num;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MySelect` is never constructed
[INFO] [stdout]   --> src/bin/async_demo_select_1.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct MySelect {
[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 `test_select` is never used
[INFO] [stdout]   --> src/bin/async_demo_select_1.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 | async fn test_select() {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_my_select` is never used
[INFO] [stdout]   --> src/bin/async_demo_select_1.rs:85:10
[INFO] [stdout]    |
[INFO] [stdout] 85 | async fn test_my_select() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_socket` is never used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn process_socket(socket: TcpStream) {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_select_2` is never used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 | async fn test_select_2() -> io::Result<()> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `race` is never used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:136:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | async fn race(data: &[u8], addr1: SocketAddr, addr2: SocketAddr) -> io::Result<()> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_loop_select` is never used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:172:10
[INFO] [stdout]     |
[INFO] [stdout] 172 | async fn test_loop_select() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `action` is never used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:188:10
[INFO] [stdout]     |
[INFO] [stdout] 188 | async fn action() {}
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unpin_action` is never used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | async fn unpin_action() -> u32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_select_recover` is never used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:198:10
[INFO] [stdout]     |
[INFO] [stdout] 198 | async fn test_select_recover() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 |     tx.send(1);
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `combo`
[INFO] [stdout]   --> src/bin/drop_1.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let combo = Combo { one: One, two: Two };
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_combo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `one` and `two` are never read
[INFO] [stdout]   --> src/bin/drop_1.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Combo {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 17 |     one: One,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 18 |     two: Two,
[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 `thread_cond` is never used
[INFO] [stdout]   --> src/bin/thread_1.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn thread_cond() {
[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 `thread_local` is never used
[INFO] [stdout]   --> src/bin/thread_1.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn thread_local() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thread_barrier` is never used
[INFO] [stdout]   --> src/bin/thread_1.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn thread_barrier() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `child_child_thread` is never used
[INFO] [stdout]    --> src/bin/thread_1.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn child_child_thread() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thread_spawn_move` is never used
[INFO] [stdout]    --> src/bin/thread_1.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn thread_spawn_move() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thread_spawn` is never used
[INFO] [stdout]    --> src/bin/thread_1.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn thread_spawn() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/thread_1.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     handle1.join();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 28 |     let _ = handle1.join();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/thread_1.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     handle2.join();
[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] 29 |     let _ = handle2.join();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bin/thread_1.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     t.join();
[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] 80 |     let _ = t.join();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bin/thread_1.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         h.join();
[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] 101 |         let _ = h.join();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `format`
[INFO] [stdout]  --> src/bin/trait_1.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Display, format};
[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 imports: `ops::Deref` and `self`
[INFO] [stdout]  --> src/bin/pin_1.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     ops::Deref,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 5 |     pin::{self, Pin},
[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 variable: `z`
[INFO] [stdout]   --> src/bin/ownership_4.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let z = t.a;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_a`
[INFO] [stdout]   --> src/bin/trait_1.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn notify_3(item_a: impl Summary, item_b: impl Summary) {}
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_b`
[INFO] [stdout]   --> src/bin/trait_1.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn notify_3(item_a: impl Summary, item_b: impl Summary) {}
[INFO] [stdout]    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_a`
[INFO] [stdout]   --> src/bin/trait_1.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn notify_4<T: Summary>(item_a: T, item_b: T) {}
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_b`
[INFO] [stdout]   --> src/bin/trait_1.rs:57:36
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn notify_4<T: Summary>(item_a: T, item_b: T) {}
[INFO] [stdout]    |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/bin/trait_1.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn notify_5(item: impl Summary + Display) {}
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/bin/trait_1.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn notify_6<T: Summary + Display>(item: T) {}
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/bin/trait_1.rs:65:16
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn notify_7<T>(item: T)
[INFO] [stdout]    |                ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn notify(item: impl Summary) {
[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 `notify_2` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn notify_2<T: Summary>(item: T) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_3` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn notify_3(item_a: impl Summary, item_b: impl Summary) {}
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_4` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn notify_4<T: Summary>(item_a: T, item_b: T) {}
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_5` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn notify_5(item: impl Summary + Display) {}
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_6` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn notify_6<T: Summary + Display>(item: T) {}
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_7` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn notify_7<T>(item: T)
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `returns_summarizable` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn returns_summarizable(switch: bool) -> Box<dyn Summary> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_2` is never used
[INFO] [stdout]    --> src/bin/trait_1.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn largest_2<T: PartialOrd + Copy>(list: &Vec<T>) -> T {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]    --> src/bin/trait_1.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | struct Point<T> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/bin/trait_1.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl<T> Point<T> {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 140 |     fn new() {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `test` is never used
[INFO] [stdout]    --> src/bin/trait_1.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl<T: Summary + Display> Point<T> {
[INFO] [stdout]     | ----------------------------------- method in this implementation
[INFO] [stdout] 147 |     fn test(&self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/ptr_addr_1.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut str_opt = StrOpt {
[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: unused import: `format`
[INFO] [stdout]  --> src/bin/trait_1.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Display, format};
[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 variable: `item_a`
[INFO] [stdout]   --> src/bin/trait_1.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn notify_3(item_a: impl Summary, item_b: impl Summary) {}
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_b`
[INFO] [stdout]   --> src/bin/trait_1.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn notify_3(item_a: impl Summary, item_b: impl Summary) {}
[INFO] [stdout]    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_a`
[INFO] [stdout]   --> src/bin/trait_1.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn notify_4<T: Summary>(item_a: T, item_b: T) {}
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_b`
[INFO] [stdout]   --> src/bin/trait_1.rs:57:36
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn notify_4<T: Summary>(item_a: T, item_b: T) {}
[INFO] [stdout]    |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/bin/trait_1.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn notify_5(item: impl Summary + Display) {}
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/bin/trait_1.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn notify_6<T: Summary + Display>(item: T) {}
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/bin/trait_1.rs:65:16
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn notify_7<T>(item: T)
[INFO] [stdout]    |                ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn notify(item: impl Summary) {
[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 `notify_2` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn notify_2<T: Summary>(item: T) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_3` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn notify_3(item_a: impl Summary, item_b: impl Summary) {}
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_4` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn notify_4<T: Summary>(item_a: T, item_b: T) {}
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_5` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn notify_5(item: impl Summary + Display) {}
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_6` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn notify_6<T: Summary + Display>(item: T) {}
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify_7` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn notify_7<T>(item: T)
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `returns_summarizable` is never used
[INFO] [stdout]   --> src/bin/trait_1.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn returns_summarizable(switch: bool) -> Box<dyn Summary> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_2` is never used
[INFO] [stdout]    --> src/bin/trait_1.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn largest_2<T: PartialOrd + Copy>(list: &Vec<T>) -> T {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]    --> src/bin/trait_1.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | struct Point<T> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/bin/trait_1.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl<T> Point<T> {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 140 |     fn new() {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `test` is never used
[INFO] [stdout]    --> src/bin/trait_1.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl<T: Summary + Display> Point<T> {
[INFO] [stdout]     | ----------------------------------- method in this implementation
[INFO] [stdout] 147 |     fn test(&self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/pin_1.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut this1 = unsafe { test1.get_unchecked_mut() }; // 绕过编译器检查
[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/bin/pin_1.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut this2 = unsafe { test2.get_unchecked_mut() }; // 绕过编译器检查
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StreamExt` and `stream::FuturesUnordered`
[INFO] [stdout]  --> src/bin/async_demo_4_join.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{StreamExt, stream::FuturesUnordered};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]  --> src/bin/async_demo_5_stream.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn test() {
[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 `test_stream_timeout` is never used
[INFO] [stdout]   --> src/bin/async_demo_5_stream.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn test_stream_timeout() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/bin/async_demo_4_join.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let c = pin!(async { true });
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `a3` and `a3_1` are never used
[INFO] [stdout]   --> src/bin/pin_1.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     impl Test {
[INFO] [stdout]    |     --------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72 |         fn a3(pin_self: Pin<&Self>) -> &str {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |         fn a3_1<'a>(pin_self: Pin<&'a Self>) -> &'a str {
[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 `pin_test` is never used
[INFO] [stdout]    --> src/bin/pin_1.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn pin_test() {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:199:10
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let (mut tx, mut rx) = mpsc::channel(128);
[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: associated items `new`, `init`, `a`, and `b` are never used
[INFO] [stdout]    --> src/bin/pin_1.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |     impl Test {
[INFO] [stdout]     |     --------- associated items in this implementation
[INFO] [stdout] 123 |         fn new(s: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |         fn init(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |         fn a(&self) -> &str {
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout] 138 |         fn b(&self) -> &String {
[INFO] [stdout]     |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `raw_point_value_move` is never used
[INFO] [stdout]    --> src/bin/pin_1.rs:165:4
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn raw_point_value_move() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `one_ms`
[INFO] [stdout]   --> src/bin/async_demo_4_join.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let one_ms = Duration::from_millis(1);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_one_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]   --> src/bin/async_demo_4_join.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn test1() {
[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 `test2` is never used
[INFO] [stdout]   --> src/bin/async_demo_4_join.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn test2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test3_race` is never used
[INFO] [stdout]   --> src/bin/async_demo_4_join.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn test3_race() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_yidld` is never used
[INFO] [stdout]   --> src/bin/async_demo_4_join.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn test_yidld() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `update_string_once`
[INFO] [stdout]   --> src/bin/closure_3.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let update_string_once = |x: u32| x;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_string_once`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:235:10
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let (mut tx, mut rx) = tokio::sync::mpsc::channel(128);
[INFO] [stdout]     |          ----^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StreamExt` and `stream::FuturesUnordered`
[INFO] [stdout]  --> src/bin/async_demo_4_join.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{StreamExt, stream::FuturesUnordered};
[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 variable: `out`
[INFO] [stdout]   --> src/bin/async_demo_select_1.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let out = tokio::select! {
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/box_1.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut arr_s = vec!["1".to_string(), "2".to_string()];
[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: unused variable: `f`
[INFO] [stdout]   --> src/bin/box_1.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let f = arr_s.index(0);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]   --> src/bin/box_1.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let (first, second) = (&arr[0], &arr[1]);
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second`
[INFO] [stdout]   --> src/bin/box_1.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let (first, second) = (&arr[0], &arr[1]);
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_second`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr1`
[INFO] [stdout]    --> src/bin/box_1.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let arr1 = arr;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_arr1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr2`
[INFO] [stdout]    --> src/bin/box_1.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let arr2 = arr;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_arr2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr3`
[INFO] [stdout]    --> src/bin/box_1.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let arr3 = arr;
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_arr3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `List` is never used
[INFO] [stdout]   --> src/bin/box_1.rs:97:14
[INFO] [stdout]    |
[INFO] [stdout] 97 |         enum List {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoubleRef` is never constructed
[INFO] [stdout]   --> src/bin/lifetime_2.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct DoubleRef<'a, 'b: 'a, T> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ref` is never constructed
[INFO] [stdout]   --> src/bin/lifetime_2.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct Ref<'a, T: 'a> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]   --> src/bin/lifetime_2.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn test() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_value` is never used
[INFO] [stdout]   --> src/bin/lifetime_2.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     impl StrOpt {
[INFO] [stdout]    |     ----------- method in this implementation
[INFO] [stdout] 45 |         fn get_value(&self) -> &String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket`
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn process_socket(socket: TcpStream) {}
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:117:30
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 let (socket, addr) = listener.accept().await?;
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/bin/async_demo_4_join.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let c = pin!(async { true });
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]  --> src/bin/async_demo_5_stream.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn test() {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx1`
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:173:10
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let (tx1, mut rx1) = mpsc::channel(128);
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_tx1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx2`
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:174:10
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let (tx2, mut rx2) = mpsc::channel(128);
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_tx2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_stream_timeout` is never used
[INFO] [stdout]   --> src/bin/async_demo_5_stream.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn test_stream_timeout() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx3`
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:175:10
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let (tx3, mut rx3) = mpsc::channel(128);
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_tx3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `one_ms`
[INFO] [stdout]   --> src/bin/async_demo_4_join.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let one_ms = Duration::from_millis(1);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_one_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]   --> src/bin/async_demo_4_join.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn test1() {
[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 `test2` is never used
[INFO] [stdout]   --> src/bin/async_demo_4_join.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn test2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test3_race` is never used
[INFO] [stdout]   --> src/bin/async_demo_4_join.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn test3_race() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_yidld` is never used
[INFO] [stdout]   --> src/bin/async_demo_4_join.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn test_yidld() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MySelect` is never constructed
[INFO] [stdout]   --> src/bin/async_demo_select_1.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct MySelect {
[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 `test_select` is never used
[INFO] [stdout]   --> src/bin/async_demo_select_1.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 | async fn test_select() {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_my_select` is never used
[INFO] [stdout]   --> src/bin/async_demo_select_1.rs:85:10
[INFO] [stdout]    |
[INFO] [stdout] 85 | async fn test_my_select() {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_socket` is never used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn process_socket(socket: TcpStream) {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_select_2` is never used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 | async fn test_select_2() -> io::Result<()> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `race` is never used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:136:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | async fn race(data: &[u8], addr1: SocketAddr, addr2: SocketAddr) -> io::Result<()> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_loop_select` is never used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:172:10
[INFO] [stdout]     |
[INFO] [stdout] 172 | async fn test_loop_select() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `action` is never used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:188:10
[INFO] [stdout]     |
[INFO] [stdout] 188 | async fn action() {}
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unpin_action` is never used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | async fn unpin_action() -> u32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_select_recover` is never used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:198:10
[INFO] [stdout]     |
[INFO] [stdout] 198 | async fn test_select_recover() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]   --> src/bin/async_web_server.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         cx: &mut Context<'_>,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]   --> src/bin/async_web_server.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         cx: &mut Context<'_>,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]    --> src/bin/async_demo_select_1.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 |     tx.send(1);
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]   --> src/bin/async_web_server.rs:95:41
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<std::io::Result<()>> {
[INFO] [stdout]    |                                         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]   --> src/bin/async_web_server.rs:99:41
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn poll_close(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<std::io::Result<()>> {
[INFO] [stdout]    |                                         ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockTcpStream` is never constructed
[INFO] [stdout]   --> src/bin/async_web_server.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | struct MockTcpStream {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized] target(s) in 52.74s
[INFO] running `Command { std: "docker" "inspect" "7704f168e767edfd62671392f193d38792c10729152dbacdca0d9c4a90561806", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7704f168e767edfd62671392f193d38792c10729152dbacdca0d9c4a90561806", kill_on_drop: false }`
[INFO] [stdout] 7704f168e767edfd62671392f193d38792c10729152dbacdca0d9c4a90561806
