[INFO] cloning repository https://github.com/LoganBarnett/nix-remote-builder-doctor
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/LoganBarnett/nix-remote-builder-doctor" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLoganBarnett%2Fnix-remote-builder-doctor", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLoganBarnett%2Fnix-remote-builder-doctor'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f026cc7ddaef12137e7972d0f849897f94557e99
[INFO] building LoganBarnett/nix-remote-builder-doctor against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLoganBarnett%2Fnix-remote-builder-doctor" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/LoganBarnett/nix-remote-builder-doctor
[INFO] finished tweaking git repo https://github.com/LoganBarnett/nix-remote-builder-doctor
[INFO] tweaked toml for git repo https://github.com/LoganBarnett/nix-remote-builder-doctor written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/LoganBarnett/nix-remote-builder-doctor on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/LoganBarnett/nix-remote-builder-doctor 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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded partial_application v0.2.1
[INFO] [stderr]   Downloaded papergrid v0.11.0
[INFO] [stderr]   Downloaded clap-verbosity-flag v2.2.0
[INFO] [stderr]   Downloaded terminal_size v0.3.0
[INFO] [stderr]   Downloaded stderrlog v0.6.0
[INFO] [stderr]   Downloaded owo-colors v4.0.0
[INFO] [stderr]   Downloaded ssh2 v0.9.5
[INFO] [stderr]   Downloaded tabled_derive v0.7.0
[INFO] [stderr]   Downloaded tabled v0.15.0
[INFO] [stderr]   Downloaded libssh2-sys v0.3.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 434298cada81d2b9d876c4c2b7afb10346dbc6766db9c58198c68eb9f470bcea
[INFO] running `Command { std: "docker" "start" "-a" "434298cada81d2b9d876c4c2b7afb10346dbc6766db9c58198c68eb9f470bcea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "434298cada81d2b9d876c4c2b7afb10346dbc6766db9c58198c68eb9f470bcea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "434298cada81d2b9d876c4c2b7afb10346dbc6766db9c58198c68eb9f470bcea", kill_on_drop: false }`
[INFO] [stdout] 434298cada81d2b9d876c4c2b7afb10346dbc6766db9c58198c68eb9f470bcea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4912d923c6dbbe2257889a5303223ba80d90610ea2ed95c5ff5848b74c33ec5a
[INFO] running `Command { std: "docker" "start" "-a" "4912d923c6dbbe2257889a5303223ba80d90610ea2ed95c5ff5848b74c33ec5a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.85
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling cc v1.0.99
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling litemap v0.7.3
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling rustix v0.38.31
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling linux-raw-sys v0.4.13
[INFO] [stderr]    Compiling anstyle-parse v0.2.4
[INFO] [stderr]    Compiling anstyle-query v1.1.0
[INFO] [stderr]    Compiling colorchoice v1.0.1
[INFO] [stderr]    Compiling anstyle v1.0.7
[INFO] [stderr]    Compiling icu_properties_data v1.5.0
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling clap_lex v0.7.1
[INFO] [stderr]    Compiling utf16_iter v1.0.5
[INFO] [stderr]    Compiling write16 v1.0.0
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.0
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling anstream v0.6.14
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling bytecount v0.6.8
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling unicode-width v0.1.13
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling iana-time-zone v0.1.60
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling regex-syntax v0.8.4
[INFO] [stderr]    Compiling terminal_size v0.3.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling vte_generate_state_changes v0.1.2
[INFO] [stderr]    Compiling clap_builder v4.5.7
[INFO] [stderr]    Compiling thread_local v1.1.8
[INFO] [stderr]    Compiling termcolor v1.1.3
[INFO] [stderr]    Compiling owo-colors v4.0.0
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling libz-sys v1.1.18
[INFO] [stderr]    Compiling openssl-sys v0.9.102
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling partial_application v0.2.1
[INFO] [stderr]    Compiling vte v0.10.1
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling chrono v0.4.38
[INFO] [stderr]    Compiling is-terminal v0.4.12
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling ansitok v0.2.0
[INFO] [stderr]    Compiling stderrlog v0.6.0
[INFO] [stderr]    Compiling tabled_derive v0.7.0
[INFO] [stderr]    Compiling regex-automata v0.4.7
[INFO] [stderr]    Compiling ansi-str v0.8.0
[INFO] [stderr]    Compiling papergrid v0.11.0
[INFO] [stderr]    Compiling tabled v0.15.0
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling regex v1.10.5
[INFO] [stderr]    Compiling ssh2 v0.9.5
[INFO] [stderr]    Compiling zerofrom-derive v0.1.4
[INFO] [stderr]    Compiling yoke-derive v0.7.4
[INFO] [stderr]    Compiling zerovec-derive v0.10.2
[INFO] [stderr]    Compiling displaydoc v0.2.4
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling clap_derive v4.5.5
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling zerofrom v0.1.4
[INFO] [stderr]    Compiling yoke v0.7.4
[INFO] [stderr]    Compiling strum v0.26.2
[INFO] [stderr]    Compiling zerovec v0.10.2
[INFO] [stderr]    Compiling clap v4.5.7
[INFO] [stderr]    Compiling clap-verbosity-flag v2.2.0
[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 icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling icu_properties v1.5.0
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling idna v1.0.0
[INFO] [stderr]    Compiling url v2.5.1
[INFO] [stderr]    Compiling nix-remote-builder-doctor v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::any::type_name`
[INFO] [stdout]  --> src/test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::type_name;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/main.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod test;
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum::Display`
[INFO] [stdout]  --> src/test.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use strum::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/main.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod test;
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tap::Tap`
[INFO] [stdout]  --> src/test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tap::Tap;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/main.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod test;
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::*`
[INFO] [stdout]  --> src/test.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use log::*;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/main.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod test;
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum::Display`
[INFO] [stdout]  --> src/error.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use strum::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `command::command_with_stdin`
[INFO] [stdout]   --> src/matching_keys_test.rs:7:3
[INFO] [stdout]    |
[INFO] [stdout]  7 |   command::command_with_stdin,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/main.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | mod matching_keys_test;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `age_encrypt` is never used
[INFO] [stdout]   --> src/age.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn age_encrypt(
[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 `age_decrypt` is never used
[INFO] [stdout]   --> src/age.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn age_decrypt(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `command_with_stdin` is never used
[INFO] [stdout]  --> src/command.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn command_with_stdin(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Inconclusive` is never constructed
[INFO] [stdout]   --> src/test.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum TestResult {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |   Inconclusive(InconclusiveData),
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `context` and `test_name` are never read
[INFO] [stdout]   --> src/test.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct PassData {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 22 |   pub context: MachineTestContext,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 23 |   pub test_name: String,
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PassData` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/test.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct FailData {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 28 |   pub context: MachineTestContext,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FailData` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `context` and `test_name` are never read
[INFO] [stdout]   --> src/test.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct InconclusiveData {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 36 |   pub context: MachineTestContext,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 37 |   pub test_name: String,
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InconclusiveData` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TestRequest` and `ManualInstruction` are never constructed
[INFO] [stdout]   --> src/test.rs:43:3
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum ConclusiveAction {
[INFO] [stdout]    |          ---------------- variants in this enum
[INFO] [stdout] 43 |   TestRequest(TestRequestData),
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout] 44 |   ManualInstruction(String),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConclusiveAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requesting_test_name` is never read
[INFO] [stdout]   --> src/test.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct TestRequestData {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 49 |   pub requested_test_name: String,
[INFO] [stdout] 50 |   pub requesting_test_name: String,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestRequestData` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default` is never used
[INFO] [stdout]   --> src/test.rs:64:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl TestResult {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |   pub fn default(context: &MachineTestContext, test_name: &str) -> TestResult {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `app_context` is never read
[INFO] [stdout]   --> src/test.rs:86:7
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct MachineTestContext {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 85 |   pub machine: Machine,
[INFO] [stdout] 86 |   pub app_context: AppTestContext,
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MachineTestContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `public_key_path_infer` is never used
[INFO] [stdout]    --> src/machine.rs:325:4
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn public_key_path_infer(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `public_key_file_data` is never used
[INFO] [stdout]    --> src/machine.rs:332:4
[INFO] [stdout]     |
[INFO] [stdout] 332 | fn public_key_file_data(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/error.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 |   DnsCommandFailedError(i32, String),
[INFO] [stdout]    |   --------------------- ^^^  ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 11 -   DnsCommandFailedError(i32, String),
[INFO] [stdout] 11 +   DnsCommandFailedError((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/error.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 |   DnsCommandSignalError(String, String),
[INFO] [stdout]    |   --------------------- ^^^^^^  ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 12 -   DnsCommandSignalError(String, String),
[INFO] [stdout] 12 +   DnsCommandSignalError((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 |   DnsCommandSigPipeError(String),
[INFO] [stdout]    |   ---------------------- ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 13 -   DnsCommandSigPipeError(String),
[INFO] [stdout] 13 +   DnsCommandSigPipeError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |   DnsCommandSpawnProcessError(std::io::Error),
[INFO] [stdout]    |   --------------------------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 14 -   DnsCommandSpawnProcessError(std::io::Error),
[INFO] [stdout] 14 +   DnsCommandSpawnProcessError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |   HostConnectionFailedError(std::io::Error),
[INFO] [stdout]    |   ------------------------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 15 -   HostConnectionFailedError(std::io::Error),
[INFO] [stdout] 15 +   HostConnectionFailedError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 |   MachinesEntryMissingFieldError(String),
[INFO] [stdout]    |   ------------------------------ ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 19 -   MachinesEntryMissingFieldError(String),
[INFO] [stdout] 19 +   MachinesEntryMissingFieldError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |   MachinesEntryNotNumberFieldError(String),
[INFO] [stdout]    |   -------------------------------- ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 20 -   MachinesEntryNotNumberFieldError(String),
[INFO] [stdout] 20 +   MachinesEntryNotNumberFieldError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:21:40
[INFO] [stdout]    |
[INFO] [stdout] 21 |   MachinesEntryUrlHostnameMissingError(String),
[INFO] [stdout]    |   ------------------------------------ ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 21 -   MachinesEntryUrlHostnameMissingError(String),
[INFO] [stdout] 21 +   MachinesEntryUrlHostnameMissingError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |   MachinesFileReadError(std::io::Error),
[INFO] [stdout]    |   --------------------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 22 -   MachinesFileReadError(std::io::Error),
[INFO] [stdout] 22 +   MachinesFileReadError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/error.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |   PrivateKeyFileReadError(std::io::Error, String),
[INFO] [stdout]    |   ----------------------- ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 24 -   PrivateKeyFileReadError(std::io::Error, String),
[INFO] [stdout] 24 +   PrivateKeyFileReadError((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |   PublicKeyDecodeError(base64::DecodeError),
[INFO] [stdout]    |   -------------------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 26 -   PublicKeyDecodeError(base64::DecodeError),
[INFO] [stdout] 26 +   PublicKeyDecodeError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:27:22
[INFO] [stdout]    |
[INFO] [stdout] 27 |   PublicKeyUtf8Error(Utf8Error),
[INFO] [stdout]    |   ------------------ ^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 27 -   PublicKeyUtf8Error(Utf8Error),
[INFO] [stdout] 27 +   PublicKeyUtf8Error(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 |   SshChannelCloseError(ssh2::Error),
[INFO] [stdout]    |   -------------------- ^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 30 -   SshChannelCloseError(ssh2::Error),
[INFO] [stdout] 30 +   SshChannelCloseError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |   SshChannelOpenFailure(ssh2::Error),
[INFO] [stdout]    |   --------------------- ^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 31 -   SshChannelOpenFailure(ssh2::Error),
[INFO] [stdout] 31 +   SshChannelOpenFailure(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |   SshChannelReadError(std::io::Error),
[INFO] [stdout]    |   ------------------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 32 -   SshChannelReadError(std::io::Error),
[INFO] [stdout] 32 +   SshChannelReadError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |   SshCommandExecuteError(ssh2::Error),
[INFO] [stdout]    |   ---------------------- ^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 33 -   SshCommandExecuteError(ssh2::Error),
[INFO] [stdout] 33 +   SshCommandExecuteError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:34:32
[INFO] [stdout]    |
[INFO] [stdout] 34 |   SshCommandNotTerminatedError(ssh2::Error),
[INFO] [stdout]    |   ---------------------------- ^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 34 -   SshCommandNotTerminatedError(ssh2::Error),
[INFO] [stdout] 34 +   SshCommandNotTerminatedError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:35:23
[INFO] [stdout]    |
[INFO] [stdout] 35 |   SshConfigQueryError(String),
[INFO] [stdout]    |   ------------------- ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 35 -   SshConfigQueryError(String),
[INFO] [stdout] 35 +   SshConfigQueryError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/error.rs:38:32
[INFO] [stdout]    |
[INFO] [stdout] 38 |   SshKeyscanCommandFailedError(i32, String),
[INFO] [stdout]    |   ---------------------------- ^^^  ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 38 -   SshKeyscanCommandFailedError(i32, String),
[INFO] [stdout] 38 +   SshKeyscanCommandFailedError((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/error.rs:39:32
[INFO] [stdout]    |
[INFO] [stdout] 39 |   SshKeyscanCommandSignalError(String, String),
[INFO] [stdout]    |   ---------------------------- ^^^^^^  ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 39 -   SshKeyscanCommandSignalError(String, String),
[INFO] [stdout] 39 +   SshKeyscanCommandSignalError((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:40:33
[INFO] [stdout]    |
[INFO] [stdout] 40 |   SshKeyscanCommandSigPipeError(String),
[INFO] [stdout]    |   ----------------------------- ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 40 -   SshKeyscanCommandSigPipeError(String),
[INFO] [stdout] 40 +   SshKeyscanCommandSigPipeError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:41:38
[INFO] [stdout]    |
[INFO] [stdout] 41 |   SshKeyscanCommandSpawnProcessError(std::io::Error),
[INFO] [stdout]    |   ---------------------------------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 41 -   SshKeyscanCommandSpawnProcessError(std::io::Error),
[INFO] [stdout] 41 +   SshKeyscanCommandSpawnProcessError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 |   SshKeyscanParseError(String),
[INFO] [stdout]    |   -------------------- ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 42 -   SshKeyscanParseError(String),
[INFO] [stdout] 42 +   SshKeyscanParseError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 |   SshSessionDisconnectError(ssh2::Error),
[INFO] [stdout]    |   ------------------------- ^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 43 -   SshSessionDisconnectError(ssh2::Error),
[INFO] [stdout] 43 +   SshSessionDisconnectError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 |   SshSessionAuthError(ssh2::Error),
[INFO] [stdout]    |   ------------------- ^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 44 -   SshSessionAuthError(ssh2::Error),
[INFO] [stdout] 44 +   SshSessionAuthError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:46:28
[INFO] [stdout]    |
[INFO] [stdout] 46 |   SshSessionHandshakeError(ssh2::Error),
[INFO] [stdout]    |   ------------------------ ^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 46 -   SshSessionHandshakeError(ssh2::Error),
[INFO] [stdout] 46 +   SshSessionHandshakeError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:47:24
[INFO] [stdout]    |
[INFO] [stdout] 47 |   SshSpawnProcessError(std::io::Error),
[INFO] [stdout]    |   -------------------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 47 -   SshSpawnProcessError(std::io::Error),
[INFO] [stdout] 47 +   SshSpawnProcessError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |   UrlParseError(url::ParseError),
[INFO] [stdout]    |   ------------- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 48 -   UrlParseError(url::ParseError),
[INFO] [stdout] 48 +   UrlParseError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:49:27
[INFO] [stdout]    |
[INFO] [stdout] 49 |   UrlHostnameMissingError(String),
[INFO] [stdout]    |   ----------------------- ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 49 -   UrlHostnameMissingError(String),
[INFO] [stdout] 49 +   UrlHostnameMissingError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AgeDecryptionFailure`, `AgeEncryptionFailure`, `NotImplementedError`, `PublicKeyFileReadError`, `RageSpawnProcessError`, and `RageSpawnProcessStdinError` are never constructed
[INFO] [stdout]   --> src/error.rs:9:3
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum AppError {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout]  9 |   AgeDecryptionFailure(String),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |   AgeEncryptionFailure(String),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |   NotImplementedError(),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |   PrivateKeyFileReadError(std::io::Error, String),
[INFO] [stdout] 25 |   PublicKeyFileReadError(std::io::Error, String),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |   RageSpawnProcessError(std::io::Error),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |   RageSpawnProcessStdinError(),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NixStorePermissionTest` is never constructed
[INFO] [stdout]  --> src/nix_store_permission_test.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct NixStorePermissionTest {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized] target(s) in 46.32s
[INFO] running `Command { std: "docker" "inspect" "4912d923c6dbbe2257889a5303223ba80d90610ea2ed95c5ff5848b74c33ec5a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4912d923c6dbbe2257889a5303223ba80d90610ea2ed95c5ff5848b74c33ec5a", kill_on_drop: false }`
[INFO] [stdout] 4912d923c6dbbe2257889a5303223ba80d90610ea2ed95c5ff5848b74c33ec5a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d41b1db70ce78eab78b8b56676fff9e6ae7a80df12e60f17edf735a2b1609a27
[INFO] running `Command { std: "docker" "start" "-a" "d41b1db70ce78eab78b8b56676fff9e6ae7a80df12e60f17edf735a2b1609a27", kill_on_drop: false }`
[INFO] [stderr]    Compiling nix-remote-builder-doctor v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::any::type_name`
[INFO] [stdout]  --> src/test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::type_name;
[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: `strum::Display`
[INFO] [stdout]  --> src/test.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use strum::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tap::Tap`
[INFO] [stdout]  --> src/test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tap::Tap;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::*`
[INFO] [stdout]  --> src/test.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use log::*;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum::Display`
[INFO] [stdout]  --> src/error.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use strum::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `command::command_with_stdin`
[INFO] [stdout]  --> src/matching_keys_test.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 7 |   command::command_with_stdin,
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `age_encrypt` is never used
[INFO] [stdout]   --> src/age.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn age_encrypt(
[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 `age_decrypt` is never used
[INFO] [stdout]   --> src/age.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn age_decrypt(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `command_with_stdin` is never used
[INFO] [stdout]  --> src/command.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn command_with_stdin(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Inconclusive` is never constructed
[INFO] [stdout]   --> src/test.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum TestResult {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |   Inconclusive(InconclusiveData),
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `context` and `test_name` are never read
[INFO] [stdout]   --> src/test.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct PassData {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 22 |   pub context: MachineTestContext,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 23 |   pub test_name: String,
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PassData` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/test.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct FailData {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 28 |   pub context: MachineTestContext,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FailData` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `context` and `test_name` are never read
[INFO] [stdout]   --> src/test.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct InconclusiveData {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 36 |   pub context: MachineTestContext,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 37 |   pub test_name: String,
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InconclusiveData` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TestRequest` and `ManualInstruction` are never constructed
[INFO] [stdout]   --> src/test.rs:43:3
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum ConclusiveAction {
[INFO] [stdout]    |          ---------------- variants in this enum
[INFO] [stdout] 43 |   TestRequest(TestRequestData),
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout] 44 |   ManualInstruction(String),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConclusiveAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `requesting_test_name` is never read
[INFO] [stdout]   --> src/test.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct TestRequestData {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 49 |   pub requested_test_name: String,
[INFO] [stdout] 50 |   pub requesting_test_name: String,
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestRequestData` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default` is never used
[INFO] [stdout]   --> src/test.rs:64:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl TestResult {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |   pub fn default(context: &MachineTestContext, test_name: &str) -> TestResult {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `app_context` is never read
[INFO] [stdout]   --> src/test.rs:86:7
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct MachineTestContext {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 85 |   pub machine: Machine,
[INFO] [stdout] 86 |   pub app_context: AppTestContext,
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MachineTestContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `public_key_path_infer` is never used
[INFO] [stdout]    --> src/machine.rs:325:4
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn public_key_path_infer(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `public_key_file_data` is never used
[INFO] [stdout]    --> src/machine.rs:332:4
[INFO] [stdout]     |
[INFO] [stdout] 332 | fn public_key_file_data(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/error.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 |   DnsCommandFailedError(i32, String),
[INFO] [stdout]    |   --------------------- ^^^  ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 11 -   DnsCommandFailedError(i32, String),
[INFO] [stdout] 11 +   DnsCommandFailedError((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/error.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 |   DnsCommandSignalError(String, String),
[INFO] [stdout]    |   --------------------- ^^^^^^  ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 12 -   DnsCommandSignalError(String, String),
[INFO] [stdout] 12 +   DnsCommandSignalError((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 |   DnsCommandSigPipeError(String),
[INFO] [stdout]    |   ---------------------- ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 13 -   DnsCommandSigPipeError(String),
[INFO] [stdout] 13 +   DnsCommandSigPipeError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |   DnsCommandSpawnProcessError(std::io::Error),
[INFO] [stdout]    |   --------------------------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 14 -   DnsCommandSpawnProcessError(std::io::Error),
[INFO] [stdout] 14 +   DnsCommandSpawnProcessError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |   HostConnectionFailedError(std::io::Error),
[INFO] [stdout]    |   ------------------------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 15 -   HostConnectionFailedError(std::io::Error),
[INFO] [stdout] 15 +   HostConnectionFailedError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 |   MachinesEntryMissingFieldError(String),
[INFO] [stdout]    |   ------------------------------ ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 19 -   MachinesEntryMissingFieldError(String),
[INFO] [stdout] 19 +   MachinesEntryMissingFieldError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |   MachinesEntryNotNumberFieldError(String),
[INFO] [stdout]    |   -------------------------------- ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 20 -   MachinesEntryNotNumberFieldError(String),
[INFO] [stdout] 20 +   MachinesEntryNotNumberFieldError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:21:40
[INFO] [stdout]    |
[INFO] [stdout] 21 |   MachinesEntryUrlHostnameMissingError(String),
[INFO] [stdout]    |   ------------------------------------ ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 21 -   MachinesEntryUrlHostnameMissingError(String),
[INFO] [stdout] 21 +   MachinesEntryUrlHostnameMissingError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |   MachinesFileReadError(std::io::Error),
[INFO] [stdout]    |   --------------------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 22 -   MachinesFileReadError(std::io::Error),
[INFO] [stdout] 22 +   MachinesFileReadError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/error.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |   PrivateKeyFileReadError(std::io::Error, String),
[INFO] [stdout]    |   ----------------------- ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 24 -   PrivateKeyFileReadError(std::io::Error, String),
[INFO] [stdout] 24 +   PrivateKeyFileReadError((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |   PublicKeyDecodeError(base64::DecodeError),
[INFO] [stdout]    |   -------------------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 26 -   PublicKeyDecodeError(base64::DecodeError),
[INFO] [stdout] 26 +   PublicKeyDecodeError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:27:22
[INFO] [stdout]    |
[INFO] [stdout] 27 |   PublicKeyUtf8Error(Utf8Error),
[INFO] [stdout]    |   ------------------ ^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 27 -   PublicKeyUtf8Error(Utf8Error),
[INFO] [stdout] 27 +   PublicKeyUtf8Error(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 |   SshChannelCloseError(ssh2::Error),
[INFO] [stdout]    |   -------------------- ^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 30 -   SshChannelCloseError(ssh2::Error),
[INFO] [stdout] 30 +   SshChannelCloseError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |   SshChannelOpenFailure(ssh2::Error),
[INFO] [stdout]    |   --------------------- ^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 31 -   SshChannelOpenFailure(ssh2::Error),
[INFO] [stdout] 31 +   SshChannelOpenFailure(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |   SshChannelReadError(std::io::Error),
[INFO] [stdout]    |   ------------------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 32 -   SshChannelReadError(std::io::Error),
[INFO] [stdout] 32 +   SshChannelReadError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |   SshCommandExecuteError(ssh2::Error),
[INFO] [stdout]    |   ---------------------- ^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 33 -   SshCommandExecuteError(ssh2::Error),
[INFO] [stdout] 33 +   SshCommandExecuteError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:34:32
[INFO] [stdout]    |
[INFO] [stdout] 34 |   SshCommandNotTerminatedError(ssh2::Error),
[INFO] [stdout]    |   ---------------------------- ^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 34 -   SshCommandNotTerminatedError(ssh2::Error),
[INFO] [stdout] 34 +   SshCommandNotTerminatedError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:35:23
[INFO] [stdout]    |
[INFO] [stdout] 35 |   SshConfigQueryError(String),
[INFO] [stdout]    |   ------------------- ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 35 -   SshConfigQueryError(String),
[INFO] [stdout] 35 +   SshConfigQueryError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/error.rs:38:32
[INFO] [stdout]    |
[INFO] [stdout] 38 |   SshKeyscanCommandFailedError(i32, String),
[INFO] [stdout]    |   ---------------------------- ^^^  ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 38 -   SshKeyscanCommandFailedError(i32, String),
[INFO] [stdout] 38 +   SshKeyscanCommandFailedError((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/error.rs:39:32
[INFO] [stdout]    |
[INFO] [stdout] 39 |   SshKeyscanCommandSignalError(String, String),
[INFO] [stdout]    |   ---------------------------- ^^^^^^  ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 39 -   SshKeyscanCommandSignalError(String, String),
[INFO] [stdout] 39 +   SshKeyscanCommandSignalError((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:40:33
[INFO] [stdout]    |
[INFO] [stdout] 40 |   SshKeyscanCommandSigPipeError(String),
[INFO] [stdout]    |   ----------------------------- ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 40 -   SshKeyscanCommandSigPipeError(String),
[INFO] [stdout] 40 +   SshKeyscanCommandSigPipeError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:41:38
[INFO] [stdout]    |
[INFO] [stdout] 41 |   SshKeyscanCommandSpawnProcessError(std::io::Error),
[INFO] [stdout]    |   ---------------------------------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 41 -   SshKeyscanCommandSpawnProcessError(std::io::Error),
[INFO] [stdout] 41 +   SshKeyscanCommandSpawnProcessError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 |   SshKeyscanParseError(String),
[INFO] [stdout]    |   -------------------- ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 42 -   SshKeyscanParseError(String),
[INFO] [stdout] 42 +   SshKeyscanParseError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 |   SshSessionDisconnectError(ssh2::Error),
[INFO] [stdout]    |   ------------------------- ^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 43 -   SshSessionDisconnectError(ssh2::Error),
[INFO] [stdout] 43 +   SshSessionDisconnectError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 |   SshSessionAuthError(ssh2::Error),
[INFO] [stdout]    |   ------------------- ^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 44 -   SshSessionAuthError(ssh2::Error),
[INFO] [stdout] 44 +   SshSessionAuthError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:46:28
[INFO] [stdout]    |
[INFO] [stdout] 46 |   SshSessionHandshakeError(ssh2::Error),
[INFO] [stdout]    |   ------------------------ ^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 46 -   SshSessionHandshakeError(ssh2::Error),
[INFO] [stdout] 46 +   SshSessionHandshakeError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:47:24
[INFO] [stdout]    |
[INFO] [stdout] 47 |   SshSpawnProcessError(std::io::Error),
[INFO] [stdout]    |   -------------------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 47 -   SshSpawnProcessError(std::io::Error),
[INFO] [stdout] 47 +   SshSpawnProcessError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |   UrlParseError(url::ParseError),
[INFO] [stdout]    |   ------------- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 48 -   UrlParseError(url::ParseError),
[INFO] [stdout] 48 +   UrlParseError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:49:27
[INFO] [stdout]    |
[INFO] [stdout] 49 |   UrlHostnameMissingError(String),
[INFO] [stdout]    |   ----------------------- ^^^^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` 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] 49 -   UrlHostnameMissingError(String),
[INFO] [stdout] 49 +   UrlHostnameMissingError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AgeDecryptionFailure`, `AgeEncryptionFailure`, `NotImplementedError`, `PublicKeyFileReadError`, `RageSpawnProcessError`, and `RageSpawnProcessStdinError` are never constructed
[INFO] [stdout]   --> src/error.rs:9:3
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum AppError {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout]  9 |   AgeDecryptionFailure(String),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |   AgeEncryptionFailure(String),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |   NotImplementedError(),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |   PrivateKeyFileReadError(std::io::Error, String),
[INFO] [stdout] 25 |   PublicKeyFileReadError(std::io::Error, String),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |   RageSpawnProcessError(std::io::Error),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |   RageSpawnProcessStdinError(),
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NixStorePermissionTest` is never constructed
[INFO] [stdout]  --> src/nix_store_permission_test.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct NixStorePermissionTest {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized] target(s) in 1.00s
[INFO] running `Command { std: "docker" "inspect" "d41b1db70ce78eab78b8b56676fff9e6ae7a80df12e60f17edf735a2b1609a27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d41b1db70ce78eab78b8b56676fff9e6ae7a80df12e60f17edf735a2b1609a27", kill_on_drop: false }`
[INFO] [stdout] d41b1db70ce78eab78b8b56676fff9e6ae7a80df12e60f17edf735a2b1609a27
