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