[INFO] cloning repository https://github.com/JinXuchen2020/rust-minigrep
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JinXuchen2020/rust-minigrep" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJinXuchen2020%2Frust-minigrep", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJinXuchen2020%2Frust-minigrep'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 19d0372eba257114dfa7d94e6215cb257afc54af
[INFO] building JinXuchen2020/rust-minigrep against try#58b1b3c5342a414c161338871f8004258ccef2a7 for pr-149937
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJinXuchen2020%2Frust-minigrep" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JinXuchen2020/rust-minigrep
[INFO] finished tweaking git repo https://github.com/JinXuchen2020/rust-minigrep
[INFO] tweaked toml for git repo https://github.com/JinXuchen2020/rust-minigrep written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JinXuchen2020/rust-minigrep on toolchain 58b1b3c5342a414c161338871f8004258ccef2a7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JinXuchen2020/rust-minigrep 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" "+58b1b3c5342a414c161338871f8004258ccef2a7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] building JinXuchen2020/rust-minigrep against try#58b1b3c5342a414c161338871f8004258ccef2a7 for pr-149937
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJinXuchen2020%2Frust-minigrep" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JinXuchen2020/rust-minigrep
[INFO] finished tweaking git repo https://github.com/JinXuchen2020/rust-minigrep
[INFO] tweaked toml for git repo https://github.com/JinXuchen2020/rust-minigrep written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JinXuchen2020/rust-minigrep on toolchain 58b1b3c5342a414c161338871f8004258ccef2a7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JinXuchen2020/rust-minigrep 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" "+58b1b3c5342a414c161338871f8004258ccef2a7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3406147dfb6078d76d194eb72afe766837b1b4006e9a88db17bbb96645b354eb
[INFO] running `Command { std: "docker" "start" "-a" "3406147dfb6078d76d194eb72afe766837b1b4006e9a88db17bbb96645b354eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3406147dfb6078d76d194eb72afe766837b1b4006e9a88db17bbb96645b354eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3406147dfb6078d76d194eb72afe766837b1b4006e9a88db17bbb96645b354eb", kill_on_drop: false }`
[INFO] [stdout] 3406147dfb6078d76d194eb72afe766837b1b4006e9a88db17bbb96645b354eb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 269b547d4bb9324317314bf7a2e0fd3689673efd51f21adc377c8bbae6733dee
[INFO] running `Command { std: "docker" "start" "-a" "269b547d4bb9324317314bf7a2e0fd3689673efd51f21adc377c8bbae6733dee", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.87
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling value-bag v1.9.0
[INFO] [stderr]    Compiling futures-lite v2.3.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling piper v0.2.4
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling event-listener v5.3.1
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling kv-log-macro v1.0.7
[INFO] [stderr]    Compiling event-listener-strategy v0.5.2
[INFO] [stderr]    Compiling async-channel v2.3.1
[INFO] [stderr]    Compiling async-lock v3.4.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.79
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling async-executor v1.13.1
[INFO] [stderr]    Compiling blocking v1.6.1
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.64
[INFO] [stderr]    Compiling async-attributes v1.1.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v1.0.64
[INFO] [stderr]    Compiling polling v3.7.3
[INFO] [stderr]    Compiling async-io v2.3.4
[INFO] [stderr]    Compiling async-global-executor v2.4.1
[INFO] [stderr]    Compiling async-std v1.13.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling minigrep v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[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]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `apperror::render`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use apperror::render;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `apperror::run`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use apperror::run;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `apperror::AppError`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use apperror::AppError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_concept::async_base`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use async_concept::async_base;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `atomic::atomic_base`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use atomic::atomic_base;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `atomic::atomic_with_arc`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use atomic::atomic_with_arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `atomic::atomic_with_once`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use atomic::atomic_with_once;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel::channel_base`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use channel::channel_base;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel::channel_mul_sender`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use channel::channel_mul_sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel::channel_send_multiple_values`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use channel::channel_send_multiple_values;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel::channel_send_string`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use channel::channel_send_string;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel::channel_sync_send`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use channel::channel_sync_send;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::executor::block_on`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use futures::executor::block_on;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mutilthread::loop_in_thread`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use mutilthread::loop_in_thread;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pin_concept::pin_runner`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use pin_concept::pin_runner;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sharememory::share_memory_base`
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use sharememory::share_memory_base;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sharememory::share_memory_with_condvar`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use sharememory::share_memory_with_condvar;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sharememory::share_memory_with_deadlock`
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use sharememory::share_memory_with_deadlock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sharememory::share_memory_with_thread`
[INFO] [stdout]   --> src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use sharememory::share_memory_with_thread;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `timer_future::runner`
[INFO] [stdout]   --> src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use timer_future::runner;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `unsafe_concept::unsafe_raw_pointer`
[INFO] [stdout]   --> src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use unsafe_concept::unsafe_raw_pointer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MutexGuard`
[INFO] [stdout]  --> src/sharememory.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{Arc, Condvar, Mutex, MutexGuard}, thread::{self, sleep}, time::Duration};
[INFO] [stdout]   |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self` and `thread`
[INFO] [stdout]  --> src/async_concept.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{thread, time::{self, Duration}};
[INFO] [stdout]   |           ^^^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cacher::Cacher`
[INFO] [stdout]   --> src/main.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | use cacher::Cacher;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/async_concept.rs:99:3
[INFO] [stdout]    |
[INFO] [stdout] 99 |   mut stream: Pin<&mut dyn Stream<Item = Result<u8, std::io::Error>>>,
[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: struct `S` is never constructed
[INFO] [stdout]   --> src/point.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct S {
[INFO] [stdout]    |            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_non_empty_a` and `get_a_or_inset_new` are never used
[INFO] [stdout]   --> src/point.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl S {
[INFO] [stdout]    | ------ methods in this implementation
[INFO] [stdout] 19 |     fn get_non_empty_a(&self) -> Option<&str> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn get_a_or_inset_new(&mut self, input_s: &str) -> Option<&str> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cacher` is never constructed
[INFO] [stdout]  --> src/cacher.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Cacher<T, E>
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `value` are never used
[INFO] [stdout]   --> src/cacher.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout]  8 | / impl<T,E> Cacher<T,E>
[INFO] [stdout]  9 | |   where T: Fn(E) -> E, E: Clone
[INFO] [stdout]    | |_______________________________- associated items in this implementation
[INFO] [stdout] 10 |   {
[INFO] [stdout] 11 |     fn new(query: T) -> Cacher<T,E> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn value(&mut self, arg: E) -> E {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/list.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |   Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout]   |   ---- ^^^
[INFO] [stdout]   |   |
[INFO] [stdout]   |   field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 7 -   Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout] 7 +   Cons((), RefCell<Rc<List>>),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/gadget.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Owner {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] 8 |   name: String,
[INFO] [stdout]   |   ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Owner` 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 `id` and `owner` are never read
[INFO] [stdout]   --> src/gadget.rs:14:3
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Gadget {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 14 |   id: i32,
[INFO] [stdout]    |   ^^
[INFO] [stdout] 15 |   owner: Rc<Owner>,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Gadget` 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 `value` is never read
[INFO] [stdout]  --> src/node.rs:9:3
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Node {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 9 |   value: i32,
[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: methods `get_value` and `get_children` are never used
[INFO] [stdout]   --> src/node.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Node {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |   pub fn get_value(&self) -> i32 {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |   pub fn get_children(&self) -> Vec<Rc<Node>> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bar` is never constructed
[INFO] [stdout]   --> src/mutilthread.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Bar {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `constructor` is never used
[INFO] [stdout]   --> src/mutilthread.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Bar {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 17 |     fn constructor() -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `loop_in_thread` is never used
[INFO] [stdout]   --> src/mutilthread.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn loop_in_thread() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `channel_base` is never used
[INFO] [stdout]  --> src/channel.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn channel_base() {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `channel_send_string` is never used
[INFO] [stdout]   --> src/channel.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn channel_send_string(){
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `channel_send_multiple_values` is never used
[INFO] [stdout]   --> src/channel.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn channel_send_multiple_values() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `channel_mul_sender` is never used
[INFO] [stdout]   --> src/channel.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn channel_mul_sender(){
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `channel_sync_send` is never used
[INFO] [stdout]   --> src/channel.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn channel_sync_send(){  
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `share_memory_base` is never used
[INFO] [stdout]  --> src/sharememory.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn share_memory_base() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `share_memory_with_thread` is never used
[INFO] [stdout]   --> src/sharememory.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn share_memory_with_thread() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `share_memory_with_deadlock` is never used
[INFO] [stdout]   --> src/sharememory.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn share_memory_with_deadlock() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `share_memory_with_condvar` is never used
[INFO] [stdout]   --> src/sharememory.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn share_memory_with_condvar() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_TIMES` is never used
[INFO] [stdout]  --> src/atomic.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const N_TIMES: u64 = 10000000;
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_THREADS` is never used
[INFO] [stdout]   --> src/atomic.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const N_THREADS: usize = 10;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `R` is never used
[INFO] [stdout]   --> src/atomic.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | static R: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyBox` is never constructed
[INFO] [stdout]   --> src/atomic.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct MyBox(*const u8);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_n_times` is never used
[INFO] [stdout]   --> src/atomic.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn add_n_times(n: u64) -> JoinHandle<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `atomic_base` is never used
[INFO] [stdout]   --> src/atomic.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn atomic_base() {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `atomic_with_arc` is never used
[INFO] [stdout]   --> src/atomic.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn atomic_with_arc() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `atomic_with_once` is never used
[INFO] [stdout]   --> src/atomic.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn atomic_with_once() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Logger` is never constructed
[INFO] [stdout]   --> src/atomic.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | struct Logger;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LOGGER` is never used
[INFO] [stdout]   --> src/atomic.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | static LOGGER: OnceLock<Logger> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `global` and `log` are never used
[INFO] [stdout]    --> src/atomic.rs:95:8
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl Logger {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  95 |     fn global() -> &'static Logger {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn log(&self, message: String) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppError` is never constructed
[INFO] [stdout]  --> src/apperror.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AppError {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MyError` is never used
[INFO] [stdout]   --> src/apperror.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub enum MyError {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/apperror.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn run() -> Result<(), AppError> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render` is never used
[INFO] [stdout]   --> src/apperror.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn render() -> Result<String, MyError> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_memory_location` is never used
[INFO] [stdout]  --> src/unsafe_concept.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn get_memory_location() -> (usize, usize) {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_utf8_unchecked` is never used
[INFO] [stdout]   --> src/unsafe_concept.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const unsafe fn from_utf8_unchecked(v: &[u8]) -> &str {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_str_at_location` is never used
[INFO] [stdout]   --> src/unsafe_concept.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn get_str_at_location(pointer: usize, length: usize) -> &'static str {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unsafe_raw_pointer` is never used
[INFO] [stdout]   --> src/unsafe_concept.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn unsafe_raw_pointer() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_at_mut` is never used
[INFO] [stdout]   --> src/unsafe_concept.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extern_ffi` is never used
[INFO] [stdout]   --> src/unsafe_concept.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn extern_ffi() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `asm` is never used
[INFO] [stdout]   --> src/unsafe_concept.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn asm() {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul` is never used
[INFO] [stdout]    --> src/unsafe_concept.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn mul(a: u64, b: u64) -> u128 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clobbered` is never used
[INFO] [stdout]    --> src/unsafe_concept.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn clobbered() {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `abs` is never used
[INFO] [stdout]   --> src/unsafe_concept.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn abs(input: i32) -> i32;
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `async_base` is never used
[INFO] [stdout]  --> src/async_concept.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub async fn async_base() {
[INFO] [stdout]   |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hello_cat` is never used
[INFO] [stdout]   --> src/async_concept.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | async fn hello_cat() {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Song` is never constructed
[INFO] [stdout]   --> src/async_concept.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Song {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `learn_song` is never used
[INFO] [stdout]   --> src/async_concept.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | async fn learn_song() -> Song {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sing_song` is never used
[INFO] [stdout]   --> src/async_concept.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | async fn sing_song(song: Song) {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `learn_sing_song` is never used
[INFO] [stdout]   --> src/async_concept.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 | async fn learn_sing_song() {  
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dance` is never used
[INFO] [stdout]   --> src/async_concept.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 | async fn dance() {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blocks` is never used
[INFO] [stdout]   --> src/async_concept.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 | async fn blocks() {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_recv` is never used
[INFO] [stdout]   --> src/async_concept.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 83 | async fn send_recv() {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `jump_around` is never used
[INFO] [stdout]   --> src/async_concept.rs:98:10
[INFO] [stdout]    |
[INFO] [stdout] 98 | async fn jump_around(
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `jump_n_times` is never used
[INFO] [stdout]    --> src/async_concept.rs:112:10
[INFO] [stdout]     |
[INFO] [stdout] 112 | async fn jump_n_times(n: u8) -> Result<(), std::io::Error> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `report_n_jumps` is never used
[INFO] [stdout]    --> src/async_concept.rs:120:10
[INFO] [stdout]     |
[INFO] [stdout] 120 | async fn report_n_jumps(n: u8) -> Result<(), std::io::Error> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimerFuture` is never constructed
[INFO] [stdout]  --> src/timer_future.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TimerFuture {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SharedState` is never constructed
[INFO] [stdout]   --> src/timer_future.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct SharedState {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/timer_future.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl TimerFuture {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 38 |   /// 创建一个新的`TimerFuture`，在指定的时间结束后，该`Future`可以完成
[INFO] [stdout] 39 |   pub fn new(duration: Duration) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Executor` is never constructed
[INFO] [stdout]   --> src/timer_future.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct Executor {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Spawner` is never constructed
[INFO] [stdout]   --> src/timer_future.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct Spawner {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Task` is never constructed
[INFO] [stdout]   --> src/timer_future.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct Task {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_executor_and_spawner` is never used
[INFO] [stdout]   --> src/timer_future.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn new_executor_and_spawner() -> (Executor, Spawner) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `spawn` is never used
[INFO] [stdout]   --> src/timer_future.rs:97:6
[INFO] [stdout]    |
[INFO] [stdout] 96 | impl Spawner {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 97 |   fn spawn(&self, future: impl Future<Output = ()> + 'static + Send) {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]    --> src/timer_future.rs:119:6
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl Executor {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 119 |   fn run(&self) {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `runner` is never used
[INFO] [stdout]    --> src/timer_future.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn runner () {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Test` is never constructed
[INFO] [stdout]  --> src/pin_concept.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Test {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `init`, `new`, `a`, and `b` are never used
[INFO] [stdout]   --> src/pin_concept.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Test {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |   fn init(self: Pin<&mut Self>) {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |   fn new(txt: &str) -> Pin<Box<Self>> {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |   fn a(self: Pin<&Self>) -> &str {
[INFO] [stdout]    |      ^
[INFO] [stdout] ...
[INFO] [stdout] 47 |   fn b(self: Pin<&Self>) -> &String {
[INFO] [stdout]    |      ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pin_runner` is never used
[INFO] [stdout]   --> src/pin_concept.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn pin_runner(){
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pin_drop` is never used
[INFO] [stdout]   --> src/pin_concept.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn pin_drop() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pin_box` is never used
[INFO] [stdout]   --> src/pin_concept.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn pin_box() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_connection` is never used
[INFO] [stdout]  --> src/web_server.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | async fn handle_connection(mut stream: TcpStream) {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `runner` is never used
[INFO] [stdout]   --> src/web_server.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub async fn runner() {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.60s
[INFO] running `Command { std: "docker" "inspect" "269b547d4bb9324317314bf7a2e0fd3689673efd51f21adc377c8bbae6733dee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "269b547d4bb9324317314bf7a2e0fd3689673efd51f21adc377c8bbae6733dee", kill_on_drop: false }`
[INFO] [stdout] 269b547d4bb9324317314bf7a2e0fd3689673efd51f21adc377c8bbae6733dee
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c2966752d1ba8c1317b186f30bdf7922990f7484b9c46edbdce1fa23c70e9c0c
[INFO] running `Command { std: "docker" "start" "-a" "c2966752d1ba8c1317b186f30bdf7922990f7484b9c46edbdce1fa23c70e9c0c", kill_on_drop: false }`
[INFO] [stderr]    Compiling minigrep v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[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]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `apperror::render`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use apperror::render;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `apperror::run`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use apperror::run;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `apperror::AppError`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use apperror::AppError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_concept::async_base`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use async_concept::async_base;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `atomic::atomic_base`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use atomic::atomic_base;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `atomic::atomic_with_arc`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use atomic::atomic_with_arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `atomic::atomic_with_once`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use atomic::atomic_with_once;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel::channel_base`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use channel::channel_base;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel::channel_mul_sender`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use channel::channel_mul_sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel::channel_send_multiple_values`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use channel::channel_send_multiple_values;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel::channel_send_string`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use channel::channel_send_string;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel::channel_sync_send`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use channel::channel_sync_send;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::executor::block_on`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use futures::executor::block_on;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mutilthread::loop_in_thread`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use mutilthread::loop_in_thread;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pin_concept::pin_runner`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use pin_concept::pin_runner;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sharememory::share_memory_base`
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use sharememory::share_memory_base;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sharememory::share_memory_with_condvar`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use sharememory::share_memory_with_condvar;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sharememory::share_memory_with_deadlock`
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use sharememory::share_memory_with_deadlock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sharememory::share_memory_with_thread`
[INFO] [stdout]   --> src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use sharememory::share_memory_with_thread;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `timer_future::runner`
[INFO] [stdout]   --> src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use timer_future::runner;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `unsafe_concept::unsafe_raw_pointer`
[INFO] [stdout]   --> src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use unsafe_concept::unsafe_raw_pointer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MutexGuard`
[INFO] [stdout]  --> src/sharememory.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{Arc, Condvar, Mutex, MutexGuard}, thread::{self, sleep}, time::Duration};
[INFO] [stdout]   |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self` and `thread`
[INFO] [stdout]  --> src/async_concept.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{thread, time::{self, Duration}};
[INFO] [stdout]   |           ^^^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cacher::Cacher`
[INFO] [stdout]   --> src/main.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | use cacher::Cacher;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/async_concept.rs:99:3
[INFO] [stdout]    |
[INFO] [stdout] 99 |   mut stream: Pin<&mut dyn Stream<Item = Result<u8, std::io::Error>>>,
[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: struct `S` is never constructed
[INFO] [stdout]   --> src/point.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct S {
[INFO] [stdout]    |            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_non_empty_a` and `get_a_or_inset_new` are never used
[INFO] [stdout]   --> src/point.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl S {
[INFO] [stdout]    | ------ methods in this implementation
[INFO] [stdout] 19 |     fn get_non_empty_a(&self) -> Option<&str> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn get_a_or_inset_new(&mut self, input_s: &str) -> Option<&str> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/list.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |   Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout]   |   ---- ^^^
[INFO] [stdout]   |   |
[INFO] [stdout]   |   field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 7 -   Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout] 7 +   Cons((), RefCell<Rc<List>>),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/gadget.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Owner {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] 8 |   name: String,
[INFO] [stdout]   |   ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Owner` 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 `id` and `owner` are never read
[INFO] [stdout]   --> src/gadget.rs:14:3
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Gadget {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 14 |   id: i32,
[INFO] [stdout]    |   ^^
[INFO] [stdout] 15 |   owner: Rc<Owner>,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Gadget` 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 `value` is never read
[INFO] [stdout]  --> src/node.rs:9:3
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Node {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 9 |   value: i32,
[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: methods `get_value` and `get_children` are never used
[INFO] [stdout]   --> src/node.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Node {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |   pub fn get_value(&self) -> i32 {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |   pub fn get_children(&self) -> Vec<Rc<Node>> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bar` is never constructed
[INFO] [stdout]   --> src/mutilthread.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Bar {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `constructor` is never used
[INFO] [stdout]   --> src/mutilthread.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Bar {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 17 |     fn constructor() -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `loop_in_thread` is never used
[INFO] [stdout]   --> src/mutilthread.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn loop_in_thread() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `channel_base` is never used
[INFO] [stdout]  --> src/channel.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn channel_base() {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `channel_send_string` is never used
[INFO] [stdout]   --> src/channel.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn channel_send_string(){
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `channel_send_multiple_values` is never used
[INFO] [stdout]   --> src/channel.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn channel_send_multiple_values() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `channel_mul_sender` is never used
[INFO] [stdout]   --> src/channel.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn channel_mul_sender(){
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `channel_sync_send` is never used
[INFO] [stdout]   --> src/channel.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn channel_sync_send(){  
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `share_memory_base` is never used
[INFO] [stdout]  --> src/sharememory.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn share_memory_base() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `share_memory_with_thread` is never used
[INFO] [stdout]   --> src/sharememory.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn share_memory_with_thread() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `share_memory_with_deadlock` is never used
[INFO] [stdout]   --> src/sharememory.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn share_memory_with_deadlock() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `share_memory_with_condvar` is never used
[INFO] [stdout]   --> src/sharememory.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn share_memory_with_condvar() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_TIMES` is never used
[INFO] [stdout]  --> src/atomic.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const N_TIMES: u64 = 10000000;
[INFO] [stdout]   |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_THREADS` is never used
[INFO] [stdout]   --> src/atomic.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const N_THREADS: usize = 10;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `R` is never used
[INFO] [stdout]   --> src/atomic.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | static R: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyBox` is never constructed
[INFO] [stdout]   --> src/atomic.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct MyBox(*const u8);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_n_times` is never used
[INFO] [stdout]   --> src/atomic.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn add_n_times(n: u64) -> JoinHandle<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `atomic_base` is never used
[INFO] [stdout]   --> src/atomic.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn atomic_base() {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `atomic_with_arc` is never used
[INFO] [stdout]   --> src/atomic.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn atomic_with_arc() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `atomic_with_once` is never used
[INFO] [stdout]   --> src/atomic.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn atomic_with_once() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Logger` is never constructed
[INFO] [stdout]   --> src/atomic.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | struct Logger;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LOGGER` is never used
[INFO] [stdout]   --> src/atomic.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | static LOGGER: OnceLock<Logger> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `global` and `log` are never used
[INFO] [stdout]    --> src/atomic.rs:95:8
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl Logger {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  95 |     fn global() -> &'static Logger {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn log(&self, message: String) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppError` is never constructed
[INFO] [stdout]  --> src/apperror.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AppError {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MyError` is never used
[INFO] [stdout]   --> src/apperror.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub enum MyError {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/apperror.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn run() -> Result<(), AppError> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render` is never used
[INFO] [stdout]   --> src/apperror.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn render() -> Result<String, MyError> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_memory_location` is never used
[INFO] [stdout]  --> src/unsafe_concept.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn get_memory_location() -> (usize, usize) {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_utf8_unchecked` is never used
[INFO] [stdout]   --> src/unsafe_concept.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const unsafe fn from_utf8_unchecked(v: &[u8]) -> &str {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_str_at_location` is never used
[INFO] [stdout]   --> src/unsafe_concept.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn get_str_at_location(pointer: usize, length: usize) -> &'static str {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unsafe_raw_pointer` is never used
[INFO] [stdout]   --> src/unsafe_concept.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn unsafe_raw_pointer() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_at_mut` is never used
[INFO] [stdout]   --> src/unsafe_concept.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extern_ffi` is never used
[INFO] [stdout]   --> src/unsafe_concept.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn extern_ffi() {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `asm` is never used
[INFO] [stdout]   --> src/unsafe_concept.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn asm() {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul` is never used
[INFO] [stdout]    --> src/unsafe_concept.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn mul(a: u64, b: u64) -> u128 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clobbered` is never used
[INFO] [stdout]    --> src/unsafe_concept.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn clobbered() {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `abs` is never used
[INFO] [stdout]   --> src/unsafe_concept.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn abs(input: i32) -> i32;
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `async_base` is never used
[INFO] [stdout]  --> src/async_concept.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub async fn async_base() {
[INFO] [stdout]   |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hello_cat` is never used
[INFO] [stdout]   --> src/async_concept.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | async fn hello_cat() {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Song` is never constructed
[INFO] [stdout]   --> src/async_concept.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Song {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `learn_song` is never used
[INFO] [stdout]   --> src/async_concept.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | async fn learn_song() -> Song {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sing_song` is never used
[INFO] [stdout]   --> src/async_concept.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | async fn sing_song(song: Song) {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `learn_sing_song` is never used
[INFO] [stdout]   --> src/async_concept.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 | async fn learn_sing_song() {  
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dance` is never used
[INFO] [stdout]   --> src/async_concept.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 | async fn dance() {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blocks` is never used
[INFO] [stdout]   --> src/async_concept.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 | async fn blocks() {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_recv` is never used
[INFO] [stdout]   --> src/async_concept.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 83 | async fn send_recv() {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `jump_around` is never used
[INFO] [stdout]   --> src/async_concept.rs:98:10
[INFO] [stdout]    |
[INFO] [stdout] 98 | async fn jump_around(
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `jump_n_times` is never used
[INFO] [stdout]    --> src/async_concept.rs:112:10
[INFO] [stdout]     |
[INFO] [stdout] 112 | async fn jump_n_times(n: u8) -> Result<(), std::io::Error> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `report_n_jumps` is never used
[INFO] [stdout]    --> src/async_concept.rs:120:10
[INFO] [stdout]     |
[INFO] [stdout] 120 | async fn report_n_jumps(n: u8) -> Result<(), std::io::Error> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimerFuture` is never constructed
[INFO] [stdout]  --> src/timer_future.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TimerFuture {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SharedState` is never constructed
[INFO] [stdout]   --> src/timer_future.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct SharedState {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/timer_future.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl TimerFuture {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 38 |   /// 创建一个新的`TimerFuture`，在指定的时间结束后，该`Future`可以完成
[INFO] [stdout] 39 |   pub fn new(duration: Duration) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Executor` is never constructed
[INFO] [stdout]   --> src/timer_future.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct Executor {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Spawner` is never constructed
[INFO] [stdout]   --> src/timer_future.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct Spawner {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Task` is never constructed
[INFO] [stdout]   --> src/timer_future.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct Task {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_executor_and_spawner` is never used
[INFO] [stdout]   --> src/timer_future.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn new_executor_and_spawner() -> (Executor, Spawner) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `spawn` is never used
[INFO] [stdout]   --> src/timer_future.rs:97:6
[INFO] [stdout]    |
[INFO] [stdout] 96 | impl Spawner {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 97 |   fn spawn(&self, future: impl Future<Output = ()> + 'static + Send) {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]    --> src/timer_future.rs:119:6
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl Executor {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 119 |   fn run(&self) {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `runner` is never used
[INFO] [stdout]    --> src/timer_future.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn runner () {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Test` is never constructed
[INFO] [stdout]  --> src/pin_concept.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Test {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `init`, `new`, `a`, and `b` are never used
[INFO] [stdout]   --> src/pin_concept.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Test {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |   fn init(self: Pin<&mut Self>) {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |   fn new(txt: &str) -> Pin<Box<Self>> {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |   fn a(self: Pin<&Self>) -> &str {
[INFO] [stdout]    |      ^
[INFO] [stdout] ...
[INFO] [stdout] 47 |   fn b(self: Pin<&Self>) -> &String {
[INFO] [stdout]    |      ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pin_runner` is never used
[INFO] [stdout]   --> src/pin_concept.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn pin_runner(){
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pin_drop` is never used
[INFO] [stdout]   --> src/pin_concept.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn pin_drop() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pin_box` is never used
[INFO] [stdout]   --> src/pin_concept.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn pin_box() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_connection` is never used
[INFO] [stdout]  --> src/web_server.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | async fn handle_connection(mut stream: TcpStream) {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `runner` is never used
[INFO] [stdout]   --> src/web_server.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub async fn runner() {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.74s
[INFO] running `Command { std: "docker" "inspect" "c2966752d1ba8c1317b186f30bdf7922990f7484b9c46edbdce1fa23c70e9c0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c2966752d1ba8c1317b186f30bdf7922990f7484b9c46edbdce1fa23c70e9c0c", kill_on_drop: false }`
[INFO] [stdout] c2966752d1ba8c1317b186f30bdf7922990f7484b9c46edbdce1fa23c70e9c0c
