[INFO] cloning repository https://github.com/upangka/rustdoc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/upangka/rustdoc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fupangka%2Frustdoc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fupangka%2Frustdoc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 32cd949254653a725476bb284308595012d0190e
[INFO] checking upangka/rustdoc against try#438eb4c1a1c3841523d7f672601e8adbe04cff28 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fupangka%2Frustdoc" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/upangka/rustdoc
[INFO] finished tweaking git repo https://github.com/upangka/rustdoc
[INFO] tweaked toml for git repo https://github.com/upangka/rustdoc written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/upangka/rustdoc on toolchain 438eb4c1a1c3841523d7f672601e8adbe04cff28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/upangka/rustdoc 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" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 200fa7778ce498b2d933d578504af3fcf12c11399d761896f5f33129fc3522a9
[INFO] running `Command { std: "docker" "start" "-a" "200fa7778ce498b2d933d578504af3fcf12c11399d761896f5f33129fc3522a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "200fa7778ce498b2d933d578504af3fcf12c11399d761896f5f33129fc3522a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "200fa7778ce498b2d933d578504af3fcf12c11399d761896f5f33129fc3522a9", kill_on_drop: false }`
[INFO] [stdout] 200fa7778ce498b2d933d578504af3fcf12c11399d761896f5f33129fc3522a9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 907e2b57f1080ba8296cdecef4e00f78c7ddd3b6d92528a353581ad4965c6b72
[INFO] running `Command { std: "docker" "start" "-a" "907e2b57f1080ba8296cdecef4e00f78c7ddd3b6d92528a353581ad4965c6b72", kill_on_drop: false }`
[INFO] [stderr] warning: c-programming-concepts v0.1.0 (/opt/rustwide/workdir/c-programming-concepts) ignoring invalid dependency `cargo-script` which is missing a lib target
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]     Checking cfg-if v1.0.1
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling cc v1.2.30
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking slab v0.4.10
[INFO] [stderr]     Checking writeable v0.6.1
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking litemap v0.8.0
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking regex-syntax v0.6.29
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking indexmap v2.10.0
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking openssl-probe v0.1.6
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]     Checking iri-string v0.7.8
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking matchit v0.8.4
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]     Checking trait-pratice v0.1.0 (/opt/rustwide/workdir/trait-pratice)
[INFO] [stderr]     Checking understand-trait v0.1.0 (/opt/rustwide/workdir/understand-trait)
[INFO] [stderr]     Checking minigrep v0.1.0 (/opt/rustwide/workdir/minigrep)
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> trait-pratice/src/main.rs:31:59
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn some_function_v1<T: Display + Clone, U: Clone + Debug>(t: &T, u: &U) -> i32 {
[INFO] [stdout]    |                                                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> trait-pratice/src/main.rs:31:66
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn some_function_v1<T: Display + Clone, U: Clone + Debug>(t: &T, u: &U) -> i32 {
[INFO] [stdout]    |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> trait-pratice/src/main.rs:34:27
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn some_function_v2<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> trait-pratice/src/main.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn some_function_v2<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify` is never used
[INFO] [stdout]   --> trait-pratice/src/main.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn notify(item: &(impl Display + Summary)) {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `some_function_v1` is never used
[INFO] [stdout]   --> trait-pratice/src/main.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn some_function_v1<T: Display + Clone, U: Clone + Debug>(t: &T, u: &U) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `some_function_v2` is never used
[INFO] [stdout]   --> trait-pratice/src/main.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn some_function_v2<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]  --> trait-pratice/src/trait_bound_conditionally.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Point<T> {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw` is never used
[INFO] [stdout]  --> trait-pratice/src/trait_bound_conditionally.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl<T> Point<T> {
[INFO] [stdout]   | ---------------- method in this implementation
[INFO] [stdout] 9 |     fn draw(&self) {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cmp_display` is never used
[INFO] [stdout]   --> trait-pratice/src/trait_bound_conditionally.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<T: Display + PartialOrd> Point<T> {
[INFO] [stdout]    | -------------------------------------- method in this implementation
[INFO] [stdout] 15 |     fn cmp_display(&self) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking default-trait v0.1.0 (/opt/rustwide/workdir/default-trait)
[INFO] [stderr]     Checking dyn-practice v0.1.0 (/opt/rustwide/workdir/dyn-practice)
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> trait-pratice/src/main.rs:31:59
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn some_function_v1<T: Display + Clone, U: Clone + Debug>(t: &T, u: &U) -> i32 {
[INFO] [stdout]    |                                                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> trait-pratice/src/main.rs:31:66
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn some_function_v1<T: Display + Clone, U: Clone + Debug>(t: &T, u: &U) -> i32 {
[INFO] [stdout]    |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> trait-pratice/src/main.rs:34:27
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn some_function_v2<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> trait-pratice/src/main.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn some_function_v2<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notify` is never used
[INFO] [stdout]   --> trait-pratice/src/main.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn notify(item: &(impl Display + Summary)) {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `some_function_v1` is never used
[INFO] [stdout]   --> trait-pratice/src/main.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn some_function_v1<T: Display + Clone, U: Clone + Debug>(t: &T, u: &U) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `some_function_v2` is never used
[INFO] [stdout]   --> trait-pratice/src/main.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn some_function_v2<T, U>(t: &T, u: &U) -> i32
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking c-programming-concepts v0.1.0 (/opt/rustwide/workdir/c-programming-concepts)
[INFO] [stderr]     Checking backyard v0.1.0 (/opt/rustwide/workdir/backyard)
[INFO] [stderr]     Checking hashmap-practice v0.1.0 (/opt/rustwide/workdir/hashmap-practice)
[INFO] [stdout] warning: fields `host`, `port`, `use_tls`, and `max_connections` are never read
[INFO] [stdout]  --> default-trait/src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct ServerConfig {
[INFO] [stdout]   |        ------------ fields in this struct
[INFO] [stdout] 3 |     host: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 4 |     port: u16,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     use_tls: bool,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 6 |     max_connections: usize,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ServerConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `five` is never used
[INFO] [stdout]  --> c-programming-concepts/src/func.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn five() -> i32 {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `change` is never used
[INFO] [stdout]   --> c-programming-concepts/src/mut_reference.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn change(s: &mut String) {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_len` is never used
[INFO] [stdout]   --> c-programming-concepts/src/reference.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn calculate_len(s: &String) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking smart-pointer v0.1.0 (/opt/rustwide/workdir/smart-pointer)
[INFO] [stderr]     Checking string-practice v0.1.0 (/opt/rustwide/workdir/string-practice)
[INFO] [stderr]     Checking enum-practice v0.1.0 (/opt/rustwide/workdir/enum-practice)
[INFO] [stdout] warning: unused variable: `random_number`
[INFO] [stdout]  --> dyn-practice/src/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let random_number = 0.234;
[INFO] [stdout]   |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_random_number`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]  --> dyn-practice/src/animal/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Sheep {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] 2 |     id: u32,
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]  --> string-practice/src/main.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let s = "initial contents".to_string();
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking struct-practice v0.1.0 (/opt/rustwide/workdir/struct-practice)
[INFO] [stderr]     Checking generic-practice v0.1.0 (/opt/rustwide/workdir/generic-practice)
[INFO] [stdout] warning: unused variable: `num_spaces`
[INFO] [stdout]  --> enum-practice/src/match_exhaust.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn move_player(num_spaces: u8) {}
[INFO] [stdout]   |                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_spaces`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking lifetime-pratice v0.1.0 (/opt/rustwide/workdir/lifetime-pratice)
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]   --> struct-practice/src/main.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let Color(r, g, b) = black;
[INFO] [stdout]    |               ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]   --> struct-practice/src/main.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let Color(r, g, b) = black;
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> struct-practice/src/main.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let Color(r, g, b) = black;
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_spaces`
[INFO] [stdout]   --> struct-practice/src/main.rs:37:20
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn move_player(num_spaces: u8) {}
[INFO] [stdout]    |                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_spaces`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]  --> struct-practice/src/derive_trait.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Rectangle {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]  --> struct-practice/src/unit_like.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Point {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_point` is never used
[INFO] [stdout]  --> struct-practice/src/unit_like.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn print_point(p: &Point) {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message` is never used
[INFO] [stdout]  --> enum-practice/src/main.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Message {
[INFO] [stdout]   |      ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `call` is never used
[INFO] [stdout]   --> enum-practice/src/main.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Message {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 13 |     fn call(&self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main_22` is never used
[INFO] [stdout]   --> enum-practice/src/main.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn main_22() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_spaces`
[INFO] [stdout]  --> enum-practice/src/match_exhaust.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn move_player(num_spaces: u8) {}
[INFO] [stdout]   |                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_spaces`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message` is never used
[INFO] [stdout]  --> enum-practice/src/main.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Message {
[INFO] [stdout]   |      ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `call` is never used
[INFO] [stdout]   --> enum-practice/src/main.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Message {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 13 |     fn call(&self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main_22` is never used
[INFO] [stdout]   --> enum-practice/src/main.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn main_22() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_fancy_hat` is never used
[INFO] [stdout]  --> enum-practice/src/match_exhaust.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn add_fancy_hat() {}
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_fancy_hat` is never used
[INFO] [stdout]  --> enum-practice/src/match_exhaust.rs:2:4
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn remove_fancy_hat() {}
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_player` is never used
[INFO] [stdout]  --> enum-practice/src/match_exhaust.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn move_player(num_spaces: u8) {}
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking n-closure v0.1.0 (/opt/rustwide/workdir/n-closure)
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> lifetime-pratice/src/anoymos.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn foo<'a>(x: &'a str, y: &'a str) -> &'a str {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking a-getting-start v0.1.0 (/opt/rustwide/workdir/a-getting-start)
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> lifetime-pratice/src/main.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let i = ImportantExcerpt {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `part` is never read
[INFO] [stdout]   --> lifetime-pratice/src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct ImportantExcerpt<'a> {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 31 |     part: &'a str,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest` is never used
[INFO] [stdout]   --> lifetime-pratice/src/dangerling_reference.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportantExcerpt` is never constructed
[INFO] [stdout]  --> lifetime-pratice/src/struct_demo.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct ImportantExcerpt<'a> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `level` and `announce_and_return_part` are never used
[INFO] [stdout]   --> lifetime-pratice/src/struct_demo.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl<'a> ImportantExcerpt<'a> {
[INFO] [stdout]    | ----------------------------- methods in this implementation
[INFO] [stdout]  7 |     // 这里返回的不是引用，和生命周期没有关系
[INFO] [stdout]  8 |     fn level(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn announce_and_return_part(&self, announcement: &str) -> &str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `compare` is never used
[INFO] [stdout]   --> lifetime-pratice/src/struct_demo.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl<'a> ImportantExcerpt<'a> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] 20 |     // 实际上需要这样写：
[INFO] [stdout] 21 |     fn compare<'b>(&'a self, other: &'b str) -> &'a str
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first_word` is never used
[INFO] [stdout]  --> lifetime-pratice/src/lifetime_elision.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn first_word(s: &str) -> &str {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `foo` is never used
[INFO] [stdout]   --> lifetime-pratice/src/anoymos.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn foo<'a>(x: &'a str, y: &'a str) -> &'a str {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest_with_an_announcement` is never used
[INFO] [stdout]   --> lifetime-pratice/src/anoymos.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn longest_with_an_announcement<'a, T>(x: &'a str, y: &'a str, ann: T) -> &'a str
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `host`, `port`, `use_tls`, and `max_connections` are never read
[INFO] [stdout]  --> default-trait/src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct ServerConfig {
[INFO] [stdout]   |        ------------ fields in this struct
[INFO] [stdout] 3 |     host: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 4 |     port: u16,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     use_tls: bool,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 6 |     max_connections: usize,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ServerConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> generic-practice/src/display.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut s1  = displayable(s);
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]   --> generic-practice/src/display.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut s1  = displayable(s);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> generic-practice/src/special_constraint.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let result = slice.to_vec();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> generic-practice/src/special_constraint.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let result = slice.to_vec();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> generic-practice/src/special_constraint.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let result = array.to_vec();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]   --> generic-practice/src/main.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let slice = &vec[0..2];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]   --> generic-practice/src/main.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let slice = &array[0..2];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]   --> generic-practice/src/main.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let slice: &[i32] = &vec;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]   --> generic-practice/src/main.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let slice: &[i32] = &array;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_i32` is never used
[INFO] [stdout]   --> generic-practice/src/main.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn largest_i32(list: &[i32]) -> &i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest` is never used
[INFO] [stdout]  --> generic-practice/src/largest.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn largest<T>(items: &[T]) -> &T
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> generic-practice/src/largest.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Point<T> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_curve` is never used
[INFO] [stdout]   --> generic-practice/src/special_constraint.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl TestResult {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 56 |     pub fn get_curve(&self) -> &Option<usize> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking option-practice v0.1.0 (/opt/rustwide/workdir/option-practice)
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]  --> string-practice/src/main.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let s = "initial contents".to_string();
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> struct-practice/src/unit_like.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let x = &mut p.x; // (1) 对 p.x 的可变借用
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]   --> struct-practice/src/main.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let Color(r, g, b) = black;
[INFO] [stdout]    |               ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]   --> struct-practice/src/main.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let Color(r, g, b) = black;
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> struct-practice/src/main.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let Color(r, g, b) = black;
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_spaces`
[INFO] [stdout]   --> struct-practice/src/main.rs:37:20
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn move_player(num_spaces: u8) {}
[INFO] [stdout]    |                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_spaces`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width` and `height` are never read
[INFO] [stdout]  --> struct-practice/src/derive_trait.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Rectangle {
[INFO] [stdout]   |        --------- fields in this struct
[INFO] [stdout] 3 |     width: u32,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 4 |     height: u32,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Rectangle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking d-ownership v0.1.0 (/opt/rustwide/workdir/d-ownership)
[INFO] [stderr]     Checking vect-practice v0.1.0 (/opt/rustwide/workdir/vect-practice)
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> n-closure/src/basic.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> n-closure/src/range.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |         if (item == b' ') {
[INFO] [stdout]    |            ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 25 -         if (item == b' ') {
[INFO] [stdout] 25 +         if item == b' ' {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `takes_ownership` is never used
[INFO] [stdout]   --> d-ownership/src/ownership_func.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn takes_ownership(some_string: String) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `makes_copy` is never used
[INFO] [stdout]   --> d-ownership/src/ownership_func.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn makes_copy(some_integer: i32) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_file` is never used
[INFO] [stdout]  --> option-practice/src/file_basic.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn read_file(filename: &str) -> Result<String> {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking error-practice v0.1.0 (/opt/rustwide/workdir/error-practice)
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> error-practice/src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     panic!("panic");
[INFO] [stdout]    |     --------------- any code following this expression is unreachable
[INFO] [stdout] 21 |     println!("hello world")
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]   --> error-practice/src/main.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let file = File::open("hello.txt").unwrap_or_else(|error| {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sugar` is never used
[INFO] [stdout]   --> error-practice/src/main.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn test_sugar() -> Result<String,Box<dyn Error>> {
[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 `read_username_from_file_v1` is never used
[INFO] [stdout]  --> error-practice/src/quote.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn read_username_from_file_v1() -> Result<String, io::Error> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file_v2` is never used
[INFO] [stdout]   --> error-practice/src/quote.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn read_username_from_file_v2() -> Result<String, io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file_v3` is never used
[INFO] [stdout]   --> error-practice/src/quote.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn read_username_from_file_v3() -> Result<String, io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file_v4` is never used
[INFO] [stdout]   --> error-practice/src/quote.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn read_username_from_file_v4() -> Result<String, io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OurError` is never constructed
[INFO] [stdout]  --> error-practice/src/our_error.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct OurError {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file` is never used
[INFO] [stdout]   --> error-practice/src/our_error.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn read_username_from_file() -> Result<String, OurError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `last_char_of_first_line` is never used
[INFO] [stdout]  --> error-practice/src/question_with_option.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn last_char_of_first_line(text: &str) -> Option<char> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> error-practice/src/main.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{ErrorKind};
[INFO] [stdout]   |               ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> error-practice/src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> error-practice/src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     panic!("panic");
[INFO] [stdout]    |     --------------- any code following this expression is unreachable
[INFO] [stdout] 21 |     println!("hello world")
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `does_not_exist`
[INFO] [stdout]   --> vect-practice/src/main.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let does_not_exist = &v[100]; // 直接报错，终止程序运行
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_does_not_exist`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_sugar` is never used
[INFO] [stdout]   --> error-practice/src/main.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn test_sugar() -> Result<String,Box<dyn Error>> {
[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 `read_username_from_file_v1` is never used
[INFO] [stdout]  --> error-practice/src/quote.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn read_username_from_file_v1() -> Result<String, io::Error> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file_v2` is never used
[INFO] [stdout]   --> error-practice/src/quote.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn read_username_from_file_v2() -> Result<String, io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file_v3` is never used
[INFO] [stdout]   --> error-practice/src/quote.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn read_username_from_file_v3() -> Result<String, io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file_v4` is never used
[INFO] [stdout]   --> error-practice/src/quote.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn read_username_from_file_v4() -> Result<String, io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OurError` is never constructed
[INFO] [stdout]  --> error-practice/src/our_error.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct OurError {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file` is never used
[INFO] [stdout]   --> error-practice/src/our_error.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn read_username_from_file() -> Result<String, OurError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `last_char_of_first_line` is never used
[INFO] [stdout]  --> error-practice/src/question_with_option.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn last_char_of_first_line(text: &str) -> Option<char> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `random_number`
[INFO] [stdout]  --> dyn-practice/src/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let random_number = 0.234;
[INFO] [stdout]   |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_random_number`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]  --> dyn-practice/src/animal/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Sheep {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] 2 |     id: u32,
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stdout] warning: unused variable: `word`
[INFO] [stdout]   --> lifetime-pratice/src/lifetime_elision.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let word = first_word(&my_string[..]);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_word`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `word`
[INFO] [stdout]   --> lifetime-pratice/src/lifetime_elision.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let word = first_word(&my_string_literal[..]);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_word`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `word`
[INFO] [stdout]   --> lifetime-pratice/src/lifetime_elision.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let word = first_word(my_string_literal);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_word`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> lifetime-pratice/src/anoymos.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn foo<'a>(x: &'a str, y: &'a str) -> &'a str {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> lifetime-pratice/src/main.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let i = ImportantExcerpt {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `part` is never read
[INFO] [stdout]   --> lifetime-pratice/src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct ImportantExcerpt<'a> {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 31 |     part: &'a str,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `level` and `announce_and_return_part` are never used
[INFO] [stdout]   --> lifetime-pratice/src/struct_demo.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl<'a> ImportantExcerpt<'a> {
[INFO] [stdout]    | ----------------------------- methods in this implementation
[INFO] [stdout]  7 |     // 这里返回的不是引用，和生命周期没有关系
[INFO] [stdout]  8 |     fn level(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn announce_and_return_part(&self, announcement: &str) -> &str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `foo` is never used
[INFO] [stdout]   --> lifetime-pratice/src/anoymos.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn foo<'a>(x: &'a str, y: &'a str) -> &'a str {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest_with_an_announcement` is never used
[INFO] [stdout]   --> lifetime-pratice/src/anoymos.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn longest_with_an_announcement<'a, T>(x: &'a str, y: &'a str, ann: T) -> &'a str
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> n-closure/src/basic.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> n-closure/src/basic.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> n-closure/src/range.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |         if (item == b' ') {
[INFO] [stdout]    |            ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 25 -         if (item == b' ') {
[INFO] [stdout] 25 +         if item == b' ' {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]   --> n-closure/src/basic.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let z: i32 = *x;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z1`
[INFO] [stdout]   --> n-closure/src/basic.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let z1: i32 = **y;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_z1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z2`
[INFO] [stdout]   --> n-closure/src/basic.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let z2: &i32 = &*x;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_z2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> n-closure/src/basic.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let s = Box::new("hello");
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> n-closure/src/basic.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut data = Box::new(42);
[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]   --> n-closure/src/basic.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let mut v: Vec<i32> = vec![1, 2, 3];
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]   --> n-closure/src/basic.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let z: i32 = *x;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z1`
[INFO] [stdout]   --> n-closure/src/basic.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let z1: i32 = **y;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_z1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z2`
[INFO] [stdout]   --> n-closure/src/basic.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let z2: &i32 = &*x;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_z2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> n-closure/src/basic.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let s = Box::new("hello");
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> n-closure/src/basic.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let mut v: Vec<i32> = vec![1, 2, 3];
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]   --> n-closure/src/range.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let slice: &[i32] = &a[1..3];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_stack_ref`
[INFO] [stdout]   --> n-closure/src/summary.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let a_stack_ref = &another_num;
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_stack_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_box_stack_ref`
[INFO] [stdout]   --> n-closure/src/summary.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let a_box_stack_ref = &a_box;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_box_stack_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_ref`
[INFO] [stdout]   --> n-closure/src/summary.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let v_ref: &Vec<i32> = &v;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_v_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]  --> n-closure/src/main.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let s = example_closure(String::from("hello"));
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_pointer` is never used
[INFO] [stdout]   --> n-closure/src/basic.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn test_pointer() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_implicitly` is never used
[INFO] [stdout]   --> n-closure/src/basic.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn test_implicitly() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_alias` is never used
[INFO] [stdout]   --> n-closure/src/basic.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn test_alias() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_mut` is never used
[INFO] [stdout]   --> n-closure/src/basic.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn test_mut() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first_word` is never used
[INFO] [stdout]   --> n-closure/src/range.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn first_word(s: &String) -> &str {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_other_slice` is never used
[INFO] [stdout]   --> n-closure/src/range.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn test_other_slice() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inner` is never used
[INFO] [stdout]  --> n-closure/src/summary.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn inner(x: &mut i32) {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_drop` is never used
[INFO] [stdout]   --> n-closure/src/summary.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn test_drop() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num` is never read
[INFO] [stdout]   --> n-closure/src/basic.rs:93:19
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let mut num = &mut v[0];
[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: variable does not need to be mutable
[INFO] [stdout]    --> n-closure/src/basic.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let mut x = vec![1, 2, 3];
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> n-closure/src/basic.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let c = (*b)[1];
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> n-closure/src/basic.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let d = a[1];
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::str::<impl str>::len` that must be used
[INFO] [stdout]   --> n-closure/src/basic.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     str::len(a);
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let _ = str::len(a);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]  --> n-closure/src/range.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let slice = &s[0..2];
[INFO] [stdout]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]  --> n-closure/src/range.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let slice = &s[3..s.len()];
[INFO] [stdout]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]   --> n-closure/src/range.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let slice = first_word(&s);
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]   --> n-closure/src/range.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let slice: &[i32] = &a[1..3];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_stack_ref`
[INFO] [stdout]   --> n-closure/src/summary.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let a_stack_ref = &another_num;
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_stack_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_box_stack_ref`
[INFO] [stdout]   --> n-closure/src/summary.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let a_box_stack_ref = &a_box;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_box_stack_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_ref`
[INFO] [stdout]   --> n-closure/src/summary.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let v_ref: &Vec<i32> = &v;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_v_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]  --> n-closure/src/main.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let s = example_closure(String::from("hello"));
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_pointer` is never used
[INFO] [stdout]   --> n-closure/src/basic.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn test_pointer() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_implicitly` is never used
[INFO] [stdout]   --> n-closure/src/basic.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn test_implicitly() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_alias` is never used
[INFO] [stdout]   --> n-closure/src/basic.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn test_alias() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_mut` is never used
[INFO] [stdout]   --> n-closure/src/basic.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn test_mut() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_other_slice` is never used
[INFO] [stdout]   --> n-closure/src/range.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn test_other_slice() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_drop` is never used
[INFO] [stdout]   --> n-closure/src/summary.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn test_drop() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]   --> generic-practice/src/main.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let slice = &vec[0..2];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]   --> generic-practice/src/main.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let slice = &array[0..2];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]   --> generic-practice/src/main.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let slice: &[i32] = &vec;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]   --> generic-practice/src/main.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let slice: &[i32] = &array;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_i32` is never used
[INFO] [stdout]   --> generic-practice/src/main.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn largest_i32(list: &[i32]) -> &i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `displayable` is never used
[INFO] [stdout]  --> generic-practice/src/display.rs:2:4
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn displayable<T: Display>(t: T) -> impl Display{
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest` is never used
[INFO] [stdout]  --> generic-practice/src/largest.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn largest<T>(items: &[T]) -> &T
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> generic-practice/src/largest.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Point<T> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]  --> generic-practice/src/special_constraint.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Point<T> {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_tuple` is never used
[INFO] [stdout]  --> generic-practice/src/special_constraint.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl<T: Copy> Point<T> {
[INFO] [stdout]   | ---------------------- method in this implementation
[INFO] [stdout] 8 |     fn to_tuple(&self) -> (T, T) {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `distance_from_origin` is never used
[INFO] [stdout]   --> generic-practice/src/special_constraint.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Point<f64> {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 15 |     fn distance_from_origin(&self) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestResult` is never constructed
[INFO] [stdout]   --> generic-practice/src/special_constraint.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct TestResult {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_curve` and `apply_curve` are never used
[INFO] [stdout]   --> generic-practice/src/special_constraint.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl TestResult {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 56 |     pub fn get_curve(&self) -> &Option<usize> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn apply_curve(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_nth` is never used
[INFO] [stdout]    --> generic-practice/src/special_constraint.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn find_nth<T: Ord + Clone>(elems: &[T], n: usize) -> T {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::str::<impl str>::len` that must be used
[INFO] [stdout]   --> n-closure/src/basic.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     str::len(a);
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let _ = str::len(a);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]     Checking b-guessing-game v0.1.0 (/opt/rustwide/workdir/b-guessing-game)
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking tokio v1.46.1
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking axum-core v0.5.2
[INFO] [stderr]     Checking zerovec v0.11.2
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking tracing-practice v0.1.0 (/opt/rustwide/workdir/tracing-practice)
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_path_to_error v0.1.17
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking h2 v0.4.11
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking anyhow-practice v0.1.0 (/opt/rustwide/workdir/anyhow-practice)
[INFO] [stderr]     Checking error-handling v0.1.0 (/opt/rustwide/workdir/error-handling)
[INFO] [stderr]     Checking serde-practice v0.1.0 (/opt/rustwide/workdir/serde-practice)
[INFO] [stdout] warning: unused import: `Result`
[INFO] [stdout]  --> error-handling/src/test/option_test.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_json::{Result, Value};
[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: `Result`
[INFO] [stdout]  --> error-handling/src/test/option_test.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_json::{Result, Value};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> error-handling/src/test/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod option_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Result` and `Value`
[INFO] [stdout]  --> error-handling/src/test/mod.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json::{Result, Value};
[INFO] [stdout]   |                  ^^^^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> error-handling/src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod test;
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA` is never used
[INFO] [stdout]  --> error-handling/src/test/mod.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const DATA: &str = r#" { "name": "John Doe", "age": 43}  "#;
[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 `get_username` is never used
[INFO] [stdout]  --> error-handling/src/test/option_test.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn get_username(json: &Value) -> Option<&str> {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_config_file` is never used
[INFO] [stdout]  --> anyhow-practice/src/read_file.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn read_config_file(path: &str) -> Result<String> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_config` is never used
[INFO] [stdout]   --> anyhow-practice/src/read_file.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn parse_config(data: &str) -> Result<Value> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_api_key` is never used
[INFO] [stdout]   --> anyhow-practice/src/read_file.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn extract_api_key(json: &Value) -> Result<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_request` is never used
[INFO] [stdout]   --> anyhow-practice/src/read_file.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn send_request(api_key: &str) -> Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result`
[INFO] [stdout]  --> serde-practice/src/json.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_json::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Result` and `Value`
[INFO] [stdout]   --> serde-practice/src/main.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 | use serde_json::{Result, Value};
[INFO] [stdout]    |                  ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `User` is never constructed
[INFO] [stdout]   --> serde-practice/src/main.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct User {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]   --> serde-practice/src/main.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Config {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppConfig` is never constructed
[INFO] [stdout]   --> serde-practice/src/main.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct AppConfig {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiRequest` is never constructed
[INFO] [stdout]   --> serde-practice/src/main.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct ApiRequest {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Person` is never constructed
[INFO] [stdout]   --> serde-practice/src/main.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct Person {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Student` is never constructed
[INFO] [stdout]   --> serde-practice/src/main.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | struct Student {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Person` is never constructed
[INFO] [stdout]  --> serde-practice/src/json.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Person {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `age` are never read
[INFO] [stdout]   --> serde-practice/src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct User {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 11 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 12 |     age: u8,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `debug` and `env_vars` are never read
[INFO] [stdout]   --> serde-practice/src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Config {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 25 |     #[serde(default)]
[INFO] [stdout] 26 |     debug: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     env_vars: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Config` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `debug` and `port` are never read
[INFO] [stdout]   --> serde-practice/src/main.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct AppConfig {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 42 |     #[serde(default)]
[INFO] [stdout] 43 |     debug: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 44 |     #[serde(default)]
[INFO] [stdout] 45 |     port: u16,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> serde-practice/src/main.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct ApiRequest {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 50 |     #[serde(default)] // 👈 整体默认值
[INFO] [stdout] 51 |     config: AppConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApiRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `secret` are never read
[INFO] [stdout]   --> serde-practice/src/main.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct Person {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 64 |     #[serde(rename = "userName")]
[INFO] [stdout] 65 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     secret: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Person` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stdout] error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-1.6.0/src/proto/h2/mod.rs:427:5
[INFO] [stdout]     |
[INFO] [stdout] 427 |     impossible: Impossible,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this field contains `Impossible`, which is not inhabited, and makes it not a breaking change to become non-zero-sized in the future.
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hyper` (lib) due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "907e2b57f1080ba8296cdecef4e00f78c7ddd3b6d92528a353581ad4965c6b72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "907e2b57f1080ba8296cdecef4e00f78c7ddd3b6d92528a353581ad4965c6b72", kill_on_drop: false }`
[INFO] [stdout] 907e2b57f1080ba8296cdecef4e00f78c7ddd3b6d92528a353581ad4965c6b72
