[INFO] cloning repository https://github.com/JDKarner/shakedown
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JDKarner/shakedown" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJDKarner%2Fshakedown", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJDKarner%2Fshakedown'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f0c6a4b90542da528595bb66043d2a16984cfe70
[INFO] checking JDKarner/shakedown against try#1bdcb63291ccffc030f8223f6f978568dd240e3e for 155501-infallible-never-with-reservation
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJDKarner%2Fshakedown" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JDKarner/shakedown
[INFO] finished tweaking git repo https://github.com/JDKarner/shakedown
[INFO] tweaked toml for git repo https://github.com/JDKarner/shakedown written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JDKarner/shakedown on toolchain 1bdcb63291ccffc030f8223f6f978568dd240e3e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1bdcb63291ccffc030f8223f6f978568dd240e3e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JDKarner/shakedown 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" "+1bdcb63291ccffc030f8223f6f978568dd240e3e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1bdcb63291ccffc030f8223f6f978568dd240e3e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c8e1b5049498254b3c123fb594b621cc370cf17edef075262915aae1cdbf14f1
[INFO] running `Command { std: "docker" "start" "-a" "c8e1b5049498254b3c123fb594b621cc370cf17edef075262915aae1cdbf14f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c8e1b5049498254b3c123fb594b621cc370cf17edef075262915aae1cdbf14f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c8e1b5049498254b3c123fb594b621cc370cf17edef075262915aae1cdbf14f1", kill_on_drop: false }`
[INFO] [stdout] c8e1b5049498254b3c123fb594b621cc370cf17edef075262915aae1cdbf14f1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1bdcb63291ccffc030f8223f6f978568dd240e3e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bc0c2b54fc0598143f23bf1634bb7e6c6126e83aac930d2cb807f24a9ba9da94
[INFO] running `Command { std: "docker" "start" "-a" "bc0c2b54fc0598143f23bf1634bb7e6c6126e83aac930d2cb807f24a9ba9da94", kill_on_drop: false }`
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking emath v0.31.1
[INFO] [stderr]     Checking epaint_default_fonts v0.31.1
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking indexmap v2.12.1
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling enum-map-derive v0.17.0
[INFO] [stderr]     Checking ecolor v0.31.1
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking quick-xml v0.30.0
[INFO] [stderr]     Checking epaint v0.31.1
[INFO] [stderr]    Compiling mime_guess2 v2.3.1
[INFO] [stderr]     Checking zvariant v4.2.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking webbrowser v1.0.6
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking winnow v0.7.14
[INFO] [stderr]     Checking inotify v0.11.0
[INFO] [stderr]     Checking enum-map v2.7.3
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]     Checking egui v0.31.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.7
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking notify-types v2.0.0
[INFO] [stderr]     Checking jiff v0.2.16
[INFO] [stderr]     Checking ryu v1.0.21
[INFO] [stderr]     Checking itoa v1.0.16
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking zbus_names v3.0.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking zbus_xml v4.0.0
[INFO] [stderr]     Checking zbus v4.4.0
[INFO] [stderr]     Checking zbus-lockstep v0.4.4
[INFO] [stderr]     Checking env_filter v0.1.4
[INFO] [stderr]     Checking notify v8.2.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking anyhow v1.0.100
[INFO] [stderr]     Checking sysinfo v0.35.2
[INFO] [stderr]     Checking egui_glow v0.31.1
[INFO] [stderr]     Checking egui_extras v0.31.1
[INFO] [stderr]     Checking tempfile v3.23.0
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.4.4
[INFO] [stderr]     Checking atspi-common v0.6.0
[INFO] [stderr]     Checking atspi-proxies v0.6.0
[INFO] [stderr]     Checking accesskit_atspi_common v0.10.1
[INFO] [stderr]     Checking atspi-connection v0.6.0
[INFO] [stderr]     Checking atspi v0.22.0
[INFO] [stderr]     Checking accesskit_unix v0.13.1
[INFO] [stderr]     Checking accesskit_winit v0.23.1
[INFO] [stderr]     Checking egui-winit v0.31.1
[INFO] [stderr]     Checking eframe v0.31.1
[INFO] [stderr]     Checking shakedown v0.1.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/stress/runner.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::process::{self, Child, Command, Stdio};
[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: `jobfiles::JobfileManager`
[INFO] [stdout]   --> src/stress/mod.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub use jobfiles::JobfileManager;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StressRunner`
[INFO] [stdout]   --> src/stress/mod.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use runner::{StressRunner, TestStatus};
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::process::Command`
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use tokio::process::Command;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/stress/runner.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::process::{self, Child, Command, Stdio};
[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: `jobfiles::JobfileManager`
[INFO] [stdout]   --> src/stress/mod.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub use jobfiles::JobfileManager;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StressRunner`
[INFO] [stdout]   --> src/stress/mod.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use runner::{StressRunner, TestStatus};
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::process::Command`
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use tokio::process::Command;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chip2`
[INFO] [stdout]    --> src/monitor/iofan.rs:415:51
[INFO] [stdout]     |
[INFO] [stdout] 415 | ...   if let Some((tkey, _, _, Some(chip2))) = snapshot.iter().find(|(k2, _lbl2, rpm2, chip2)| k2.as_str() != key.as_str() && (rpm2...
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_chip2`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lbl2`
[INFO] [stdout]    --> src/monitor/iofan.rs:427:40
[INFO] [stdout]     |
[INFO] [stdout] 427 | ...   if let Some((tkey, lbl2, _, _)) = snapshot.iter().find(|(k2, lbl2, _, _)| k2.as_str() != key.as_str() && (lbl2.as_ref().map(|...
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_lbl2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chip2`
[INFO] [stdout]    --> src/monitor/iofan.rs:651:51
[INFO] [stdout]     |
[INFO] [stdout] 651 | ...   if let Some((tkey, _, _, Some(chip2))) = snapshot.iter().find(|(k2, _lbl2, rpm2, chip2)| k2.as_str() != key.as_str() && (rpm2...
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_chip2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lbl2`
[INFO] [stdout]    --> src/monitor/iofan.rs:663:40
[INFO] [stdout]     |
[INFO] [stdout] 663 | ...   if let Some((tkey, lbl2, _, _)) = snapshot.iter().find(|(k2, lbl2, _, _)| k2.as_str() != key.as_str() && (lbl2.as_ref().map(|...
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_lbl2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chip2`
[INFO] [stdout]    --> src/monitor/iofan.rs:415:51
[INFO] [stdout]     |
[INFO] [stdout] 415 | ...   if let Some((tkey, _, _, Some(chip2))) = snapshot.iter().find(|(k2, _lbl2, rpm2, chip2)| k2.as_str() != key.as_str() && (rpm2...
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_chip2`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lbl2`
[INFO] [stdout]    --> src/monitor/iofan.rs:427:40
[INFO] [stdout]     |
[INFO] [stdout] 427 | ...   if let Some((tkey, lbl2, _, _)) = snapshot.iter().find(|(k2, lbl2, _, _)| k2.as_str() != key.as_str() && (lbl2.as_ref().map(|...
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_lbl2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fans` is never read
[INFO] [stdout]    --> src/app.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct ShakedownApp {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fans: Arc<Mutex<Vec<crate::monitor::iofan::Fan>>>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_readings` is never used
[INFO] [stdout]   --> src/monitor/iofan.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl FanMonitor {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn get_readings(&self) -> Vec<Fan> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chip2`
[INFO] [stdout]    --> src/monitor/iofan.rs:651:51
[INFO] [stdout]     |
[INFO] [stdout] 651 | ...   if let Some((tkey, _, _, Some(chip2))) = snapshot.iter().find(|(k2, _lbl2, rpm2, chip2)| k2.as_str() != key.as_str() && (rpm2...
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_chip2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lbl2`
[INFO] [stdout]    --> src/monitor/iofan.rs:663:40
[INFO] [stdout]     |
[INFO] [stdout] 663 | ...   if let Some((tkey, lbl2, _, _)) = snapshot.iter().find(|(k2, lbl2, _, _)| k2.as_str() != key.as_str() && (lbl2.as_ref().map(|...
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_lbl2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_lmsensors_json` is never used
[INFO] [stdout]    --> src/monitor/iofan.rs:452:8
[INFO] [stdout]     |
[INFO] [stdout] 452 | pub fn parse_lmsensors_json(input: &str) -> Result<Vec<Fan>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JobfileManager` is never constructed
[INFO] [stdout]   --> src/stress/jobfiles.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct JobfileManager {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/stress/jobfiles.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl JobfileManager {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  35 |     /// Create a new jobfile manager, locating the jobfiles directory
[INFO] [stdout]  36 |     pub fn new() -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     fn find_jobfiles_dir() -> Result<PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn get_jobfile_path(&self, category: TestCategory) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn jobfile_exists(&self, category: TestCategory) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn read_jobfile(&self, category: TestCategory) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn prepare_jobfile(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     fn set_execution_mode(content: &str, mode: ExecutionMode) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn available_categories(&self) -> Vec<TestCategory> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn validate_jobfiles(&self) -> Vec<(TestCategory, bool)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn jobfiles_dir(&self) -> &Path {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn cleanup(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execution_mode_str` is never used
[INFO] [stdout]    --> src/stress/jobfiles.rs:206:4
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn execution_mode_str(mode: ExecutionMode) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JobfileInfo` is never constructed
[INFO] [stdout]    --> src/stress/jobfiles.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub struct JobfileInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_path` is never used
[INFO] [stdout]    --> src/stress/jobfiles.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 223 | impl JobfileInfo {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 224 |     pub fn from_path(category: TestCategory, path: PathBuf) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_stressors` is never used
[INFO] [stdout]    --> src/stress/jobfiles.rs:249:4
[INFO] [stdout]     |
[INFO] [stdout] 249 | fn count_stressors(content: &str) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `category` and `start_time` are never read
[INFO] [stdout]   --> src/stress/runner.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct TestProcess {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 59 |     child: Child,
[INFO] [stdout] 60 |     category: TestCategory,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 61 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestProcess` 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 `stress_ng_version` and `elapsed_time` are never used
[INFO] [stdout]    --> src/stress/runner.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl StressRunner {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn stress_ng_version(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 479 |     pub fn elapsed_time(&self) -> Option<std::time::Duration> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_status_indicator` is never used
[INFO] [stdout]    --> src/ui/test_config_panel.rs:449:8
[INFO] [stdout]     |
[INFO] [stdout] 449 | pub fn render_status_indicator(app: &ShakedownApp, ui: &mut Ui) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fans` is never read
[INFO] [stdout]    --> src/app.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct ShakedownApp {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fans: Arc<Mutex<Vec<crate::monitor::iofan::Fan>>>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_readings` is never used
[INFO] [stdout]   --> src/monitor/iofan.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl FanMonitor {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn get_readings(&self) -> Vec<Fan> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_lmsensors_json` is never used
[INFO] [stdout]    --> src/monitor/iofan.rs:452:8
[INFO] [stdout]     |
[INFO] [stdout] 452 | pub fn parse_lmsensors_json(input: &str) -> Result<Vec<Fan>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `jobfiles_dir` is never read
[INFO] [stdout]   --> src/stress/jobfiles.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct JobfileManager {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 28 |     /// Base directory containing jobfiles
[INFO] [stdout] 29 |     jobfiles_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/stress/jobfiles.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl JobfileManager {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  35 |     /// Create a new jobfile manager, locating the jobfiles directory
[INFO] [stdout]  36 |     pub fn new() -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     fn find_jobfiles_dir() -> Result<PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn get_jobfile_path(&self, category: TestCategory) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn jobfile_exists(&self, category: TestCategory) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn read_jobfile(&self, category: TestCategory) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn prepare_jobfile(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn available_categories(&self) -> Vec<TestCategory> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn validate_jobfiles(&self) -> Vec<(TestCategory, bool)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn jobfiles_dir(&self) -> &Path {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JobfileInfo` is never constructed
[INFO] [stdout]    --> src/stress/jobfiles.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub struct JobfileInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_path` is never used
[INFO] [stdout]    --> src/stress/jobfiles.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 223 | impl JobfileInfo {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 224 |     pub fn from_path(category: TestCategory, path: PathBuf) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_stressors` is never used
[INFO] [stdout]    --> src/stress/jobfiles.rs:249:4
[INFO] [stdout]     |
[INFO] [stdout] 249 | fn count_stressors(content: &str) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `category` and `start_time` are never read
[INFO] [stdout]   --> src/stress/runner.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct TestProcess {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 59 |     child: Child,
[INFO] [stdout] 60 |     category: TestCategory,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 61 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestProcess` 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 `stress_ng_version` and `elapsed_time` are never used
[INFO] [stdout]    --> src/stress/runner.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl StressRunner {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn stress_ng_version(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 479 |     pub fn elapsed_time(&self) -> Option<std::time::Duration> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_status_indicator` is never used
[INFO] [stdout]    --> src/ui/test_config_panel.rs:449:8
[INFO] [stdout]     |
[INFO] [stdout] 449 | pub fn render_status_indicator(app: &ShakedownApp, ui: &mut Ui) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.77s
[INFO] running `Command { std: "docker" "inspect" "bc0c2b54fc0598143f23bf1634bb7e6c6126e83aac930d2cb807f24a9ba9da94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc0c2b54fc0598143f23bf1634bb7e6c6126e83aac930d2cb807f24a9ba9da94", kill_on_drop: false }`
[INFO] [stdout] bc0c2b54fc0598143f23bf1634bb7e6c6126e83aac930d2cb807f24a9ba9da94
