[INFO] cloning repository https://github.com/gleaming-pheasant/drgreencron
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gleaming-pheasant/drgreencron" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgleaming-pheasant%2Fdrgreencron", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgleaming-pheasant%2Fdrgreencron'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4218cc78833269054f718523fae8e5fa57b534a0
[INFO] checking gleaming-pheasant/drgreencron against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgleaming-pheasant%2Fdrgreencron" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/gleaming-pheasant/drgreencron
[INFO] finished tweaking git repo https://github.com/gleaming-pheasant/drgreencron
[INFO] tweaked toml for git repo https://github.com/gleaming-pheasant/drgreencron written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gleaming-pheasant/drgreencron on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gleaming-pheasant/drgreencron 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tracing-journald v0.3.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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] eb080d1151d83541a122b5e77a594697bcc94c1cae893fe6a670e4cc1fed1e30
[INFO] running `Command { std: "docker" "start" "eb080d1151d83541a122b5e77a594697bcc94c1cae893fe6a670e4cc1fed1e30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eb080d1151d83541a122b5e77a594697bcc94c1cae893fe6a670e4cc1fed1e30", 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" "eb080d1151d83541a122b5e77a594697bcc94c1cae893fe6a670e4cc1fed1e30" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eb080d1151d83541a122b5e77a594697bcc94c1cae893fe6a670e4cc1fed1e30", 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" "eb080d1151d83541a122b5e77a594697bcc94c1cae893fe6a670e4cc1fed1e30" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]     Checking http v1.4.1
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking memchr v2.8.1
[INFO] [stderr]     Checking utf8-zero v0.8.1
[INFO] [stderr]     Checking ring v0.17.14
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking ureq-proto v0.6.0
[INFO] [stderr]     Checking tracing-journald v0.3.2
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking greenlib v0.1.0 (/opt/rustwide/workdir/greenlib)
[INFO] [stdout] warning: method `is_set` is never used
[INFO] [stdout]   --> greenlib/src/schedule/mod.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Day {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn is_set(&self, position: u8) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> greenlib/src/schedule/mod.rs:87:15
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl Month {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  87 |     pub const JAN: Self = Self { bits: 0b0000_0000_0000_0010 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  88 |     pub const FEB: Self = Self { bits: 0b0000_0000_0000_0100 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  89 |     pub const MAR: Self = Self { bits: 0b0000_0000_0000_1000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  90 |     pub const APR: Self = Self { bits: 0b0000_0000_0001_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  91 |     pub const MAY: Self = Self { bits: 0b0000_0000_0010_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  92 |     pub const JUN: Self = Self { bits: 0b0000_0000_0100_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  93 |     pub const JUL: Self = Self { bits: 0b0000_0000_1000_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  94 |     pub const AUG: Self = Self { bits: 0b0000_0001_0000_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  95 |     pub const SEP: Self = Self { bits: 0b0000_0010_0000_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  96 |     pub const OCT: Self = Self { bits: 0b0000_0100_0000_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  97 |     pub const NOV: Self = Self { bits: 0b0000_1000_0000_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  98 |     pub const DEC: Self = Self { bits: 0b0001_0000_0000_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn is_set(&self, position: u8) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> greenlib/src/schedule/mod.rs:160:15
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl DayOfWeek {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 160 |     pub const MON: Self = Self { bits: 0b0000_0010 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 161 |     pub const TUE: Self = Self { bits: 0b0000_0100 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 162 |     pub const WED: Self = Self { bits: 0b0000_1000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 163 |     pub const THU: Self = Self { bits: 0b0001_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 164 |     pub const FRI: Self = Self { bits: 0b0010_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 165 |     pub const SAT: Self = Self { bits: 0b0100_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 166 |     pub const SUN: Self = Self { bits: 0b1000_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn is_set(&self, position: u8) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `day`, `month`, and `day_of_week` are never read
[INFO] [stdout]   --> greenlib/src/schedule/today.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Date {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 10 |     day: u8,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 11 |     month: u8,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 12 |     day_of_week: u8
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking greentab v0.1.0 (/opt/rustwide/workdir/greentab)
[INFO] [stdout] warning: multiple associated constants are never used
[INFO] [stdout]   --> greenlib/src/schedule/mod.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl Month {
[INFO] [stdout]    | ---------- associated constants in this implementation
[INFO] [stdout] 87 |     pub const JAN: Self = Self { bits: 0b0000_0000_0000_0010 };
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 88 |     pub const FEB: Self = Self { bits: 0b0000_0000_0000_0100 };
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 89 |     pub const MAR: Self = Self { bits: 0b0000_0000_0000_1000 };
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 90 |     pub const APR: Self = Self { bits: 0b0000_0000_0001_0000 };
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 91 |     pub const MAY: Self = Self { bits: 0b0000_0000_0010_0000 };
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 92 |     pub const JUN: Self = Self { bits: 0b0000_0000_0100_0000 };
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 93 |     pub const JUL: Self = Self { bits: 0b0000_0000_1000_0000 };
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 94 |     pub const AUG: Self = Self { bits: 0b0000_0001_0000_0000 };
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 95 |     pub const SEP: Self = Self { bits: 0b0000_0010_0000_0000 };
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 96 |     pub const OCT: Self = Self { bits: 0b0000_0100_0000_0000 };
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 97 |     pub const NOV: Self = Self { bits: 0b0000_1000_0000_0000 };
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 98 |     pub const DEC: Self = Self { bits: 0b0001_0000_0000_0000 };
[INFO] [stdout]    |               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated constants are never used
[INFO] [stdout]    --> greenlib/src/schedule/mod.rs:160:15
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl DayOfWeek {
[INFO] [stdout]     | -------------- associated constants in this implementation
[INFO] [stdout] 160 |     pub const MON: Self = Self { bits: 0b0000_0010 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 161 |     pub const TUE: Self = Self { bits: 0b0000_0100 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 162 |     pub const WED: Self = Self { bits: 0b0000_1000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 163 |     pub const THU: Self = Self { bits: 0b0001_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 164 |     pub const FRI: Self = Self { bits: 0b0010_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 165 |     pub const SAT: Self = Self { bits: 0b0100_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 166 |     pub const SUN: Self = Self { bits: 0b1000_0000 };
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `day`, `month`, and `day_of_week` are never read
[INFO] [stdout]   --> greenlib/src/schedule/today.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Date {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 10 |     day: u8,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 11 |     month: u8,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 12 |     day_of_week: u8
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking ureq v3.3.0
[INFO] [stderr]     Checking drgreencrond v0.1.0 (/opt/rustwide/workdir/drgreencrond)
[INFO] [stdout] warning: unused import: `std::ffi::OsString`
[INFO] [stdout]  --> drgreencrond/src/dirs.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ffi::OsString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::OsString`
[INFO] [stdout]  --> drgreencrond/src/dirs.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ffi::OsString;
[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 variable: `entry`
[INFO] [stdout]   --> drgreencrond/src/dirs.rs:78:37
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     entry.ok().map(|entry| {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> drgreencrond/src/dirs.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> drgreencrond/src/timers.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn get_schedule_from_path(name: &str) -> Schedule {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> drgreencrond/src/timers.rs:65:29
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn get_except_from_path(name: &str) -> Except {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dirs`
[INFO] [stdout]   --> drgreencrond/src/main.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let dirs = dirs::Dirs::from_env();
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_dirs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_DIR_VAR_LENGTH` is never used
[INFO] [stdout]   --> drgreencrond/src/dirs.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const MAX_DIR_VAR_LENGTH: usize = 4096;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dirs` is never read
[INFO] [stdout]   --> drgreencrond/src/dirs.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Dirs {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 19 |     dirs: Vec<SearchDir>
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Dirs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `timers` are never read
[INFO] [stdout]   --> drgreencrond/src/dirs.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct SearchDir {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 66 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 67 |     timers: Vec<GreenTimer>
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SearchDir` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `day_of_month`, `month`, and `day_of_week` are never read
[INFO] [stdout]  --> drgreencrond/src/timers.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Schedule {
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 3 |     day_of_month: u32,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 4 |     month: u16,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 5 |     day_of_week: u8
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Schedule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `minute`, `hour`, `day_of_month`, `month`, and `day_of_week` are never read
[INFO] [stdout]   --> drgreencrond/src/timers.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Except {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 11 |     minute: u64,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 12 |     hour: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     day_of_month: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 14 |     month: u16,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 15 |     day_of_week: u8
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Except` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `schedule`, and `except` are never read
[INFO] [stdout]   --> drgreencrond/src/timers.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct GreenTimer {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 21 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     schedule: Schedule,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |     except: Except
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GreenTimer` 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`, `has_collisions`, `get_schedule_from_path`, and `get_except_from_path` are never used
[INFO] [stdout]   --> drgreencrond/src/timers.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl GreenTimer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 27 |     fn new(name: String) -> anyhow::Result<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn has_collisions(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn get_schedule_from_path(name: &str) -> Schedule {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn get_except_from_path(name: &str) -> Except {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]   --> drgreencrond/src/dirs.rs:78:37
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     entry.ok().map(|entry| {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> drgreencrond/src/dirs.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> drgreencrond/src/timers.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn get_schedule_from_path(name: &str) -> Schedule {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> drgreencrond/src/timers.rs:65:29
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn get_except_from_path(name: &str) -> Except {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dirs`
[INFO] [stdout]   --> drgreencrond/src/main.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let dirs = dirs::Dirs::from_env();
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_dirs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_DIR_VAR_LENGTH` is never used
[INFO] [stdout]   --> drgreencrond/src/dirs.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const MAX_DIR_VAR_LENGTH: usize = 4096;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dirs` is never read
[INFO] [stdout]   --> drgreencrond/src/dirs.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Dirs {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 19 |     dirs: Vec<SearchDir>
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Dirs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `timers` are never read
[INFO] [stdout]   --> drgreencrond/src/dirs.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct SearchDir {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 66 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 67 |     timers: Vec<GreenTimer>
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SearchDir` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `day_of_month`, `month`, and `day_of_week` are never read
[INFO] [stdout]  --> drgreencrond/src/timers.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Schedule {
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 3 |     day_of_month: u32,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 4 |     month: u16,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 5 |     day_of_week: u8
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Schedule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `minute`, `hour`, `day_of_month`, `month`, and `day_of_week` are never read
[INFO] [stdout]   --> drgreencrond/src/timers.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Except {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 11 |     minute: u64,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 12 |     hour: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     day_of_month: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 14 |     month: u16,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 15 |     day_of_week: u8
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Except` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `schedule`, and `except` are never read
[INFO] [stdout]   --> drgreencrond/src/timers.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct GreenTimer {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 21 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     schedule: Schedule,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |     except: Except
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GreenTimer` 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`, `has_collisions`, `get_schedule_from_path`, and `get_except_from_path` are never used
[INFO] [stdout]   --> drgreencrond/src/timers.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl GreenTimer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 27 |     fn new(name: String) -> anyhow::Result<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn has_collisions(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn get_schedule_from_path(name: &str) -> Schedule {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn get_except_from_path(name: &str) -> Except {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `nix`
[INFO] [stderr]  --> drgreencrond/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | nix = { version = "0.31", features = ["fs", "poll", "time", "signal"] }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `nix`
[INFO] [stderr] warning: unused dependency `time`
[INFO] [stderr]   --> drgreencrond/Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | time = { version = "0.3", features = ["formatting", "parsing", "serde"] }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `time`
[INFO] [stderr] warning: unused dependency `ureq`
[INFO] [stderr]   --> drgreencrond/Cargo.toml:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | ureq = { version = "3.3", features = ["json"] }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `ureq`
[INFO] [stderr] warning: `drgreencrond` (manifest) generated 3 warnings
[INFO] [stderr] warning: unused dependency `time`
[INFO] [stderr]  --> greenlib/Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | time = "0.3"
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `time`
[INFO] [stderr] warning: `greenlib` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `greenlib`
[INFO] [stderr]  --> greentab/Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | greenlib = { path = "../greenlib" }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `greenlib`
[INFO] [stderr] warning: `greentab` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.31s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.31.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] running `Command { std: "docker" "inspect" "eb080d1151d83541a122b5e77a594697bcc94c1cae893fe6a670e4cc1fed1e30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eb080d1151d83541a122b5e77a594697bcc94c1cae893fe6a670e4cc1fed1e30", kill_on_drop: false }`
[INFO] [stdout] eb080d1151d83541a122b5e77a594697bcc94c1cae893fe6a670e4cc1fed1e30
