[INFO] cloning repository https://github.com/rrubright/RustySync
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rrubright/RustySync" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frrubright%2FRustySync", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frrubright%2FRustySync'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3fefed05750008cbee74e85af984dae14e31050d
[INFO] checking rrubright/RustySync against 79c0559184f27f4433a6fbc260b950d06d4a4889 for pr-162233-crater-rollup
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frrubright%2FRustySync" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rrubright/RustySync
[INFO] finished tweaking git repo https://github.com/rrubright/RustySync
[INFO] tweaked toml for git repo https://github.com/rrubright/RustySync written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rrubright/RustySync on toolchain 79c0559184f27f4433a6fbc260b950d06d4a4889
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+79c0559184f27f4433a6fbc260b950d06d4a4889" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rrubright/RustySync 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" "+79c0559184f27f4433a6fbc260b950d06d4a4889" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking rrubright/RustySync against 79c0559184f27f4433a6fbc260b950d06d4a4889 for pr-162233-crater-rollup
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frrubright%2FRustySync" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rrubright/RustySync
[INFO] finished tweaking git repo https://github.com/rrubright/RustySync
[INFO] tweaked toml for git repo https://github.com/rrubright/RustySync written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rrubright/RustySync on toolchain 79c0559184f27f4433a6fbc260b950d06d4a4889
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+79c0559184f27f4433a6fbc260b950d06d4a4889" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rrubright/RustySync 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" "+79c0559184f27f4433a6fbc260b950d06d4a4889" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fdcd6dcdb81bcc909600766befe892a027167a823ae2b6ad952280ca7efcc10b
[INFO] running `Command { std: "docker" "start" "fdcd6dcdb81bcc909600766befe892a027167a823ae2b6ad952280ca7efcc10b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fdcd6dcdb81bcc909600766befe892a027167a823ae2b6ad952280ca7efcc10b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fdcd6dcdb81bcc909600766befe892a027167a823ae2b6ad952280ca7efcc10b" "/opt/rustwide/cargo-home/bin/cargo" "+79c0559184f27f4433a6fbc260b950d06d4a4889" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fdcd6dcdb81bcc909600766befe892a027167a823ae2b6ad952280ca7efcc10b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fdcd6dcdb81bcc909600766befe892a027167a823ae2b6ad952280ca7efcc10b" "/opt/rustwide/cargo-home/bin/cargo" "+79c0559184f27f4433a6fbc260b950d06d4a4889" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg_aliases v0.2.2
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking loadlevel v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `evaluate` is never used
[INFO] [stdout]   --> src/algs.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn evaluate(old: &Observation, new: &Observation) -> Decision {
[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 `classify` is never used
[INFO] [stdout]    --> src/algs.rs:125:4
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn classify(flag: &MissingData) -> (Severity, String) {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rank` is never used
[INFO] [stdout]    --> src/algs.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn rank(level: &Severity) -> u8 {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rsync_velocity_mb_s` is never used
[INFO] [stdout]    --> src/algs.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn rsync_velocity_mb_s(old: &Observation, new: &Observation) -> Option<f64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_observation` is never used
[INFO] [stdout]  --> src/log.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn append_observation(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/phase.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub enum Phase {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  5 |     Configured,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]  6 |     Characterizing,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]  7 |     Characterized,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     Calibrated,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     Paused,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     Resuming,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Shutdown,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 18 |
[INFO] [stdout] 19 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Phase` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Stop` and `Interrupt` are never constructed
[INFO] [stdout]   --> src/state.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum RecoveryAction {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] 11 |     None,
[INFO] [stdout] 12 |     Stop,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     Resume,
[INFO] [stdout] 14 |     Interrupt,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Pause`, `Interrupt`, and `Halt` are never constructed
[INFO] [stdout]   --> src/state.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub enum ActionRequest {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 35 |     Continue,
[INFO] [stdout] 36 |     Pause,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 37 |     Interrupt,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 38 |     Halt,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ActionRequest` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `calibrated`, `last_decision`, and `action_request` are never read
[INFO] [stdout]   --> src/state.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct State {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub calibrated: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 47 |     pub last_decision: Option<Decision>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub action_request: ActionRequest,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `State` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `transition` are never used
[INFO] [stdout]   --> src/state.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl State {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 52 |     pub fn new(config: Configuration, capabilities: Capabilities) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn transition(&mut self, phase: Phase) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `topology` is never read
[INFO] [stdout]   --> src/types.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Configuration {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub topology: Option<StorageTopology>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Configuration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `model`, `serial`, `reports_write_latency`, and `reports_write_counters` are never read
[INFO] [stdout]   --> src/types.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct DriveCapability {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 45 |     pub id: DriveId,
[INFO] [stdout] 46 |     pub model: Option<String>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 47 |     pub serial: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 48 |     pub reports_temperature: bool,
[INFO] [stdout] 49 |     pub reports_write_latency: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     pub reports_write_counters: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DriveCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/types.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub enum StorageLayout {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 59 |     Direct,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 60 |     MdRaid1,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 61 |     MdRaid10,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 62 |     MdRaid5or6,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 63 |     Lvm,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 64 |     LvmOverRaid,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 65 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StorageLayout` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Logical`, `Physical`, and `Thermal` are never constructed
[INFO] [stdout]   --> src/types.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub enum CanaryRole {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 70 |     Logical,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 71 |     Physical,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     Thermal,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CanaryRole` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `role` are never read
[INFO] [stdout]   --> src/types.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct Canary {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 80 |     pub id: DriveId,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 81 |     pub role: CanaryRole,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Canary` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `destination_path`, `logical_device`, `layout`, and `canaries` are never read
[INFO] [stdout]   --> src/types.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct StorageTopology {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 86 |     pub destination_path: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 87 |     pub logical_device: DriveId,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub layout: StorageLayout,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 89 |     pub canaries: Vec<Canary>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StorageTopology` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rsync_velocity_mb_s` is never read
[INFO] [stdout]   --> src/types.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct Observation {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub rsync_velocity_mb_s: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Observation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]    --> src/types.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl SampleLog {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WriteLatency` is never constructed
[INFO] [stdout]    --> src/types.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub enum MissingData {
[INFO] [stdout]     |          ----------- variant in this enum
[INFO] [stdout] 152 |     NvmeTemperature(DriveId),
[INFO] [stdout] 153 |     WriteLatency(DriveId),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MissingData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Ignore`, `Warning`, `Pause`, and `Abort` are never constructed
[INFO] [stdout]    --> src/types.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub enum Severity {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] 160 |     Ignore,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 161 |     Warning,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 162 |     Pause,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 163 |     Abort,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Severity` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Hold`, `Increase`, and `Decrease` are never constructed
[INFO] [stdout]    --> src/types.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub enum ThrottleAction {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 168 |     Hold,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 169 |     Increase(u16),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 170 |     Decrease(u16),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ThrottleAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `severity`, `message`, and `action` are never read
[INFO] [stdout]    --> src/types.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub struct Decision {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 175 |     pub severity: Severity,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 176 |     pub message: Option<String>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 177 |     pub action: ThrottleAction,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Decision` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sample` is never constructed
[INFO] [stdout]    --> src/types.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct Sample {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate` is never used
[INFO] [stdout]   --> src/algs.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn evaluate(old: &Observation, new: &Observation) -> Decision {
[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 `classify` is never used
[INFO] [stdout]    --> src/algs.rs:125:4
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn classify(flag: &MissingData) -> (Severity, String) {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rank` is never used
[INFO] [stdout]    --> src/algs.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn rank(level: &Severity) -> u8 {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rsync_velocity_mb_s` is never used
[INFO] [stdout]    --> src/algs.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn rsync_velocity_mb_s(old: &Observation, new: &Observation) -> Option<f64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_observation` is never used
[INFO] [stdout]  --> src/log.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn append_observation(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/phase.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub enum Phase {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  5 |     Configured,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]  6 |     Characterizing,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]  7 |     Characterized,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     Calibrated,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     Paused,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     Resuming,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Shutdown,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 18 |
[INFO] [stdout] 19 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Phase` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Stop` and `Interrupt` are never constructed
[INFO] [stdout]   --> src/state.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum RecoveryAction {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] 11 |     None,
[INFO] [stdout] 12 |     Stop,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     Resume,
[INFO] [stdout] 14 |     Interrupt,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Pause`, `Interrupt`, and `Halt` are never constructed
[INFO] [stdout]   --> src/state.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub enum ActionRequest {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 35 |     Continue,
[INFO] [stdout] 36 |     Pause,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 37 |     Interrupt,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 38 |     Halt,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ActionRequest` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `calibrated`, `last_decision`, and `action_request` are never read
[INFO] [stdout]   --> src/state.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct State {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub calibrated: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 47 |     pub last_decision: Option<Decision>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub action_request: ActionRequest,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `State` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `transition` are never used
[INFO] [stdout]   --> src/state.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl State {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 52 |     pub fn new(config: Configuration, capabilities: Capabilities) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn transition(&mut self, phase: Phase) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `topology` is never read
[INFO] [stdout]   --> src/types.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Configuration {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub topology: Option<StorageTopology>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Configuration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `model`, `serial`, `reports_write_latency`, and `reports_write_counters` are never read
[INFO] [stdout]   --> src/types.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct DriveCapability {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 45 |     pub id: DriveId,
[INFO] [stdout] 46 |     pub model: Option<String>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 47 |     pub serial: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 48 |     pub reports_temperature: bool,
[INFO] [stdout] 49 |     pub reports_write_latency: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     pub reports_write_counters: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DriveCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/types.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub enum StorageLayout {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 59 |     Direct,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 60 |     MdRaid1,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 61 |     MdRaid10,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 62 |     MdRaid5or6,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 63 |     Lvm,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 64 |     LvmOverRaid,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 65 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StorageLayout` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Logical`, `Physical`, and `Thermal` are never constructed
[INFO] [stdout]   --> src/types.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub enum CanaryRole {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 70 |     Logical,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 71 |     Physical,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     Thermal,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CanaryRole` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `role` are never read
[INFO] [stdout]   --> src/types.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct Canary {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 80 |     pub id: DriveId,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 81 |     pub role: CanaryRole,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Canary` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `destination_path`, `logical_device`, `layout`, and `canaries` are never read
[INFO] [stdout]   --> src/types.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct StorageTopology {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 86 |     pub destination_path: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 87 |     pub logical_device: DriveId,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     pub layout: StorageLayout,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 89 |     pub canaries: Vec<Canary>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StorageTopology` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rsync_velocity_mb_s` is never read
[INFO] [stdout]   --> src/types.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct Observation {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub rsync_velocity_mb_s: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Observation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]    --> src/types.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl SampleLog {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WriteLatency` is never constructed
[INFO] [stdout]    --> src/types.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub enum MissingData {
[INFO] [stdout]     |          ----------- variant in this enum
[INFO] [stdout] 152 |     NvmeTemperature(DriveId),
[INFO] [stdout] 153 |     WriteLatency(DriveId),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MissingData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Ignore`, `Warning`, `Pause`, and `Abort` are never constructed
[INFO] [stdout]    --> src/types.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub enum Severity {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] 160 |     Ignore,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 161 |     Warning,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 162 |     Pause,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 163 |     Abort,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Severity` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Hold`, `Increase`, and `Decrease` are never constructed
[INFO] [stdout]    --> src/types.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub enum ThrottleAction {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 168 |     Hold,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 169 |     Increase(u16),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 170 |     Decrease(u16),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ThrottleAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `severity`, `message`, and `action` are never read
[INFO] [stdout]    --> src/types.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub struct Decision {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 175 |     pub severity: Severity,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 176 |     pub message: Option<String>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 177 |     pub action: ThrottleAction,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Decision` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sample` is never constructed
[INFO] [stdout]    --> src/types.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct Sample {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.52s
[INFO] running `Command { std: "docker" "inspect" "fdcd6dcdb81bcc909600766befe892a027167a823ae2b6ad952280ca7efcc10b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fdcd6dcdb81bcc909600766befe892a027167a823ae2b6ad952280ca7efcc10b", kill_on_drop: false }`
[INFO] [stdout] fdcd6dcdb81bcc909600766befe892a027167a823ae2b6ad952280ca7efcc10b
