[INFO] fetching crate tzh_test 0.2.0...
[INFO] building tzh_test-0.2.0 against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] extracting crate tzh_test 0.2.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate tzh_test 0.2.0
[INFO] finished tweaking crates.io crate tzh_test 0.2.0
[INFO] tweaked toml for crates.io crate tzh_test 0.2.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tzh_test 0.2.0 on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tzh_test 0.2.0 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] aa2cdb18fe3f9e56fd081863f66d53b1f7f0226f811bbb347286bef5b0c16d19
[INFO] running `Command { std: "docker" "start" "-a" "aa2cdb18fe3f9e56fd081863f66d53b1f7f0226f811bbb347286bef5b0c16d19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "aa2cdb18fe3f9e56fd081863f66d53b1f7f0226f811bbb347286bef5b0c16d19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa2cdb18fe3f9e56fd081863f66d53b1f7f0226f811bbb347286bef5b0c16d19", kill_on_drop: false }`
[INFO] [stdout] aa2cdb18fe3f9e56fd081863f66d53b1f7f0226f811bbb347286bef5b0c16d19
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ed663210fabc11ad2e74ed80f408529a4fec663e76bbfc708b0dd5b6b4055957
[INFO] running `Command { std: "docker" "start" "-a" "ed663210fabc11ad2e74ed80f408529a4fec663e76bbfc708b0dd5b6b4055957", kill_on_drop: false }`
[INFO] [stderr]    Compiling tzh_test v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]    --> src/multi_thread.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 | use std::rc::Rc;
[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: `crate::multi_thread::test_thread`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::multi_thread::test_thread;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_dyn_trait::test_dyn_trait`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::test_dyn_trait::test_dyn_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_state_pattern::test_state_pattern`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::test_state_pattern::test_state_pattern;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_state_pattern2::test_state_pattern2`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::test_state_pattern2::test_state_pattern2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_pattern_match::test_pattern_match`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::test_pattern_match::test_pattern_match;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_unsafe::test_unsafe`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::test_unsafe::test_unsafe;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_advanced_trait::test_advanced_trait`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::test_advanced_trait::test_advanced_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_advanced_func::test_advanced_func`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::test_advanced_func::test_advanced_func;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/test_lifetime.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut xr = &x;        // Ok - x and xr have the same lifetime
[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/test_lifetime.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut string1 = String::from("abcd");
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/multi_thread.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let mut v = vec![1, 2, 3];
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/multi_thread.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let mut v = vec![1, 2, 3];
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/test_pattern_match.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 |     if let x = 5 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let mut x = 5;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `xr` is never read
[INFO] [stdout]    --> src/main.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     xr = &mut y;          // Ok
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `xr` is never read
[INFO] [stdout]    --> src/main.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 |     xr = &y;              // Ok - xr is mut, even though the referenced data is not
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let mut y = 6;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x` is never read
[INFO] [stdout]    --> src/main.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     x = 4;                    // OK - y no longer exists
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:433:9
[INFO] [stdout]     |
[INFO] [stdout] 433 |     let mut s = String::from("hello world");
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_move_and_copy` is never used
[INFO] [stdout]   --> src/main.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn test_move_and_copy() {
[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 `takes_ownership` is never used
[INFO] [stdout]   --> src/main.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn takes_ownership(some_string: String) { // some_string 进入作用域
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `makes_copy` is never used
[INFO] [stdout]   --> src/main.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn makes_copy(some_integer: i32) { // some_integer 进入作用域
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]   --> src/main.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct Rectangle
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_print_struct_with_debug` is never used
[INFO] [stdout]   --> src/main.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn test_print_struct_with_debug()
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_reference` is never used
[INFO] [stdout]   --> src/main.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn test_reference()
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_reference_scope` is never used
[INFO] [stdout]   --> src/main.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn test_reference_scope()
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_char` is never used
[INFO] [stdout]   --> src/main.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn test_char()
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_all` is never used
[INFO] [stdout]    --> src/main.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn print_all() {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trans_as` is never used
[INFO] [stdout]    --> src/main.rs:108:4
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn trans_as() {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_func` is never used
[INFO] [stdout]    --> src/main.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn test_func(y: Box<isize>) {}
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_move_pointer` is never used
[INFO] [stdout]    --> src/main.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn test_move_pointer() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bar` is never used
[INFO] [stdout]    --> src/main.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn bar(x: &i32) {}
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bar_mut` is never used
[INFO] [stdout]    --> src/main.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn bar_mut(x: &mut i32) {}  // &mut i32 is a reference to an i32 which
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pointer_total` is never used
[INFO] [stdout]    --> src/main.rs:135:4
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn pointer_total() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_mutable` is never used
[INFO] [stdout]    --> src/main.rs:158:4
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn test_mutable() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_borrow` is never used
[INFO] [stdout]    --> src/main.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn test_borrow() {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `S1` is never constructed
[INFO] [stdout]    --> src/main.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | struct S1 {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `S2` is never constructed
[INFO] [stdout]    --> src/main.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 231 | struct S2<'a> {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `S3` is never constructed
[INFO] [stdout]    --> src/main.rs:235:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | struct S3<'a> {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_mutable_reference` is never used
[INFO] [stdout]    --> src/main.rs:240:4
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn test_mutable_reference() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_copy_and_move` is never used
[INFO] [stdout]    --> src/main.rs:379:4
[INFO] [stdout]     |
[INFO] [stdout] 379 | fn test_copy_and_move() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_over_bound` is never used
[INFO] [stdout]    --> src/main.rs:390:4
[INFO] [stdout]     |
[INFO] [stdout] 390 | fn test_over_bound()
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_mut_array` is never used
[INFO] [stdout]    --> src/main.rs:396:4
[INFO] [stdout]     |
[INFO] [stdout] 396 | fn test_mut_array()
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_passing_array_func` is never used
[INFO] [stdout]    --> src/main.rs:403:4
[INFO] [stdout]     |
[INFO] [stdout] 403 | fn test_passing_array_func(a: &[i32; 4]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_passing_array` is never used
[INFO] [stdout]    --> src/main.rs:407:4
[INFO] [stdout]     |
[INFO] [stdout] 407 | fn test_passing_array() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first_word` is never used
[INFO] [stdout]    --> src/main.rs:411:4
[INFO] [stdout]     |
[INFO] [stdout] 411 | fn first_word(s: &str) -> &str {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_slice` is never used
[INFO] [stdout]    --> src/main.rs:422:4
[INFO] [stdout]     |
[INFO] [stdout] 422 | fn test_slice()
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_pass_closure` is never used
[INFO] [stdout]    --> src/main.rs:439:4
[INFO] [stdout]     |
[INFO] [stdout] 439 | fn test_pass_closure()
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_three` is never used
[INFO] [stdout]    --> src/main.rs:467:4
[INFO] [stdout]     |
[INFO] [stdout] 467 | fn add_three(x: i32) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `borrowed_add_three` is never used
[INFO] [stdout]    --> src/main.rs:471:4
[INFO] [stdout]     |
[INFO] [stdout] 471 | fn borrowed_add_three(x: &i32) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_pass_func` is never used
[INFO] [stdout]    --> src/main.rs:475:4
[INFO] [stdout]     |
[INFO] [stdout] 475 | fn test_pass_func(v: Vec<i32>) -> Vec<i32>
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `func_dispatcher` is never used
[INFO] [stdout]    --> src/main.rs:480:4
[INFO] [stdout]     |
[INFO] [stdout] 480 | fn func_dispatcher<F>(f: F) -> i32
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_func_dispatcher` is never used
[INFO] [stdout]    --> src/main.rs:486:4
[INFO] [stdout]     |
[INFO] [stdout] 486 | fn test_func_dispatcher()
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Foo` is never constructed
[INFO] [stdout]    --> src/main.rs:492:8
[INFO] [stdout]     |
[INFO] [stdout] 492 | struct Foo;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bar` is never used
[INFO] [stdout]    --> src/main.rs:495:8
[INFO] [stdout]     |
[INFO] [stdout] 494 | impl Foo {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] 495 |     fn bar(&self) {}
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `T` is never used
[INFO] [stdout]    --> src/main.rs:498:7
[INFO] [stdout]     |
[INFO] [stdout] 498 | trait T {
[INFO] [stdout]     |       ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_trait_method` is never used
[INFO] [stdout]    --> src/main.rs:506:4
[INFO] [stdout]     |
[INFO] [stdout] 506 | fn test_trait_method() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generic_func` is never used
[INFO] [stdout]    --> src/main.rs:516:4
[INFO] [stdout]     |
[INFO] [stdout] 516 | fn generic_func<T: std::fmt::Display>(x: &T)
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_generic_func` is never used
[INFO] [stdout]    --> src/main.rs:521:4
[INFO] [stdout]     |
[INFO] [stdout] 521 | fn test_generic_func() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_some` is never used
[INFO] [stdout]  --> src/test_match.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn print_some() {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_some_more` is never used
[INFO] [stdout]   --> src/test_match.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn print_some_more() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Enum1` is never used
[INFO] [stdout]   --> src/test_match.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | enum Enum1 {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_match` is never used
[INFO] [stdout]   --> src/test_match.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn test_match(x: &Enum1) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Enum2` is never used
[INFO] [stdout]   --> src/test_match.rs:41:6
[INFO] [stdout]    |
[INFO] [stdout] 41 | enum Enum2 {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_match2` is never used
[INFO] [stdout]   --> src/test_match.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn test_match2(x: &Enum2) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_match3` is never used
[INFO] [stdout]   --> src/test_match.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn test_match3(x: &Enum2, y: &Enum2) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UsState` is never used
[INFO] [stdout]   --> src/test_match.rs:82:6
[INFO] [stdout]    |
[INFO] [stdout] 82 | enum UsState {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Coin` is never used
[INFO] [stdout]   --> src/test_match.rs:88:6
[INFO] [stdout]    |
[INFO] [stdout] 88 | enum Coin {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `value_in_cents` is never used
[INFO] [stdout]   --> src/test_match.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn value_in_cents(coin: Coin) -> u8 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_match_with_coin` is never used
[INFO] [stdout]    --> src/test_match.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub fn test_match_with_coin()
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_by_char` is never used
[INFO] [stdout]  --> src/test_string.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn print_by_char(s:&String)
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_string_info` is never used
[INFO] [stdout]  --> src/test_string.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn print_string_info(i:i32,s:&String)
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_string` is never used
[INFO] [stdout]   --> src/test_string.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn test_string()
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest` is never used
[INFO] [stdout]  --> src/test_lifetime.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_lifetime` is never used
[INFO] [stdout]  --> src/test_lifetime.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) fn test_lifetime() {
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_lifetime2` is never used
[INFO] [stdout]   --> src/test_lifetime.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) fn test_lifetime2() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_lifetime3` is never used
[INFO] [stdout]   --> src/test_lifetime.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(crate) fn test_lifetime3() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportantExcerpt` is never constructed
[INFO] [stdout]   --> src/test_lifetime.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct ImportantExcerpt<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `announce_and_return_part` and `announce_and_return_part_2` are never used
[INFO] [stdout]   --> src/test_lifetime.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl<'a> ImportantExcerpt<'a> {
[INFO] [stdout]    | ----------------------------- methods in this implementation
[INFO] [stdout] 52 |     /// 返回引用的生命周期默认与self一致
[INFO] [stdout] 53 |     fn announce_and_return_part(&self, announcement: &str) -> &str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn announce_and_return_part_2<'b>(&'b self, announcement: &'b str) -> &'b str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]  --> src/multi_thread.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn test1()
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_join` is never used
[INFO] [stdout]   --> src/multi_thread.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn test_join()
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_capture_explicit` is never used
[INFO] [stdout]   --> src/multi_thread.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn test_capture_explicit()
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_capture_implicit` is never used
[INFO] [stdout]   --> src/multi_thread.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn test_capture_implicit()
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_channel` is never used
[INFO] [stdout]   --> src/multi_thread.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn test_channel()
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_channel2` is never used
[INFO] [stdout]   --> src/multi_thread.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn test_channel2()
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_channel3` is never used
[INFO] [stdout]   --> src/multi_thread.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn test_channel3()
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_multi_producer_channel` is never used
[INFO] [stdout]    --> src/multi_thread.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn test_multi_producer_channel()
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_mutex` is never used
[INFO] [stdout]    --> src/multi_thread.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn test_mutex()
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_arc` is never used
[INFO] [stdout]    --> src/multi_thread.rs:212:4
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn test_arc() {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_thread` is never used
[INFO] [stdout]    --> src/multi_thread.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub fn test_thread() {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Draw` is never used
[INFO] [stdout]  --> src/test_dyn_trait.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait Draw {
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Screen` is never constructed
[INFO] [stdout]  --> src/test_dyn_trait.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Screen {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]  --> src/test_dyn_trait.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Screen {
[INFO] [stdout]   | ----------- method in this implementation
[INFO] [stdout] 9 |     pub fn run(&self) {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Button` is never constructed
[INFO] [stdout]   --> src/test_dyn_trait.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Button {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SelectBox` is never constructed
[INFO] [stdout]   --> src/test_dyn_trait.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct SelectBox {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_dyn_trait` is never used
[INFO] [stdout]   --> src/test_dyn_trait.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn test_dyn_trait() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Post` is never constructed
[INFO] [stdout]  --> src/test_state_pattern.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Post {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_text`, `content`, `request_review`, and `approve` are never used
[INFO] [stdout]   --> src/test_state_pattern.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Post {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Post {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn add_text(&mut self, text: &str) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn content(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn request_review(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn approve(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `State` is never used
[INFO] [stdout]   --> src/test_state_pattern.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | trait State {
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Published` is never constructed
[INFO] [stdout]   --> src/test_state_pattern.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | struct Published {}
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingReview` is never constructed
[INFO] [stdout]   --> src/test_state_pattern.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct PendingReview {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Draft` is never constructed
[INFO] [stdout]   --> src/test_state_pattern.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | struct Draft {}
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_state_pattern` is never used
[INFO] [stdout]   --> src/test_state_pattern.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn test_state_pattern() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Post` is never constructed
[INFO] [stdout]  --> src/test_state_pattern2.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Post {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DraftPost` is never constructed
[INFO] [stdout]  --> src/test_state_pattern2.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DraftPost {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `content` are never used
[INFO] [stdout]   --> src/test_state_pattern2.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Post {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> DraftPost {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn content(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_text` and `request_review` are never used
[INFO] [stdout]   --> src/test_state_pattern2.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl DraftPost {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 22 |     pub fn add_text(&mut self, text: &str) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn request_review(self) -> PendingReviewPost {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingReviewPost` is never constructed
[INFO] [stdout]   --> src/test_state_pattern2.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct PendingReviewPost {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `approve` is never used
[INFO] [stdout]   --> src/test_state_pattern2.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl PendingReviewPost {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] 38 |     pub fn approve(self) -> Post {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_state_pattern2` is never used
[INFO] [stdout]   --> src/test_state_pattern2.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) fn test_state_pattern2() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `if_let` is never used
[INFO] [stdout]  --> src/test_pattern_match.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn if_let() {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `while_let` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn while_let() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tuple_match` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn tuple_match() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_coordinates` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn print_coordinates(&(x, y): &(i32, i32)) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tuple_match_in_para` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn tuple_match_in_para() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `irrefutable` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn irrefutable() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_field` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn match_field() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_or` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn match_or() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_range` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn match_range() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/test_pattern_match.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | struct Point {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deconstruction` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn deconstruction() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deconstruction2` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn deconstruction2() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deconstruction_match` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn deconstruction_match() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:119:6
[INFO] [stdout]     |
[INFO] [stdout] 119 | enum Message {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enum_match` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn enum_match() {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Color2` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:145:6
[INFO] [stdout]     |
[INFO] [stdout] 145 | enum Color2 {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message2` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:150:6
[INFO] [stdout]     |
[INFO] [stdout] 150 | enum Message2 {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nest_deconstruction_match` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn nest_deconstruction_match() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mixed_deconstruction` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn mixed_deconstruction() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `foo` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn foo(_: i32, y: i32) {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ignore` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn ignore() {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ignore2` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:183:4
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn ignore2() {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ignore3` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:199:4
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn ignore3() {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `avoid_warning` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:209:4
[INFO] [stdout]     |
[INFO] [stdout] 209 | fn avoid_warning() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ignore_do_not_move` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:214:4
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn ignore_do_not_move(){
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `range_ignore` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:228:4
[INFO] [stdout]     |
[INFO] [stdout] 228 | fn range_ignore() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `range_ignore2` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn range_ignore2() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_guard` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn match_guard(){
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_guard2` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:262:4
[INFO] [stdout]     |
[INFO] [stdout] 262 | fn match_guard2(){
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_at` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn match_at(){
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_pattern_match` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub fn test_pattern_match() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]  --> src/test_unsafe.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn test1() {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_5` is never used
[INFO] [stdout]  --> src/test_unsafe.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn add_5(p: *mut i32) -> i32 {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test2` is never used
[INFO] [stdout]   --> src/test_unsafe.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn test2()
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test3` is never used
[INFO] [stdout]   --> src/test_unsafe.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn test3()
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_at_mut` is never used
[INFO] [stdout]   --> src/test_unsafe.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn split_at_mut(values: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `COUNTER` is never used
[INFO] [stdout]   --> src/test_unsafe.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | static mut COUNTER: u32 = 0;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_to_count` is never used
[INFO] [stdout]   --> src/test_unsafe.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn add_to_count(inc: u32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test4` is never used
[INFO] [stdout]   --> src/test_unsafe.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn test4() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_unsafe` is never used
[INFO] [stdout]   --> src/test_unsafe.rs:86:15
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub(crate) fn test_unsafe() {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]  --> src/test_advanced_trait.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Point {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn test1() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Millimeters` is never constructed
[INFO] [stdout]   --> src/test_advanced_trait.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Millimeters(u32);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Meters` is never constructed
[INFO] [stdout]   --> src/test_advanced_trait.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Meters(u32);
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Pilot` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | trait Pilot {
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Wizard` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 | trait Wizard {
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Human` is never constructed
[INFO] [stdout]   --> src/test_advanced_trait.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | struct Human;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fly` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Human {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 62 |     fn fly(&self) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test2` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn test2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test3` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn test3() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Animal` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:79:7
[INFO] [stdout]    |
[INFO] [stdout] 79 | trait Animal {
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dog` is never constructed
[INFO] [stdout]   --> src/test_advanced_trait.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct Dog;
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `baby_name` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl Dog {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 86 |     fn baby_name() -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test4` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn test4() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `OutlinePrint` is never used
[INFO] [stdout]    --> src/test_advanced_trait.rs:106:7
[INFO] [stdout]     |
[INFO] [stdout] 106 | trait OutlinePrint: fmt::Display {
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test5` is never used
[INFO] [stdout]    --> src/test_advanced_trait.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn test5() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Wrapper` is never constructed
[INFO] [stdout]    --> src/test_advanced_trait.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | struct Wrapper(Vec<String>);
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test6` is never used
[INFO] [stdout]    --> src/test_advanced_trait.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn test6() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_advanced_trait` is never used
[INFO] [stdout]    --> src/test_advanced_trait.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn test_advanced_trait() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_one` is never used
[INFO] [stdout]  --> src/test_advanced_func.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn add_one(x: i32) -> i32 {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_twice` is never used
[INFO] [stdout]  --> src/test_advanced_func.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn do_twice(f: fn(i32) -> i32, arg: i32) -> i32 {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]  --> src/test_advanced_func.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn test1() {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_advanced_func` is never used
[INFO] [stdout]   --> src/test_advanced_func.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) fn test_advanced_func()
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bar_pointer` is never used
[INFO] [stdout]    --> src/main.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn bar_pointer(x: Rc<i32>) {}
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `baz_pointer` is never used
[INFO] [stdout]    --> src/main.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn baz_pointer(x: &i32) {}
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rc` is never used
[INFO] [stdout]    --> src/main.rs:192:19
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub(crate) fn test_rc() {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/main.rs:201:14
[INFO] [stdout]     |
[INFO] [stdout] 201 |         Cons(i32, Rc<List>),
[INFO] [stdout]     |         ---- ^^^  ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         fields in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 201 -         Cons(i32, Rc<List>),
[INFO] [stdout] 201 +         Cons((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `S` is never constructed
[INFO] [stdout]    --> src/main.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 268 |     struct S {
[INFO] [stdout]     |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refcell_test_func` is never used
[INFO] [stdout]    --> src/main.rs:272:8
[INFO] [stdout]     |
[INFO] [stdout] 272 |     fn refcell_test_func(x: Rc<RefCell<S>>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_refcell` is never used
[INFO] [stdout]    --> src/main.rs:286:8
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn test_refcell() {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyBox` is never constructed
[INFO] [stdout]    --> src/main.rs:540:12
[INFO] [stdout]     |
[INFO] [stdout] 540 |     struct MyBox<T>(T);
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/main.rs:543:12
[INFO] [stdout]     |
[INFO] [stdout] 542 |     impl<T> MyBox<T> {
[INFO] [stdout]     |     ---------------- associated function in this implementation
[INFO] [stdout] 543 |         fn new(x:T) -> MyBox<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_my_box` is never used
[INFO] [stdout]    --> src/main.rs:558:19
[INFO] [stdout]     |
[INFO] [stdout] 558 |     pub(crate) fn test_my_box()
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `List` is never used
[INFO] [stdout]    --> src/main.rs:571:10
[INFO] [stdout]     |
[INFO] [stdout] 571 |     enum List {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_refcell_with_rc` is never used
[INFO] [stdout]    --> src/main.rs:580:19
[INFO] [stdout]     |
[INFO] [stdout] 580 |     pub(crate) fn test_refcell_with_rc() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:604:14
[INFO] [stdout]     |
[INFO] [stdout] 604 |         Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout]     |         ---- ^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 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] 604 -         Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout] 604 +         Cons((), RefCell<Rc<List>>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value` and `children` are never read
[INFO] [stdout]    --> src/main.rs:650:9
[INFO] [stdout]     |
[INFO] [stdout] 649 |     struct Node {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 650 |         value: i32,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 651 |         parent: RefCell<Weak<Node>>,//一个节点就能够引用其父节点，但不拥有其父节点
[INFO] [stdout] 652 |         children: RefCell<Vec<Rc<Node>>>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/test_unsafe.rs:81:29
[INFO] [stdout]    |
[INFO] [stdout] 81 |         println!("COUNTER: {COUNTER}");
[INFO] [stdout]    |                             ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.56s
[INFO] running `Command { std: "docker" "inspect" "ed663210fabc11ad2e74ed80f408529a4fec663e76bbfc708b0dd5b6b4055957", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed663210fabc11ad2e74ed80f408529a4fec663e76bbfc708b0dd5b6b4055957", kill_on_drop: false }`
[INFO] [stdout] ed663210fabc11ad2e74ed80f408529a4fec663e76bbfc708b0dd5b6b4055957
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 52cc9ac7840a456b3f1233be8d1994545349a422ca25b4f22367a6fe0054fabb
[INFO] running `Command { std: "docker" "start" "-a" "52cc9ac7840a456b3f1233be8d1994545349a422ca25b4f22367a6fe0054fabb", kill_on_drop: false }`
[INFO] [stderr]    Compiling tzh_test v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/tests.rs:37:29
[INFO] [stdout]    |
[INFO] [stdout] 37 |   ...   let add = |x| x + y;/// 闭包的定义中没有显式指定任何捕获变量，但在闭包体内使用了 x 和 y，因此它们会被自动捕获。
[INFO] [stdout]    |  ___________________________^
[INFO] [stdout] 38 | | ...   /// Rust 会根据闭包的具体使用情况自动选择最合适的捕获方式。
[INFO] [stdout]    | |_______---------------------------------------------------------^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/tests.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         /// thus can't be used below
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/tests.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         /// sum is a consuming adaptors,which will invalidates the iterator
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 78 |         let total: i32 = v1_iter.sum();
[INFO] [stdout]    |         ------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]    --> src/multi_thread.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 | use std::rc::Rc;
[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: `crate::multi_thread::test_thread`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::multi_thread::test_thread;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_dyn_trait::test_dyn_trait`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::test_dyn_trait::test_dyn_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_state_pattern::test_state_pattern`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::test_state_pattern::test_state_pattern;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_state_pattern2::test_state_pattern2`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::test_state_pattern2::test_state_pattern2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_pattern_match::test_pattern_match`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::test_pattern_match::test_pattern_match;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_unsafe::test_unsafe`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::test_unsafe::test_unsafe;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_advanced_trait::test_advanced_trait`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::test_advanced_trait::test_advanced_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_advanced_func::test_advanced_func`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::test_advanced_func::test_advanced_func;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/test_lifetime.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut xr = &x;        // Ok - x and xr have the same lifetime
[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/test_lifetime.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut string1 = String::from("abcd");
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let mut v1_iter = v1.iter();
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/multi_thread.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let mut v = vec![1, 2, 3];
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/multi_thread.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let mut v = vec![1, 2, 3];
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/test_pattern_match.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 |     if let x = 5 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let mut x = 5;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `xr` is never read
[INFO] [stdout]    --> src/main.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     xr = &mut y;          // Ok
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `xr` is never read
[INFO] [stdout]    --> src/main.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 |     xr = &y;              // Ok - xr is mut, even though the referenced data is not
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let mut y = 6;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x` is never read
[INFO] [stdout]    --> src/main.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     x = 4;                    // OK - y no longer exists
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:433:9
[INFO] [stdout]     |
[INFO] [stdout] 433 |     let mut s = String::from("hello world");
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_move_and_copy` is never used
[INFO] [stdout]   --> src/main.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn test_move_and_copy() {
[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 `takes_ownership` is never used
[INFO] [stdout]   --> src/main.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn takes_ownership(some_string: String) { // some_string 进入作用域
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `makes_copy` is never used
[INFO] [stdout]   --> src/main.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn makes_copy(some_integer: i32) { // some_integer 进入作用域
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]   --> src/main.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct Rectangle
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_print_struct_with_debug` is never used
[INFO] [stdout]   --> src/main.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn test_print_struct_with_debug()
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_reference` is never used
[INFO] [stdout]   --> src/main.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn test_reference()
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_reference_scope` is never used
[INFO] [stdout]   --> src/main.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn test_reference_scope()
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_char` is never used
[INFO] [stdout]   --> src/main.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn test_char()
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_all` is never used
[INFO] [stdout]    --> src/main.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn print_all() {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trans_as` is never used
[INFO] [stdout]    --> src/main.rs:108:4
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn trans_as() {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_func` is never used
[INFO] [stdout]    --> src/main.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn test_func(y: Box<isize>) {}
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_move_pointer` is never used
[INFO] [stdout]    --> src/main.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn test_move_pointer() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bar` is never used
[INFO] [stdout]    --> src/main.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn bar(x: &i32) {}
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bar_mut` is never used
[INFO] [stdout]    --> src/main.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn bar_mut(x: &mut i32) {}  // &mut i32 is a reference to an i32 which
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pointer_total` is never used
[INFO] [stdout]    --> src/main.rs:135:4
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn pointer_total() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_mutable` is never used
[INFO] [stdout]    --> src/main.rs:158:4
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn test_mutable() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_borrow` is never used
[INFO] [stdout]    --> src/main.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn test_borrow() {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `S1` is never constructed
[INFO] [stdout]    --> src/main.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | struct S1 {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `S2` is never constructed
[INFO] [stdout]    --> src/main.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 231 | struct S2<'a> {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `S3` is never constructed
[INFO] [stdout]    --> src/main.rs:235:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | struct S3<'a> {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_mutable_reference` is never used
[INFO] [stdout]    --> src/main.rs:240:4
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn test_mutable_reference() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_copy_and_move` is never used
[INFO] [stdout]    --> src/main.rs:379:4
[INFO] [stdout]     |
[INFO] [stdout] 379 | fn test_copy_and_move() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_over_bound` is never used
[INFO] [stdout]    --> src/main.rs:390:4
[INFO] [stdout]     |
[INFO] [stdout] 390 | fn test_over_bound()
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_mut_array` is never used
[INFO] [stdout]    --> src/main.rs:396:4
[INFO] [stdout]     |
[INFO] [stdout] 396 | fn test_mut_array()
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_passing_array_func` is never used
[INFO] [stdout]    --> src/main.rs:403:4
[INFO] [stdout]     |
[INFO] [stdout] 403 | fn test_passing_array_func(a: &[i32; 4]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_passing_array` is never used
[INFO] [stdout]    --> src/main.rs:407:4
[INFO] [stdout]     |
[INFO] [stdout] 407 | fn test_passing_array() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first_word` is never used
[INFO] [stdout]    --> src/main.rs:411:4
[INFO] [stdout]     |
[INFO] [stdout] 411 | fn first_word(s: &str) -> &str {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_slice` is never used
[INFO] [stdout]    --> src/main.rs:422:4
[INFO] [stdout]     |
[INFO] [stdout] 422 | fn test_slice()
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_pass_closure` is never used
[INFO] [stdout]    --> src/main.rs:439:4
[INFO] [stdout]     |
[INFO] [stdout] 439 | fn test_pass_closure()
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_three` is never used
[INFO] [stdout]    --> src/main.rs:467:4
[INFO] [stdout]     |
[INFO] [stdout] 467 | fn add_three(x: i32) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `borrowed_add_three` is never used
[INFO] [stdout]    --> src/main.rs:471:4
[INFO] [stdout]     |
[INFO] [stdout] 471 | fn borrowed_add_three(x: &i32) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_pass_func` is never used
[INFO] [stdout]    --> src/main.rs:475:4
[INFO] [stdout]     |
[INFO] [stdout] 475 | fn test_pass_func(v: Vec<i32>) -> Vec<i32>
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `func_dispatcher` is never used
[INFO] [stdout]    --> src/main.rs:480:4
[INFO] [stdout]     |
[INFO] [stdout] 480 | fn func_dispatcher<F>(f: F) -> i32
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_func_dispatcher` is never used
[INFO] [stdout]    --> src/main.rs:486:4
[INFO] [stdout]     |
[INFO] [stdout] 486 | fn test_func_dispatcher()
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Foo` is never constructed
[INFO] [stdout]    --> src/main.rs:492:8
[INFO] [stdout]     |
[INFO] [stdout] 492 | struct Foo;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bar` is never used
[INFO] [stdout]    --> src/main.rs:495:8
[INFO] [stdout]     |
[INFO] [stdout] 494 | impl Foo {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] 495 |     fn bar(&self) {}
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `T` is never used
[INFO] [stdout]    --> src/main.rs:498:7
[INFO] [stdout]     |
[INFO] [stdout] 498 | trait T {
[INFO] [stdout]     |       ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_trait_method` is never used
[INFO] [stdout]    --> src/main.rs:506:4
[INFO] [stdout]     |
[INFO] [stdout] 506 | fn test_trait_method() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generic_func` is never used
[INFO] [stdout]    --> src/main.rs:516:4
[INFO] [stdout]     |
[INFO] [stdout] 516 | fn generic_func<T: std::fmt::Display>(x: &T)
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_generic_func` is never used
[INFO] [stdout]    --> src/main.rs:521:4
[INFO] [stdout]     |
[INFO] [stdout] 521 | fn test_generic_func() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_some` is never used
[INFO] [stdout]  --> src/test_match.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn print_some() {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_some_more` is never used
[INFO] [stdout]   --> src/test_match.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn print_some_more() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Enum1` is never used
[INFO] [stdout]   --> src/test_match.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | enum Enum1 {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_match` is never used
[INFO] [stdout]   --> src/test_match.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn test_match(x: &Enum1) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Enum2` is never used
[INFO] [stdout]   --> src/test_match.rs:41:6
[INFO] [stdout]    |
[INFO] [stdout] 41 | enum Enum2 {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_match2` is never used
[INFO] [stdout]   --> src/test_match.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn test_match2(x: &Enum2) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_match3` is never used
[INFO] [stdout]   --> src/test_match.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn test_match3(x: &Enum2, y: &Enum2) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UsState` is never used
[INFO] [stdout]   --> src/test_match.rs:82:6
[INFO] [stdout]    |
[INFO] [stdout] 82 | enum UsState {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Coin` is never used
[INFO] [stdout]   --> src/test_match.rs:88:6
[INFO] [stdout]    |
[INFO] [stdout] 88 | enum Coin {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `value_in_cents` is never used
[INFO] [stdout]   --> src/test_match.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn value_in_cents(coin: Coin) -> u8 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_match_with_coin` is never used
[INFO] [stdout]    --> src/test_match.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub fn test_match_with_coin()
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_by_char` is never used
[INFO] [stdout]  --> src/test_string.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn print_by_char(s:&String)
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_string_info` is never used
[INFO] [stdout]  --> src/test_string.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn print_string_info(i:i32,s:&String)
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_string` is never used
[INFO] [stdout]   --> src/test_string.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn test_string()
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest` is never used
[INFO] [stdout]  --> src/test_lifetime.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_lifetime` is never used
[INFO] [stdout]  --> src/test_lifetime.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) fn test_lifetime() {
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_lifetime2` is never used
[INFO] [stdout]   --> src/test_lifetime.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) fn test_lifetime2() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_lifetime3` is never used
[INFO] [stdout]   --> src/test_lifetime.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(crate) fn test_lifetime3() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportantExcerpt` is never constructed
[INFO] [stdout]   --> src/test_lifetime.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct ImportantExcerpt<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `announce_and_return_part` and `announce_and_return_part_2` are never used
[INFO] [stdout]   --> src/test_lifetime.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl<'a> ImportantExcerpt<'a> {
[INFO] [stdout]    | ----------------------------- methods in this implementation
[INFO] [stdout] 52 |     /// 返回引用的生命周期默认与self一致
[INFO] [stdout] 53 |     fn announce_and_return_part(&self, announcement: &str) -> &str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn announce_and_return_part_2<'b>(&'b self, announcement: &'b str) -> &'b str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]  --> src/multi_thread.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn test1()
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_join` is never used
[INFO] [stdout]   --> src/multi_thread.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn test_join()
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_capture_explicit` is never used
[INFO] [stdout]   --> src/multi_thread.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn test_capture_explicit()
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_capture_implicit` is never used
[INFO] [stdout]   --> src/multi_thread.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn test_capture_implicit()
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_channel` is never used
[INFO] [stdout]   --> src/multi_thread.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn test_channel()
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_channel2` is never used
[INFO] [stdout]   --> src/multi_thread.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn test_channel2()
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_channel3` is never used
[INFO] [stdout]   --> src/multi_thread.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn test_channel3()
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_multi_producer_channel` is never used
[INFO] [stdout]    --> src/multi_thread.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn test_multi_producer_channel()
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_mutex` is never used
[INFO] [stdout]    --> src/multi_thread.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn test_mutex()
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_arc` is never used
[INFO] [stdout]    --> src/multi_thread.rs:212:4
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn test_arc() {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_thread` is never used
[INFO] [stdout]    --> src/multi_thread.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub fn test_thread() {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Draw` is never used
[INFO] [stdout]  --> src/test_dyn_trait.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait Draw {
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Screen` is never constructed
[INFO] [stdout]  --> src/test_dyn_trait.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Screen {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]  --> src/test_dyn_trait.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Screen {
[INFO] [stdout]   | ----------- method in this implementation
[INFO] [stdout] 9 |     pub fn run(&self) {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Button` is never constructed
[INFO] [stdout]   --> src/test_dyn_trait.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Button {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SelectBox` is never constructed
[INFO] [stdout]   --> src/test_dyn_trait.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct SelectBox {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_dyn_trait` is never used
[INFO] [stdout]   --> src/test_dyn_trait.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn test_dyn_trait() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Post` is never constructed
[INFO] [stdout]  --> src/test_state_pattern.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Post {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_text`, `content`, `request_review`, and `approve` are never used
[INFO] [stdout]   --> src/test_state_pattern.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Post {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Post {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn add_text(&mut self, text: &str) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn content(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn request_review(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn approve(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `State` is never used
[INFO] [stdout]   --> src/test_state_pattern.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | trait State {
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Published` is never constructed
[INFO] [stdout]   --> src/test_state_pattern.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | struct Published {}
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingReview` is never constructed
[INFO] [stdout]   --> src/test_state_pattern.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct PendingReview {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Draft` is never constructed
[INFO] [stdout]   --> src/test_state_pattern.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | struct Draft {}
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_state_pattern` is never used
[INFO] [stdout]   --> src/test_state_pattern.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn test_state_pattern() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Post` is never constructed
[INFO] [stdout]  --> src/test_state_pattern2.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Post {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DraftPost` is never constructed
[INFO] [stdout]  --> src/test_state_pattern2.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DraftPost {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `content` are never used
[INFO] [stdout]   --> src/test_state_pattern2.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Post {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> DraftPost {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn content(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_text` and `request_review` are never used
[INFO] [stdout]   --> src/test_state_pattern2.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl DraftPost {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 22 |     pub fn add_text(&mut self, text: &str) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn request_review(self) -> PendingReviewPost {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingReviewPost` is never constructed
[INFO] [stdout]   --> src/test_state_pattern2.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct PendingReviewPost {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `approve` is never used
[INFO] [stdout]   --> src/test_state_pattern2.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl PendingReviewPost {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] 38 |     pub fn approve(self) -> Post {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_state_pattern2` is never used
[INFO] [stdout]   --> src/test_state_pattern2.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) fn test_state_pattern2() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `if_let` is never used
[INFO] [stdout]  --> src/test_pattern_match.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn if_let() {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `while_let` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn while_let() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tuple_match` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn tuple_match() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_coordinates` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn print_coordinates(&(x, y): &(i32, i32)) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tuple_match_in_para` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn tuple_match_in_para() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `irrefutable` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn irrefutable() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_field` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn match_field() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_or` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn match_or() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_range` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn match_range() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/test_pattern_match.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | struct Point {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deconstruction` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn deconstruction() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deconstruction2` is never used
[INFO] [stdout]   --> src/test_pattern_match.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn deconstruction2() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deconstruction_match` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn deconstruction_match() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:119:6
[INFO] [stdout]     |
[INFO] [stdout] 119 | enum Message {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enum_match` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn enum_match() {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Color2` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:145:6
[INFO] [stdout]     |
[INFO] [stdout] 145 | enum Color2 {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message2` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:150:6
[INFO] [stdout]     |
[INFO] [stdout] 150 | enum Message2 {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nest_deconstruction_match` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn nest_deconstruction_match() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mixed_deconstruction` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn mixed_deconstruction() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `foo` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn foo(_: i32, y: i32) {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ignore` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn ignore() {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ignore2` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:183:4
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn ignore2() {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ignore3` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:199:4
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn ignore3() {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `avoid_warning` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:209:4
[INFO] [stdout]     |
[INFO] [stdout] 209 | fn avoid_warning() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ignore_do_not_move` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:214:4
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn ignore_do_not_move(){
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `range_ignore` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:228:4
[INFO] [stdout]     |
[INFO] [stdout] 228 | fn range_ignore() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `range_ignore2` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn range_ignore2() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_guard` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn match_guard(){
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_guard2` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:262:4
[INFO] [stdout]     |
[INFO] [stdout] 262 | fn match_guard2(){
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_at` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn match_at(){
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_pattern_match` is never used
[INFO] [stdout]    --> src/test_pattern_match.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub fn test_pattern_match() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]  --> src/test_unsafe.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn test1() {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_5` is never used
[INFO] [stdout]  --> src/test_unsafe.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn add_5(p: *mut i32) -> i32 {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test2` is never used
[INFO] [stdout]   --> src/test_unsafe.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn test2()
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test3` is never used
[INFO] [stdout]   --> src/test_unsafe.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn test3()
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_at_mut` is never used
[INFO] [stdout]   --> src/test_unsafe.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn split_at_mut(values: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `COUNTER` is never used
[INFO] [stdout]   --> src/test_unsafe.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | static mut COUNTER: u32 = 0;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_to_count` is never used
[INFO] [stdout]   --> src/test_unsafe.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn add_to_count(inc: u32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test4` is never used
[INFO] [stdout]   --> src/test_unsafe.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn test4() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_unsafe` is never used
[INFO] [stdout]   --> src/test_unsafe.rs:86:15
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub(crate) fn test_unsafe() {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]  --> src/test_advanced_trait.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Point {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn test1() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Millimeters` is never constructed
[INFO] [stdout]   --> src/test_advanced_trait.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Millimeters(u32);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Meters` is never constructed
[INFO] [stdout]   --> src/test_advanced_trait.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Meters(u32);
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Pilot` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | trait Pilot {
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Wizard` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 | trait Wizard {
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Human` is never constructed
[INFO] [stdout]   --> src/test_advanced_trait.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | struct Human;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fly` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Human {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 62 |     fn fly(&self) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test2` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn test2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test3` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn test3() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Animal` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:79:7
[INFO] [stdout]    |
[INFO] [stdout] 79 | trait Animal {
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dog` is never constructed
[INFO] [stdout]   --> src/test_advanced_trait.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct Dog;
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `baby_name` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl Dog {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 86 |     fn baby_name() -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test4` is never used
[INFO] [stdout]   --> src/test_advanced_trait.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn test4() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `OutlinePrint` is never used
[INFO] [stdout]    --> src/test_advanced_trait.rs:106:7
[INFO] [stdout]     |
[INFO] [stdout] 106 | trait OutlinePrint: fmt::Display {
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test5` is never used
[INFO] [stdout]    --> src/test_advanced_trait.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn test5() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Wrapper` is never constructed
[INFO] [stdout]    --> src/test_advanced_trait.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | struct Wrapper(Vec<String>);
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test6` is never used
[INFO] [stdout]    --> src/test_advanced_trait.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn test6() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_advanced_trait` is never used
[INFO] [stdout]    --> src/test_advanced_trait.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn test_advanced_trait() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_one` is never used
[INFO] [stdout]  --> src/test_advanced_func.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn add_one(x: i32) -> i32 {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_twice` is never used
[INFO] [stdout]  --> src/test_advanced_func.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn do_twice(f: fn(i32) -> i32, arg: i32) -> i32 {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]  --> src/test_advanced_func.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn test1() {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_advanced_func` is never used
[INFO] [stdout]   --> src/test_advanced_func.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) fn test_advanced_func()
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bar_pointer` is never used
[INFO] [stdout]    --> src/main.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn bar_pointer(x: Rc<i32>) {}
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `baz_pointer` is never used
[INFO] [stdout]    --> src/main.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn baz_pointer(x: &i32) {}
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rc` is never used
[INFO] [stdout]    --> src/main.rs:192:19
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub(crate) fn test_rc() {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/main.rs:201:14
[INFO] [stdout]     |
[INFO] [stdout] 201 |         Cons(i32, Rc<List>),
[INFO] [stdout]     |         ---- ^^^  ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         fields in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 201 -         Cons(i32, Rc<List>),
[INFO] [stdout] 201 +         Cons((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `S` is never constructed
[INFO] [stdout]    --> src/main.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 268 |     struct S {
[INFO] [stdout]     |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refcell_test_func` is never used
[INFO] [stdout]    --> src/main.rs:272:8
[INFO] [stdout]     |
[INFO] [stdout] 272 |     fn refcell_test_func(x: Rc<RefCell<S>>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_refcell` is never used
[INFO] [stdout]    --> src/main.rs:286:8
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn test_refcell() {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyBox` is never constructed
[INFO] [stdout]    --> src/main.rs:540:12
[INFO] [stdout]     |
[INFO] [stdout] 540 |     struct MyBox<T>(T);
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/main.rs:543:12
[INFO] [stdout]     |
[INFO] [stdout] 542 |     impl<T> MyBox<T> {
[INFO] [stdout]     |     ---------------- associated function in this implementation
[INFO] [stdout] 543 |         fn new(x:T) -> MyBox<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_my_box` is never used
[INFO] [stdout]    --> src/main.rs:558:19
[INFO] [stdout]     |
[INFO] [stdout] 558 |     pub(crate) fn test_my_box()
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `List` is never used
[INFO] [stdout]    --> src/main.rs:571:10
[INFO] [stdout]     |
[INFO] [stdout] 571 |     enum List {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_refcell_with_rc` is never used
[INFO] [stdout]    --> src/main.rs:580:19
[INFO] [stdout]     |
[INFO] [stdout] 580 |     pub(crate) fn test_refcell_with_rc() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:604:14
[INFO] [stdout]     |
[INFO] [stdout] 604 |         Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout]     |         ---- ^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 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] 604 -         Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout] 604 +         Cons((), RefCell<Rc<List>>),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value` and `children` are never read
[INFO] [stdout]    --> src/main.rs:650:9
[INFO] [stdout]     |
[INFO] [stdout] 649 |     struct Node {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 650 |         value: i32,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 651 |         parent: RefCell<Weak<Node>>,//一个节点就能够引用其父节点，但不拥有其父节点
[INFO] [stdout] 652 |         children: RefCell<Vec<Rc<Node>>>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/test_unsafe.rs:81:29
[INFO] [stdout]    |
[INFO] [stdout] 81 |         println!("COUNTER: {COUNTER}");
[INFO] [stdout]    |                             ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.53s
[INFO] running `Command { std: "docker" "inspect" "52cc9ac7840a456b3f1233be8d1994545349a422ca25b4f22367a6fe0054fabb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52cc9ac7840a456b3f1233be8d1994545349a422ca25b4f22367a6fe0054fabb", kill_on_drop: false }`
[INFO] [stdout] 52cc9ac7840a456b3f1233be8d1994545349a422ca25b4f22367a6fe0054fabb
