[INFO] cloning repository https://github.com/shuakami/FuckRun
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shuakami/FuckRun" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshuakami%2FFuckRun", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshuakami%2FFuckRun'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1901e837eeea5c7ac5192d348d21e00aceb5b843
[INFO] testing shuakami/FuckRun against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshuakami%2FFuckRun" "/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/shuakami/FuckRun
[INFO] finished tweaking git repo https://github.com/shuakami/FuckRun
[INFO] tweaked toml for git repo https://github.com/shuakami/FuckRun written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shuakami/FuckRun on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/shuakami/FuckRun 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0b71ba075f591980660910a60dc08c2fa11ca30d7d24ae15bae148b656d84835
[INFO] running `Command { std: "docker" "start" "-a" "0b71ba075f591980660910a60dc08c2fa11ca30d7d24ae15bae148b656d84835", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0b71ba075f591980660910a60dc08c2fa11ca30d7d24ae15bae148b656d84835", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b71ba075f591980660910a60dc08c2fa11ca30d7d24ae15bae148b656d84835", kill_on_drop: false }`
[INFO] [stdout] 0b71ba075f591980660910a60dc08c2fa11ca30d7d24ae15bae148b656d84835
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4bd06a11d3b91e2d42af70b7a366aed78582717b6b783c656edb7b951d2f2301
[INFO] running `Command { std: "docker" "start" "-a" "4bd06a11d3b91e2d42af70b7a366aed78582717b6b783c656edb7b951d2f2301", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling cc v1.2.7
[INFO] [stderr]    Compiling litemap v0.7.4
[INFO] [stderr]    Compiling bytes v1.9.0
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling bitflags v2.7.0
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling icu_properties_data v1.5.0
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling utf16_iter v1.0.5
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.0
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling write16 v1.0.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling serde_json v1.0.135
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rustix v0.38.43
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling anyhow v1.0.95
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling destructure_traitobject v0.2.0
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling unsafe-any-ors v1.0.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.2
[INFO] [stderr]    Compiling csv-core v0.1.11
[INFO] [stderr]    Compiling ordered-float v2.10.1
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling iana-time-zone v0.1.61
[INFO] [stderr]    Compiling clap_builder v4.5.26
[INFO] [stderr]    Compiling indexmap v2.7.0
[INFO] [stderr]    Compiling chrono v0.4.39
[INFO] [stderr]    Compiling typemap-ors v1.0.0
[INFO] [stderr]    Compiling flate2 v1.0.35
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling encode_unicode v1.0.0
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling log-mdc v0.1.0
[INFO] [stderr]    Compiling ipnet v2.10.1
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling socket2 v0.5.8
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling is-terminal v0.4.13
[INFO] [stderr]    Compiling thread-id v4.2.2
[INFO] [stderr]    Compiling nix v0.27.1
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling tempfile v3.15.0
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.24
[INFO] [stderr]    Compiling async-trait v0.1.85
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerofrom v0.1.5
[INFO] [stderr]    Compiling tokio v1.43.0
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling clap v4.5.26
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling tokio-util v0.7.13
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde-value v0.7.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling env_logger v0.10.2
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling prettytable-rs v0.10.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling log4rs v1.3.0
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling fuckrun v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Child`
[INFO] [stdout]  --> src/process/manager.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::process::{Child, Command};
[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: `Signal`
[INFO] [stdout]    --> src/process/manager.rs:366:42
[INFO] [stdout]     |
[INFO] [stdout] 366 |             use nix::sys::signal::{kill, Signal};
[INFO] [stdout]     |                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Signal`
[INFO] [stdout]    --> src/process/manager.rs:416:54
[INFO] [stdout]     |
[INFO] [stdout] 416 |                         use nix::sys::signal::{kill, Signal};
[INFO] [stdout]     |                                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/process/daemon.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{Result, Context};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ForkResult`, `fork`, `setsid`, and `sys::stat::Mode`
[INFO] [stdout]   --> src/process/daemon.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |     unistd::{fork, ForkResult, setsid},
[INFO] [stdout]    |              ^^^^  ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 16 |     sys::stat::Mode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/commands/logs.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::{info, error};
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Signal`
[INFO] [stdout]    --> src/commands/list.rs:350:34
[INFO] [stdout]     |
[INFO] [stdout] 350 |     use nix::sys::signal::{kill, Signal};
[INFO] [stdout]     |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `monitor::handle_monitor`
[INFO] [stdout]   --> src/commands/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use monitor::handle_monitor;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `list::handle_list`
[INFO] [stdout]   --> src/commands/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use list::handle_list; 
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/workspace.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info, warn};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::StateConfig`
[INFO] [stdout]  --> src/state.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::types::StateConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/logger.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/logger.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{LevelFilter, info, error};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/fs.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/fs.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `warn`
[INFO] [stdout]   --> src/main.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, warn, error};
[INFO] [stdout]    |                 ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::commands::start::handle_start`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::commands::start::handle_start;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::commands::stop::handle_stop`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::commands::stop::handle_stop;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::commands::status::handle_status`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::commands::status::handle_status;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::commands::logs::handle_logs`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::commands::logs::handle_logs;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/process/daemon.rs:263:37
[INFO] [stdout]     |
[INFO] [stdout] 263 | ...                   let mut child = cmd.spawn()?;
[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: `config`
[INFO] [stdout]   --> src/process/daemon.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let config = self.config.clone();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `save_process_state`, and `update_stopped_state` are never used
[INFO] [stdout]    --> src/process/manager.rs:27:12
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl<'a> ProcessManager<'a> {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout]  27 |     pub fn new(workspace: &'a Workspace, process_name: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub async fn save_process_state(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 454 |     pub async fn update_stopped_state(&self) -> Result<()> {
[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 `format_uptime` is never used
[INFO] [stdout]    --> src/commands/list.rs:387:4
[INFO] [stdout]     |
[INFO] [stdout] 387 | fn format_uptime(seconds: u64) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save_to_file` and `get_config_path` are never used
[INFO] [stdout]    --> src/config.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn save_to_file<P: AsRef<Path>>(&self, path: P) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn get_config_path(&self, process_name: Option<&str>, workspace: &crate::workspace::Workspace) -> Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `validate` is never used
[INFO] [stdout]    --> src/workspace.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Workspace {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn validate(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `clear`, `increment_restart_count`, and `reset_restart_count` are never used
[INFO] [stdout]   --> src/state.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl ProcessState {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 36 |     pub fn new(program: String, args: Vec<String>, working_dir: PathBuf, port: u16) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn clear(&self, workspace: &Workspace, process_name: &str) -> Result<()> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn increment_restart_count(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn reset_restart_count(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_process_logs` is never used
[INFO] [stdout]   --> src/logger.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Logger {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn create_process_logs(&self, process_name: &str) -> Result<(PathBuf, PathBuf)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FsManager` is never constructed
[INFO] [stdout]   --> src/fs.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct FsManager {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProcessInfo` is never constructed
[INFO] [stdout]   --> src/fs.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct ProcessInfo {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fs.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl FsManager {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  47 |     pub fn new(config: FsConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub async fn force_remove_file<P: AsRef<Path>>(&self, path: P) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn force_remove_dir_all<P: AsRef<Path>>(&self, path: P) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     async fn kill_file_processes(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     async fn find_locking_processes(&self, path: &Path) -> Result<Vec<ProcessInfo>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     async fn kill_process(&self, pid: u32) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     async fn cleanup_git_locks(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     fn remove_git_locks_inner<'a>(&'a self, dir: &'a Path) -> Pin<Box<dyn Future<Output = Result<()>> + 'a>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     async fn kill_directory_processes(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     async fn try_remove_file(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     async fn try_remove_dir_all(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     fn remove_readonly(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ProcessPriority` is never used
[INFO] [stdout]  --> src/types.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum ProcessPriority {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppConfig` is never constructed
[INFO] [stdout]    --> src/types.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct AppConfig {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_config_paths` is never used
[INFO] [stdout]    --> src/types.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn default_config_paths() -> Vec<String> { vec!["config.yaml".to_string(), "config.json".to_string()] }
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `validate` is never used
[INFO] [stdout]    --> src/types.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl ProcessConfig {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn validate(&self) -> anyhow::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `retry_delay`, `exit_wait`, and `validate` are never used
[INFO] [stdout]    --> src/types.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 223 | impl FsConfig {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 224 |     pub fn retry_delay(&self) -> Duration {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn exit_wait(&self) -> Duration {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn validate(&self) -> anyhow::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `value`, `is_system`, `is_application`, and `is_temporary` are never used
[INFO] [stdout]    --> src/types.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 247 | impl ProcessPriority {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 248 |     /// 获取优先级的数值
[INFO] [stdout] 249 |     pub fn value(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn is_system(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn is_application(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn is_temporary(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `state_file_path` and `validate` are never used
[INFO] [stdout]    --> src/types.rs:271:12
[INFO] [stdout]     |
[INFO] [stdout] 269 | impl StateConfig {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 270 |     /// 获取状态文件的完整路径
[INFO] [stdout] 271 |     pub fn state_file_path(&self) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn validate(&self) -> anyhow::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 47.50s
[INFO] running `Command { std: "docker" "inspect" "4bd06a11d3b91e2d42af70b7a366aed78582717b6b783c656edb7b951d2f2301", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4bd06a11d3b91e2d42af70b7a366aed78582717b6b783c656edb7b951d2f2301", kill_on_drop: false }`
[INFO] [stdout] 4bd06a11d3b91e2d42af70b7a366aed78582717b6b783c656edb7b951d2f2301
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d7d3ba471513b0a5086bb28c05b84dd183dbbd723c7d8b95b0f1e496c6b45db3
[INFO] running `Command { std: "docker" "start" "-a" "d7d3ba471513b0a5086bb28c05b84dd183dbbd723c7d8b95b0f1e496c6b45db3", kill_on_drop: false }`
[INFO] [stderr]    Compiling fuckrun v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Child`
[INFO] [stdout]  --> src/process/manager.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::process::{Child, Command};
[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: `Signal`
[INFO] [stdout]    --> src/process/manager.rs:366:42
[INFO] [stdout]     |
[INFO] [stdout] 366 |             use nix::sys::signal::{kill, Signal};
[INFO] [stdout]     |                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Signal`
[INFO] [stdout]    --> src/process/manager.rs:416:54
[INFO] [stdout]     |
[INFO] [stdout] 416 |                         use nix::sys::signal::{kill, Signal};
[INFO] [stdout]     |                                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/process/daemon.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{Result, Context};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ForkResult`, `fork`, `setsid`, and `sys::stat::Mode`
[INFO] [stdout]   --> src/process/daemon.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |     unistd::{fork, ForkResult, setsid},
[INFO] [stdout]    |              ^^^^  ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 16 |     sys::stat::Mode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/commands/logs.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::{info, error};
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Signal`
[INFO] [stdout]    --> src/commands/list.rs:350:34
[INFO] [stdout]     |
[INFO] [stdout] 350 |     use nix::sys::signal::{kill, Signal};
[INFO] [stdout]     |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `monitor::handle_monitor`
[INFO] [stdout]   --> src/commands/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use monitor::handle_monitor;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `list::handle_list`
[INFO] [stdout]   --> src/commands/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use list::handle_list; 
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/workspace.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info, warn};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::StateConfig`
[INFO] [stdout]  --> src/state.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::types::StateConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/logger.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/logger.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{LevelFilter, info, error};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/fs.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/fs.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `warn`
[INFO] [stdout]   --> src/main.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, warn, error};
[INFO] [stdout]    |                 ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::commands::start::handle_start`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::commands::start::handle_start;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::commands::stop::handle_stop`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::commands::stop::handle_stop;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::commands::status::handle_status`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::commands::status::handle_status;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::commands::logs::handle_logs`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::commands::logs::handle_logs;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/process/daemon.rs:263:37
[INFO] [stdout]     |
[INFO] [stdout] 263 | ...                   let mut child = cmd.spawn()?;
[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: `config`
[INFO] [stdout]   --> src/process/daemon.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let config = self.config.clone();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `save_process_state`, and `update_stopped_state` are never used
[INFO] [stdout]    --> src/process/manager.rs:27:12
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl<'a> ProcessManager<'a> {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout]  27 |     pub fn new(workspace: &'a Workspace, process_name: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub async fn save_process_state(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 454 |     pub async fn update_stopped_state(&self) -> Result<()> {
[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 `format_uptime` is never used
[INFO] [stdout]    --> src/commands/list.rs:387:4
[INFO] [stdout]     |
[INFO] [stdout] 387 | fn format_uptime(seconds: u64) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_config_path` is never used
[INFO] [stdout]    --> src/config.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl Config {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn get_config_path(&self, process_name: Option<&str>, workspace: &crate::workspace::Workspace) -> Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `validate` is never used
[INFO] [stdout]    --> src/workspace.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Workspace {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn validate(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `clear`, `increment_restart_count`, and `reset_restart_count` are never used
[INFO] [stdout]   --> src/state.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl ProcessState {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 36 |     pub fn new(program: String, args: Vec<String>, working_dir: PathBuf, port: u16) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn clear(&self, workspace: &Workspace, process_name: &str) -> Result<()> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn increment_restart_count(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn reset_restart_count(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_process_logs` is never used
[INFO] [stdout]   --> src/logger.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Logger {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn create_process_logs(&self, process_name: &str) -> Result<(PathBuf, PathBuf)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FsManager` is never constructed
[INFO] [stdout]   --> src/fs.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct FsManager {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProcessInfo` is never constructed
[INFO] [stdout]   --> src/fs.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct ProcessInfo {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/fs.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl FsManager {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  47 |     pub fn new(config: FsConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub async fn force_remove_file<P: AsRef<Path>>(&self, path: P) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn force_remove_dir_all<P: AsRef<Path>>(&self, path: P) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     async fn kill_file_processes(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     async fn find_locking_processes(&self, path: &Path) -> Result<Vec<ProcessInfo>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     async fn kill_process(&self, pid: u32) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     async fn cleanup_git_locks(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     fn remove_git_locks_inner<'a>(&'a self, dir: &'a Path) -> Pin<Box<dyn Future<Output = Result<()>> + 'a>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     async fn kill_directory_processes(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     async fn try_remove_file(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     async fn try_remove_dir_all(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     fn remove_readonly(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppConfig` is never constructed
[INFO] [stdout]    --> src/types.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct AppConfig {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_config_paths` is never used
[INFO] [stdout]    --> src/types.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn default_config_paths() -> Vec<String> { vec!["config.yaml".to_string(), "config.json".to_string()] }
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `retry_delay` and `exit_wait` are never used
[INFO] [stdout]    --> src/types.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 223 | impl FsConfig {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 224 |     pub fn retry_delay(&self) -> Duration {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn exit_wait(&self) -> Duration {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.75s
[INFO] running `Command { std: "docker" "inspect" "d7d3ba471513b0a5086bb28c05b84dd183dbbd723c7d8b95b0f1e496c6b45db3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d7d3ba471513b0a5086bb28c05b84dd183dbbd723c7d8b95b0f1e496c6b45db3", kill_on_drop: false }`
[INFO] [stdout] d7d3ba471513b0a5086bb28c05b84dd183dbbd723c7d8b95b0f1e496c6b45db3
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7c92115bcb8459676f7d4c13f9f5f364c36cfb0fe46530ab12e3428a7ceced21
[INFO] running `Command { std: "docker" "start" "-a" "7c92115bcb8459676f7d4c13f9f5f364c36cfb0fe46530ab12e3428a7ceced21", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Child`
[INFO] [stderr]  --> src/process/manager.rs:7:22
[INFO] [stderr]   |
[INFO] [stderr] 7 | use tokio::process::{Child, Command};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Signal`
[INFO] [stderr]    --> src/process/manager.rs:366:42
[INFO] [stderr]     |
[INFO] [stderr] 366 |             use nix::sys::signal::{kill, Signal};
[INFO] [stderr]     |                                          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Signal`
[INFO] [stderr]    --> src/process/manager.rs:416:54
[INFO] [stderr]     |
[INFO] [stderr] 416 |                         use nix::sys::signal::{kill, Signal};
[INFO] [stderr]     |                                                      ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]  --> src/process/daemon.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use anyhow::{Result, Context};
[INFO] [stderr]   |                      ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ForkResult`, `fork`, `setsid`, and `sys::stat::Mode`
[INFO] [stderr]   --> src/process/daemon.rs:15:14
[INFO] [stderr]    |
[INFO] [stderr] 15 |     unistd::{fork, ForkResult, setsid},
[INFO] [stderr]    |              ^^^^  ^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 16 |     sys::stat::Mode,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `info`
[INFO] [stderr]  --> src/commands/logs.rs:2:11
[INFO] [stderr]   |
[INFO] [stderr] 2 | use log::{info, error};
[INFO] [stderr]   |           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Signal`
[INFO] [stderr]    --> src/commands/list.rs:350:34
[INFO] [stderr]     |
[INFO] [stderr] 350 |     use nix::sys::signal::{kill, Signal};
[INFO] [stderr]     |                                  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `monitor::handle_monitor`
[INFO] [stderr]   --> src/commands/mod.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub use monitor::handle_monitor;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `list::handle_list`
[INFO] [stderr]   --> src/commands/mod.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub use list::handle_list; 
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]  --> src/workspace.rs:3:17
[INFO] [stderr]   |
[INFO] [stderr] 3 | use log::{info, warn};
[INFO] [stderr]   |                 ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::types::StateConfig`
[INFO] [stderr]  --> src/state.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::types::StateConfig;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Path`
[INFO] [stderr]  --> src/logger.rs:1:17
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::path::{Path, PathBuf};
[INFO] [stderr]   |                 ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]  --> src/logger.rs:4:30
[INFO] [stderr]   |
[INFO] [stderr] 4 | use log::{LevelFilter, info, error};
[INFO] [stderr]   |                              ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PathBuf`
[INFO] [stderr]  --> src/fs.rs:1:23
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::path::{Path, PathBuf};
[INFO] [stderr]   |                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> src/fs.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `error` and `warn`
[INFO] [stderr]   --> src/main.rs:12:17
[INFO] [stderr]    |
[INFO] [stderr] 12 | use log::{info, warn, error};
[INFO] [stderr]    |                 ^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::commands::start::handle_start`
[INFO] [stderr]   --> src/main.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use crate::commands::start::handle_start;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::commands::stop::handle_stop`
[INFO] [stderr]   --> src/main.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use crate::commands::stop::handle_stop;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::commands::status::handle_status`
[INFO] [stderr]   --> src/main.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use crate::commands::status::handle_status;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::commands::logs::handle_logs`
[INFO] [stderr]   --> src/main.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | use crate::commands::logs::handle_logs;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/process/daemon.rs:263:37
[INFO] [stderr]     |
[INFO] [stderr] 263 | ...                   let mut child = cmd.spawn()?;
[INFO] [stderr]     |                           ----^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `config`
[INFO] [stderr]   --> src/process/daemon.rs:59:13
[INFO] [stderr]    |
[INFO] [stderr] 59 |         let config = self.config.clone();
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `save_process_state`, and `update_stopped_state` are never used
[INFO] [stderr]    --> src/process/manager.rs:27:12
[INFO] [stderr]     |
[INFO] [stderr]  26 | impl<'a> ProcessManager<'a> {
[INFO] [stderr]     | --------------------------- associated items in this implementation
[INFO] [stderr]  27 |     pub fn new(workspace: &'a Workspace, process_name: String) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  62 |     pub async fn save_process_state(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 454 |     pub async fn update_stopped_state(&self) -> Result<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_uptime` is never used
[INFO] [stderr]    --> src/commands/list.rs:387:4
[INFO] [stderr]     |
[INFO] [stderr] 387 | fn format_uptime(seconds: u64) -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_config_path` is never used
[INFO] [stderr]    --> src/config.rs:198:12
[INFO] [stderr]     |
[INFO] [stderr]  90 | impl Config {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 198 |     pub fn get_config_path(&self, process_name: Option<&str>, workspace: &crate::workspace::Workspace) -> Result<PathBuf> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `validate` is never used
[INFO] [stderr]    --> src/workspace.rs:101:12
[INFO] [stderr]     |
[INFO] [stderr]  17 | impl Workspace {
[INFO] [stderr]     | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 101 |     pub fn validate(&self) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `clear`, `increment_restart_count`, and `reset_restart_count` are never used
[INFO] [stderr]   --> src/state.rs:36:12
[INFO] [stderr]    |
[INFO] [stderr] 35 | impl ProcessState {
[INFO] [stderr]    | ----------------- associated items in this implementation
[INFO] [stderr] 36 |     pub fn new(program: String, args: Vec<String>, working_dir: PathBuf, port: u16) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub fn clear(&self, workspace: &Workspace, process_name: &str) -> Result<()> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 87 |     pub fn increment_restart_count(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 92 |     pub fn reset_restart_count(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `create_process_logs` is never used
[INFO] [stderr]   --> src/logger.rs:99:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl Logger {
[INFO] [stderr]    | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 99 |     pub fn create_process_logs(&self, process_name: &str) -> Result<(PathBuf, PathBuf)> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FsManager` is never constructed
[INFO] [stderr]   --> src/fs.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct FsManager {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProcessInfo` is never constructed
[INFO] [stderr]   --> src/fs.rs:18:8
[INFO] [stderr]    |
[INFO] [stderr] 18 | struct ProcessInfo {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/fs.rs:47:12
[INFO] [stderr]     |
[INFO] [stderr]  46 | impl FsManager {
[INFO] [stderr]     | -------------- associated items in this implementation
[INFO] [stderr]  47 |     pub fn new(config: FsConfig) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  52 |     pub async fn force_remove_file<P: AsRef<Path>>(&self, path: P) -> Result<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  81 |     pub async fn force_remove_dir_all<P: AsRef<Path>>(&self, path: P) -> Result<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 110 |     async fn kill_file_processes(&self, path: &Path) -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 127 |     async fn find_locking_processes(&self, path: &Path) -> Result<Vec<ProcessInfo>> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 244 |     async fn kill_process(&self, pid: u32) -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 265 |     async fn cleanup_git_locks(&self, path: &Path) -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 293 |     fn remove_git_locks_inner<'a>(&'a self, dir: &'a Path) -> Pin<Box<dyn Future<Output = Result<()>> + 'a>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 313 |     async fn kill_directory_processes(&self, path: &Path) -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 325 |     async fn try_remove_file(&self, path: &Path) -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 353 |     async fn try_remove_dir_all(&self, path: &Path) -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 388 |     fn remove_readonly(&self, path: &Path) -> Result<()> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AppConfig` is never constructed
[INFO] [stderr]    --> src/types.rs:103:12
[INFO] [stderr]     |
[INFO] [stderr] 103 | pub struct AppConfig {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `default_config_paths` is never used
[INFO] [stderr]    --> src/types.rs:175:4
[INFO] [stderr]     |
[INFO] [stderr] 175 | fn default_config_paths() -> Vec<String> { vec!["config.yaml".to_string(), "config.json".to_string()] }
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `retry_delay` and `exit_wait` are never used
[INFO] [stderr]    --> src/types.rs:224:12
[INFO] [stderr]     |
[INFO] [stderr] 223 | impl FsConfig {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] 224 |     pub fn retry_delay(&self) -> Duration {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 228 |     pub fn exit_wait(&self) -> Duration {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `fuckrun` (bin "fuckrun" test) generated 34 warnings (run `cargo fix --bin "fuckrun" -p fuckrun --tests` to apply 22 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fuckrun-74815f616c9ef1c4)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test types::tests::test_process_config_validation ... ok
[INFO] [stdout] test types::tests::test_fs_config_validation ... ok
[INFO] [stdout] test types::tests::test_process_priority ... ok
[INFO] [stdout] test config::tests::test_config ... ok
[INFO] [stdout] test types::tests::test_state_config ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7c92115bcb8459676f7d4c13f9f5f364c36cfb0fe46530ab12e3428a7ceced21", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c92115bcb8459676f7d4c13f9f5f364c36cfb0fe46530ab12e3428a7ceced21", kill_on_drop: false }`
[INFO] [stdout] 7c92115bcb8459676f7d4c13f9f5f364c36cfb0fe46530ab12e3428a7ceced21
