[INFO] fetching crate cron_rs 0.1.6...
[INFO] checking cron_rs-0.1.6 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate cron_rs 0.1.6 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate cron_rs 0.1.6 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cron_rs 0.1.6
[INFO] finished tweaking crates.io crate cron_rs 0.1.6
[INFO] tweaked toml for crates.io crate cron_rs 0.1.6 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 51 packages to latest compatible versions
[INFO] [stderr]       Adding aho-corasick v0.6.10 (latest: v1.1.3)
[INFO] [stderr]       Adding base64 v0.9.3 (latest: v0.22.1)
[INFO] [stderr]       Adding dtoa v0.4.8 (latest: v1.0.9)
[INFO] [stderr]       Adding hyper v0.10.16 (latest: v1.3.1)
[INFO] [stderr]       Adding idna v0.1.5 (latest: v0.5.0)
[INFO] [stderr]       Adding itoa v0.3.4 (latest: v1.0.11)
[INFO] [stderr]       Adding language-tags v0.2.2 (latest: v0.3.2)
[INFO] [stderr]       Adding log v0.3.9 (latest: v0.4.21)
[INFO] [stderr]       Adding mime v0.2.6 (latest: v0.3.17)
[INFO] [stderr]       Adding num-traits v0.1.43 (latest: v0.2.18)
[INFO] [stderr]       Adding percent-encoding v1.0.1 (latest: v2.3.1)
[INFO] [stderr]       Adding quote v0.3.15 (latest: v1.0.36)
[INFO] [stderr]       Adding regex v0.2.11 (latest: v1.10.4)
[INFO] [stderr]       Adding regex-syntax v0.5.6 (latest: v0.8.3)
[INFO] [stderr]       Adding serde v0.9.15 (latest: v1.0.200)
[INFO] [stderr]       Adding serde_derive v0.9.15 (latest: v1.0.200)
[INFO] [stderr]       Adding serde_json v0.9.10 (latest: v1.0.116)
[INFO] [stderr]       Adding syn v0.11.11 (latest: v2.0.60)
[INFO] [stderr]       Adding thread_local v0.3.6 (latest: v1.1.8)
[INFO] [stderr]       Adding time v0.1.45 (latest: v0.3.36)
[INFO] [stderr]       Adding ucd-util v0.1.10 (latest: v0.2.1)
[INFO] [stderr]       Adding unicase v1.4.2 (latest: v2.7.0)
[INFO] [stderr]       Adding unicode-xid v0.0.4 (latest: v0.2.4)
[INFO] [stderr]       Adding url v1.7.2 (latest: v2.5.0)
[INFO] [stderr]       Adding version_check v0.1.5 (latest: v0.9.4)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (latest: v0.13.0+wasi-0.2.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_derive v0.9.15
[INFO] [stderr]   Downloaded serde v0.9.15
[INFO] [stderr]   Downloaded serde_codegen_internals v0.14.2
[INFO] [stderr]   Downloaded itoa v0.3.4
[INFO] [stderr]   Downloaded ucd-util v0.1.10
[INFO] [stderr]   Downloaded utf8-ranges v1.0.5
[INFO] [stderr]   Downloaded serde_json v0.9.10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 28863042172fe6cd35b25040a2fcf00d5501b3b28f916819baa32b589a9bc9d5
[INFO] running `Command { std: "docker" "start" "-a" "28863042172fe6cd35b25040a2fcf00d5501b3b28f916819baa32b589a9bc9d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "28863042172fe6cd35b25040a2fcf00d5501b3b28f916819baa32b589a9bc9d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "28863042172fe6cd35b25040a2fcf00d5501b3b28f916819baa32b589a9bc9d5", kill_on_drop: false }`
[INFO] [stdout] 28863042172fe6cd35b25040a2fcf00d5501b3b28f916819baa32b589a9bc9d5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7261acfbfe6e470e186334bc541a21edb09ad46c5169d4f26d58b95a5dff557f
[INFO] running `Command { std: "docker" "start" "-a" "7261acfbfe6e470e186334bc541a21edb09ad46c5169d4f26d58b95a5dff557f", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling autocfg v1.2.0
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]    Compiling unicase v1.4.2
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking safemem v0.3.3
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking ucd-util v0.1.10
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking base64 v0.9.3
[INFO] [stderr]     Checking aho-corasick v0.6.10
[INFO] [stderr]     Checking regex-syntax v0.5.6
[INFO] [stderr]     Checking mime v0.2.6
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking utf8-ranges v1.0.5
[INFO] [stderr]     Checking itoa v0.3.4
[INFO] [stderr]     Checking serde v0.9.15
[INFO] [stderr]     Checking typeable v0.1.2
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking language-tags v0.2.2
[INFO] [stderr]    Compiling serde_codegen_internals v0.14.2
[INFO] [stderr]     Checking traitobject v0.1.0
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]    Compiling serde_derive v0.9.15
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]     Checking hyper v0.10.16
[INFO] [stderr]     Checking serde_json v0.9.10
[INFO] [stderr]     Checking cron_rs v0.1.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/scheduler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/scheduler.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 try!(sch.parse_time_fields().map_err(|e| ErrCronFormat(e.to_string())));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:78:47
[INFO] [stdout]    |
[INFO] [stdout] 78 |             self.timePoints.insert("seconds", try!(parse_intervals_field(self.seconds, 0, 59)));
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:83:43
[INFO] [stdout]    |
[INFO] [stdout] 83 |         self.timePoints.insert("minutes", try!(parse_intervals_field(self.minutes, 0, 59)));
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:84:41
[INFO] [stdout]    |
[INFO] [stdout] 84 |         self.timePoints.insert("hours", try!(parse_intervals_field(self.hours, 0, 23)));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:85:40
[INFO] [stdout]    |
[INFO] [stdout] 85 |         self.timePoints.insert("days", try!(parse_intervals_field(self.days, 1, 31)));
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:86:42
[INFO] [stdout]    |
[INFO] [stdout] 86 |         self.timePoints.insert("months", try!(parse_intervals_field(self.months, 1, 12)));
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:87:44
[INFO] [stdout]    |
[INFO] [stdout] 87 |         self.timePoints.insert("weekdays", try!(parse_intervals_field(self.weekdays, 0, 6)));
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:131:24
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 _min = try!(y[0].parse::<u32>());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:135:20
[INFO] [stdout]     |
[INFO] [stdout] 135 |             _min = try!(y[0].parse::<u32>());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:136:20
[INFO] [stdout]     |
[INFO] [stdout] 136 |             _max = try!(y[1].parse::<u32>());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:139:20
[INFO] [stdout]     |
[INFO] [stdout] 139 |             step = try!(x[1].parse::<u32>());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/task.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::Error`
[INFO] [stdout]  --> src/task.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]  --> src/job.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `self`
[INFO] [stdout]  --> src/job.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::mpsc::{self, Sender, Receiver};
[INFO] [stdout]   |                       ^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/job.rs:45:27
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut process = try!(self.command
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Weak`
[INFO] [stdout]  --> src/task_master.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Weak;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/output_keeper.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn push(&self, Message) -> Result<(), Self::Err>;
[INFO] [stdout]    |                    ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Message`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/scheduler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/scheduler.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 try!(sch.parse_time_fields().map_err(|e| ErrCronFormat(e.to_string())));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:78:47
[INFO] [stdout]    |
[INFO] [stdout] 78 |             self.timePoints.insert("seconds", try!(parse_intervals_field(self.seconds, 0, 59)));
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:83:43
[INFO] [stdout]    |
[INFO] [stdout] 83 |         self.timePoints.insert("minutes", try!(parse_intervals_field(self.minutes, 0, 59)));
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:84:41
[INFO] [stdout]    |
[INFO] [stdout] 84 |         self.timePoints.insert("hours", try!(parse_intervals_field(self.hours, 0, 23)));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:85:40
[INFO] [stdout]    |
[INFO] [stdout] 85 |         self.timePoints.insert("days", try!(parse_intervals_field(self.days, 1, 31)));
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:86:42
[INFO] [stdout]    |
[INFO] [stdout] 86 |         self.timePoints.insert("months", try!(parse_intervals_field(self.months, 1, 12)));
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:87:44
[INFO] [stdout]    |
[INFO] [stdout] 87 |         self.timePoints.insert("weekdays", try!(parse_intervals_field(self.weekdays, 0, 6)));
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:131:24
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 _min = try!(y[0].parse::<u32>());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:135:20
[INFO] [stdout]     |
[INFO] [stdout] 135 |             _min = try!(y[0].parse::<u32>());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:136:20
[INFO] [stdout]     |
[INFO] [stdout] 136 |             _max = try!(y[1].parse::<u32>());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:139:20
[INFO] [stdout]     |
[INFO] [stdout] 139 |             step = try!(x[1].parse::<u32>());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/task.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::Error`
[INFO] [stdout]  --> src/task.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]  --> src/job.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `self`
[INFO] [stdout]  --> src/job.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::mpsc::{self, Sender, Receiver};
[INFO] [stdout]   |                       ^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/job.rs:45:27
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut process = try!(self.command
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Weak`
[INFO] [stdout]  --> src/task_master.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Weak;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/output_keeper.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn push(&self, Message) -> Result<(), Self::Err>;
[INFO] [stdout]    |                    ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Message`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/job.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let mut job = Job::new(cmd);
[INFO] [stdout]     |                   ^^^^^^^^----- an argument of type `&OutputKeeper<'_>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/job.rs:27:12
[INFO] [stdout]     |
[INFO] [stdout] 27  |     pub fn new(cmd: Command, keeper: &'b OutputKeeper) -> Job<'a, 'b> {
[INFO] [stdout]     |            ^^^ ------------  ------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let mut job = Job::new(cmd, /* &OutputKeeper<'_> */);
[INFO] [stdout]     |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/scheduler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Iterator`
[INFO] [stdout]  --> src/job.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::iter::Iterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/job.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/scheduler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Iterator`
[INFO] [stdout]  --> src/job.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::iter::Iterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/job.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/job.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 if let Ok(mut x) = chunk {
[INFO] [stdout]    |                           ----^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> src/output_keeper.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn push(&self, msg: Message) -> Result<(), Error> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/job.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 if let Ok(mut x) = chunk {
[INFO] [stdout]    |                           ----^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cron_rs` (lib test) due to 2 previous errors; 25 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> src/output_keeper.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn push(&self, msg: Message) -> Result<(), Error> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `re` is never read
[INFO] [stdout]   --> src/scheduler.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Scheduler<'a> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     re: Regex,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Scheduler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `job` is never read
[INFO] [stdout]   --> src/task.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Task<'a, 'b: 'a> {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     job: Option<Job<'a, 'b>>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pid` is never read
[INFO] [stdout]   --> src/job.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Job<'a, 'b: 'a> {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pid: Option<u32>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TaskMaster` is never constructed
[INFO] [stdout]  --> src/task_master.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct TaskMaster<'a, 'b: 'a> {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push` is never used
[INFO] [stdout]   --> src/output_keeper.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub trait OutputHandler {
[INFO] [stdout]    |           ------------- method in this trait
[INFO] [stdout] 9  |     type Err;
[INFO] [stdout] 10 |     fn push(&self, Message) -> Result<(), Self::Err>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server` is never read
[INFO] [stdout]   --> src/output_keeper.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct OutputKeeper<'a> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 14 |     server: &'a Server,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timeFiledsLength` should have a snake case name
[INFO] [stdout]   --> src/scheduler.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     timeFiledsLength: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `time_fileds_length`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timePoints` should have a snake case name
[INFO] [stdout]   --> src/scheduler.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     timePoints: HashMap<&'a str, HashSet<u32>>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `time_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `reRes` should have a snake case name
[INFO] [stdout]   --> src/scheduler.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let reRes = Regex::new(r"^\s*((\*(/\d+)?)|[0-9-,/]+)(\s+((\*(/\d+)?)|[0-9-,/]+)){4,5}\s*$");
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case: `re_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `timeFileds` should have a snake case name
[INFO] [stdout]   --> src/scheduler.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let timeFileds: Vec<&str> = intervals.split_whitespace().collect();
[INFO] [stdout]    |                     ^^^^^^^^^^ help: convert the identifier to snake case: `time_fileds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `timeFiledsLength` should have a snake case name
[INFO] [stdout]   --> src/scheduler.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 let timeFiledsLength = timeFileds.len();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `time_fileds_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `startIndex` should have a snake case name
[INFO] [stdout]   --> src/scheduler.rs:50:25
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 let mut startIndex: usize = 0;
[INFO] [stdout]    |                         ^^^^^^^^^^ help: convert the identifier to snake case: `start_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/scheduler.rs:53:40
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     sec = timeFileds[0].clone();
[INFO] [stdout]    |                                        ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `isSecond` should have a snake case name
[INFO] [stdout]    --> src/scheduler.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let isSecond = self.timePoints.get("seconds").unwrap().contains(&second);
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `is_second`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `isLeft` should have a snake case name
[INFO] [stdout]    --> src/scheduler.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let isLeft = self.timePoints.get("minutes").unwrap().contains(&minute) &&
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `is_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `xLen` should have a snake case name
[INFO] [stdout]    --> src/scheduler.rs:127:14
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let (xLen, yLen) = (x.len(), y.len());
[INFO] [stdout]     |              ^^^^ help: convert the identifier to snake case: `x_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `yLen` should have a snake case name
[INFO] [stdout]    --> src/scheduler.rs:127:20
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let (xLen, yLen) = (x.len(), y.len());
[INFO] [stdout]     |                    ^^^^ help: convert the identifier to snake case: `y_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/task.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 job.start();
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 let _ = job.start();
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `cronId` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub cronId: u32,
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `cron_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `treeId` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub treeId: u64,
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `tree_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `treePath` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub treePath: String,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `tree_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `testRun` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub testRun: bool,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `test_run`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timeoutSeconds` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub timeoutSeconds: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `timeout_seconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `alarmEmail` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub alarmEmail: bool,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `alarm_email`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `alarmSms` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub alarmSms: bool,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `alarm_sms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `alarmUsers` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub alarmUsers: String,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `alarm_users`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/cron.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_CronEntry`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/cron.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_CronEntry`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isStarted` should have a snake case name
[INFO] [stdout]   --> src/job.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     isStarted: bool,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `is_started`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `jobId` should have a snake case name
[INFO] [stdout]   --> src/job.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let jobId = self.id;
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case: `job_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `outputIter` should have a snake case name
[INFO] [stdout]   --> src/job.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let outputIter = OutputChunkIterator::new(breader);
[INFO] [stdout]    |                 ^^^^^^^^^^ help: convert the identifier to snake case: `output_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/job.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 | /                     output.send(Message {
[INFO] [stdout] 72 | |                         jobId: jobId,
[INFO] [stdout] 73 | |                         kind: "unknown".to_string(),
[INFO] [stdout] 74 | |                         startUnixTimeNs: 0,
[INFO] [stdout] 75 | |                         endUnixTimeNs: 0,
[INFO] [stdout] 76 | |                         body: x.clone(),
[INFO] [stdout] 77 | |                     });
[INFO] [stdout]    | |______________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 71 |                     let _ = output.send(Message {
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `jobId` should have a snake case name
[INFO] [stdout]   --> src/output_chunk.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub jobId: u64,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case: `job_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startUnixTimeNs` should have a snake case name
[INFO] [stdout]   --> src/output_chunk.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub startUnixTimeNs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `start_unix_time_ns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endUnixTimeNs` should have a snake case name
[INFO] [stdout]   --> src/output_chunk.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub endUnixTimeNs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `end_unix_time_ns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 60 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7261acfbfe6e470e186334bc541a21edb09ad46c5169d4f26d58b95a5dff557f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7261acfbfe6e470e186334bc541a21edb09ad46c5169d4f26d58b95a5dff557f", kill_on_drop: false }`
[INFO] [stdout] 7261acfbfe6e470e186334bc541a21edb09ad46c5169d4f26d58b95a5dff557f
[INFO] checking cron_rs-0.1.6 against try#9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88 for pr-124157
[INFO] extracting crate cron_rs 0.1.6 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate cron_rs 0.1.6 on toolchain 9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cron_rs 0.1.6
[INFO] finished tweaking crates.io crate cron_rs 0.1.6
[INFO] tweaked toml for crates.io crate cron_rs 0.1.6 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 51 packages to latest compatible versions
[INFO] [stderr]       Adding aho-corasick v0.6.10 (latest: v1.1.3)
[INFO] [stderr]       Adding base64 v0.9.3 (latest: v0.22.1)
[INFO] [stderr]       Adding dtoa v0.4.8 (latest: v1.0.9)
[INFO] [stderr]       Adding hyper v0.10.16 (latest: v1.3.1)
[INFO] [stderr]       Adding idna v0.1.5 (latest: v0.5.0)
[INFO] [stderr]       Adding itoa v0.3.4 (latest: v1.0.11)
[INFO] [stderr]       Adding language-tags v0.2.2 (latest: v0.3.2)
[INFO] [stderr]       Adding log v0.3.9 (latest: v0.4.21)
[INFO] [stderr]       Adding mime v0.2.6 (latest: v0.3.17)
[INFO] [stderr]       Adding num-traits v0.1.43 (latest: v0.2.18)
[INFO] [stderr]       Adding percent-encoding v1.0.1 (latest: v2.3.1)
[INFO] [stderr]       Adding quote v0.3.15 (latest: v1.0.36)
[INFO] [stderr]       Adding regex v0.2.11 (latest: v1.10.4)
[INFO] [stderr]       Adding regex-syntax v0.5.6 (latest: v0.8.3)
[INFO] [stderr]       Adding serde v0.9.15 (latest: v1.0.200)
[INFO] [stderr]       Adding serde_derive v0.9.15 (latest: v1.0.200)
[INFO] [stderr]       Adding serde_json v0.9.10 (latest: v1.0.116)
[INFO] [stderr]       Adding syn v0.11.11 (latest: v2.0.60)
[INFO] [stderr]       Adding thread_local v0.3.6 (latest: v1.1.8)
[INFO] [stderr]       Adding time v0.1.45 (latest: v0.3.36)
[INFO] [stderr]       Adding ucd-util v0.1.10 (latest: v0.2.1)
[INFO] [stderr]       Adding unicase v1.4.2 (latest: v2.7.0)
[INFO] [stderr]       Adding unicode-xid v0.0.4 (latest: v0.2.4)
[INFO] [stderr]       Adding url v1.7.2 (latest: v2.5.0)
[INFO] [stderr]       Adding version_check v0.1.5 (latest: v0.9.4)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (latest: v0.13.0+wasi-0.2.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8d780ab9fb6f109f3791c8458ad7af995ddb8e8cc843a8fd410d404163da5a11
[INFO] running `Command { std: "docker" "start" "-a" "8d780ab9fb6f109f3791c8458ad7af995ddb8e8cc843a8fd410d404163da5a11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8d780ab9fb6f109f3791c8458ad7af995ddb8e8cc843a8fd410d404163da5a11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8d780ab9fb6f109f3791c8458ad7af995ddb8e8cc843a8fd410d404163da5a11", kill_on_drop: false }`
[INFO] [stdout] 8d780ab9fb6f109f3791c8458ad7af995ddb8e8cc843a8fd410d404163da5a11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 93acca172fb01354461f51b33336dcbb3be93cc1d71c14456ec71f931af2d7de
[INFO] running `Command { std: "docker" "start" "-a" "93acca172fb01354461f51b33336dcbb3be93cc1d71c14456ec71f931af2d7de", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.2.0
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]    Compiling unicase v1.4.2
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking safemem v0.3.3
[INFO] [stderr]     Checking ucd-util v0.1.10
[INFO] [stderr]     Checking base64 v0.9.3
[INFO] [stderr]     Checking regex-syntax v0.5.6
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking mime v0.2.6
[INFO] [stderr]     Checking utf8-ranges v1.0.5
[INFO] [stderr]     Checking aho-corasick v0.6.10
[INFO] [stderr]     Checking itoa v0.3.4
[INFO] [stderr]     Checking language-tags v0.2.2
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking serde v0.9.15
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]     Checking typeable v0.1.2
[INFO] [stderr]     Checking traitobject v0.1.0
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]    Compiling serde_codegen_internals v0.14.2
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]    Compiling serde_derive v0.9.15
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking hyper v0.10.16
[INFO] [stderr]     Checking serde_json v0.9.10
[INFO] [stderr]     Checking cron_rs v0.1.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/scheduler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/scheduler.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 try!(sch.parse_time_fields().map_err(|e| ErrCronFormat(e.to_string())));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:78:47
[INFO] [stdout]    |
[INFO] [stdout] 78 |             self.timePoints.insert("seconds", try!(parse_intervals_field(self.seconds, 0, 59)));
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:83:43
[INFO] [stdout]    |
[INFO] [stdout] 83 |         self.timePoints.insert("minutes", try!(parse_intervals_field(self.minutes, 0, 59)));
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:84:41
[INFO] [stdout]    |
[INFO] [stdout] 84 |         self.timePoints.insert("hours", try!(parse_intervals_field(self.hours, 0, 23)));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:85:40
[INFO] [stdout]    |
[INFO] [stdout] 85 |         self.timePoints.insert("days", try!(parse_intervals_field(self.days, 1, 31)));
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:86:42
[INFO] [stdout]    |
[INFO] [stdout] 86 |         self.timePoints.insert("months", try!(parse_intervals_field(self.months, 1, 12)));
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:87:44
[INFO] [stdout]    |
[INFO] [stdout] 87 |         self.timePoints.insert("weekdays", try!(parse_intervals_field(self.weekdays, 0, 6)));
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:131:24
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 _min = try!(y[0].parse::<u32>());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:135:20
[INFO] [stdout]     |
[INFO] [stdout] 135 |             _min = try!(y[0].parse::<u32>());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:136:20
[INFO] [stdout]     |
[INFO] [stdout] 136 |             _max = try!(y[1].parse::<u32>());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:139:20
[INFO] [stdout]     |
[INFO] [stdout] 139 |             step = try!(x[1].parse::<u32>());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/task.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::Error`
[INFO] [stdout]  --> src/task.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]  --> src/job.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `self`
[INFO] [stdout]  --> src/job.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::mpsc::{self, Sender, Receiver};
[INFO] [stdout]   |                       ^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/job.rs:45:27
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut process = try!(self.command
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Weak`
[INFO] [stdout]  --> src/task_master.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Weak;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/output_keeper.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn push(&self, Message) -> Result<(), Self::Err>;
[INFO] [stdout]    |                    ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Message`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/scheduler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/scheduler.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 try!(sch.parse_time_fields().map_err(|e| ErrCronFormat(e.to_string())));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:78:47
[INFO] [stdout]    |
[INFO] [stdout] 78 |             self.timePoints.insert("seconds", try!(parse_intervals_field(self.seconds, 0, 59)));
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:83:43
[INFO] [stdout]    |
[INFO] [stdout] 83 |         self.timePoints.insert("minutes", try!(parse_intervals_field(self.minutes, 0, 59)));
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:84:41
[INFO] [stdout]    |
[INFO] [stdout] 84 |         self.timePoints.insert("hours", try!(parse_intervals_field(self.hours, 0, 23)));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:85:40
[INFO] [stdout]    |
[INFO] [stdout] 85 |         self.timePoints.insert("days", try!(parse_intervals_field(self.days, 1, 31)));
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:86:42
[INFO] [stdout]    |
[INFO] [stdout] 86 |         self.timePoints.insert("months", try!(parse_intervals_field(self.months, 1, 12)));
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/scheduler.rs:87:44
[INFO] [stdout]    |
[INFO] [stdout] 87 |         self.timePoints.insert("weekdays", try!(parse_intervals_field(self.weekdays, 0, 6)));
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:131:24
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 _min = try!(y[0].parse::<u32>());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:135:20
[INFO] [stdout]     |
[INFO] [stdout] 135 |             _min = try!(y[0].parse::<u32>());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:136:20
[INFO] [stdout]     |
[INFO] [stdout] 136 |             _max = try!(y[1].parse::<u32>());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/scheduler.rs:139:20
[INFO] [stdout]     |
[INFO] [stdout] 139 |             step = try!(x[1].parse::<u32>());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/task.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::Error`
[INFO] [stdout]  --> src/task.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]  --> src/job.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `self`
[INFO] [stdout]  --> src/job.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::mpsc::{self, Sender, Receiver};
[INFO] [stdout]   |                       ^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/job.rs:45:27
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut process = try!(self.command
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Weak`
[INFO] [stdout]  --> src/task_master.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Weak;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/output_keeper.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn push(&self, Message) -> Result<(), Self::Err>;
[INFO] [stdout]    |                    ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Message`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/job.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let mut job = Job::new(cmd);
[INFO] [stdout]     |                   ^^^^^^^^----- an argument of type `&OutputKeeper<'_>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/job.rs:27:12
[INFO] [stdout]     |
[INFO] [stdout] 27  |     pub fn new(cmd: Command, keeper: &'b OutputKeeper) -> Job<'a, 'b> {
[INFO] [stdout]     |            ^^^ ------------  ------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let mut job = Job::new(cmd, /* &OutputKeeper<'_> */);
[INFO] [stdout]     |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/scheduler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Iterator`
[INFO] [stdout]  --> src/job.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::iter::Iterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/job.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/job.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 if let Ok(mut x) = chunk {
[INFO] [stdout]    |                           ----^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> src/output_keeper.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn push(&self, msg: Message) -> Result<(), Error> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cron_rs` (lib test) due to 2 previous errors; 25 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/scheduler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Iterator`
[INFO] [stdout]  --> src/job.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::iter::Iterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/job.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/job.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 if let Ok(mut x) = chunk {
[INFO] [stdout]    |                           ----^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> src/output_keeper.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn push(&self, msg: Message) -> Result<(), Error> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `re` is never read
[INFO] [stdout]   --> src/scheduler.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Scheduler<'a> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     re: Regex,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Scheduler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `job` is never read
[INFO] [stdout]   --> src/task.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Task<'a, 'b: 'a> {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     job: Option<Job<'a, 'b>>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pid` is never read
[INFO] [stdout]   --> src/job.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Job<'a, 'b: 'a> {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pid: Option<u32>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TaskMaster` is never constructed
[INFO] [stdout]  --> src/task_master.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct TaskMaster<'a, 'b: 'a> {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push` is never used
[INFO] [stdout]   --> src/output_keeper.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub trait OutputHandler {
[INFO] [stdout]    |           ------------- method in this trait
[INFO] [stdout] 9  |     type Err;
[INFO] [stdout] 10 |     fn push(&self, Message) -> Result<(), Self::Err>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server` is never read
[INFO] [stdout]   --> src/output_keeper.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct OutputKeeper<'a> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 14 |     server: &'a Server,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timeFiledsLength` should have a snake case name
[INFO] [stdout]   --> src/scheduler.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     timeFiledsLength: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `time_fileds_length`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timePoints` should have a snake case name
[INFO] [stdout]   --> src/scheduler.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     timePoints: HashMap<&'a str, HashSet<u32>>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `time_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `reRes` should have a snake case name
[INFO] [stdout]   --> src/scheduler.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let reRes = Regex::new(r"^\s*((\*(/\d+)?)|[0-9-,/]+)(\s+((\*(/\d+)?)|[0-9-,/]+)){4,5}\s*$");
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case: `re_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `timeFileds` should have a snake case name
[INFO] [stdout]   --> src/scheduler.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let timeFileds: Vec<&str> = intervals.split_whitespace().collect();
[INFO] [stdout]    |                     ^^^^^^^^^^ help: convert the identifier to snake case: `time_fileds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `timeFiledsLength` should have a snake case name
[INFO] [stdout]   --> src/scheduler.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 let timeFiledsLength = timeFileds.len();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `time_fileds_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `startIndex` should have a snake case name
[INFO] [stdout]   --> src/scheduler.rs:50:25
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 let mut startIndex: usize = 0;
[INFO] [stdout]    |                         ^^^^^^^^^^ help: convert the identifier to snake case: `start_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/scheduler.rs:53:40
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     sec = timeFileds[0].clone();
[INFO] [stdout]    |                                        ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `isSecond` should have a snake case name
[INFO] [stdout]    --> src/scheduler.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let isSecond = self.timePoints.get("seconds").unwrap().contains(&second);
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `is_second`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `isLeft` should have a snake case name
[INFO] [stdout]    --> src/scheduler.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let isLeft = self.timePoints.get("minutes").unwrap().contains(&minute) &&
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `is_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `xLen` should have a snake case name
[INFO] [stdout]    --> src/scheduler.rs:127:14
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let (xLen, yLen) = (x.len(), y.len());
[INFO] [stdout]     |              ^^^^ help: convert the identifier to snake case: `x_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `yLen` should have a snake case name
[INFO] [stdout]    --> src/scheduler.rs:127:20
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let (xLen, yLen) = (x.len(), y.len());
[INFO] [stdout]     |                    ^^^^ help: convert the identifier to snake case: `y_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/task.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 job.start();
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 let _ = job.start();
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `cronId` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub cronId: u32,
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `cron_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `treeId` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub treeId: u64,
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `tree_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `treePath` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub treePath: String,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `tree_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `testRun` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub testRun: bool,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `test_run`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timeoutSeconds` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub timeoutSeconds: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `timeout_seconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `alarmEmail` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub alarmEmail: bool,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `alarm_email`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `alarmSms` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub alarmSms: bool,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `alarm_sms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `alarmUsers` should have a snake case name
[INFO] [stdout]   --> src/cron.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub alarmUsers: String,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `alarm_users`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/cron.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_CronEntry`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/cron.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_CronEntry`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isStarted` should have a snake case name
[INFO] [stdout]   --> src/job.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     isStarted: bool,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `is_started`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `jobId` should have a snake case name
[INFO] [stdout]   --> src/job.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let jobId = self.id;
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case: `job_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `outputIter` should have a snake case name
[INFO] [stdout]   --> src/job.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let outputIter = OutputChunkIterator::new(breader);
[INFO] [stdout]    |                 ^^^^^^^^^^ help: convert the identifier to snake case: `output_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/job.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 | /                     output.send(Message {
[INFO] [stdout] 72 | |                         jobId: jobId,
[INFO] [stdout] 73 | |                         kind: "unknown".to_string(),
[INFO] [stdout] 74 | |                         startUnixTimeNs: 0,
[INFO] [stdout] 75 | |                         endUnixTimeNs: 0,
[INFO] [stdout] 76 | |                         body: x.clone(),
[INFO] [stdout] 77 | |                     });
[INFO] [stdout]    | |______________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 71 |                     let _ = output.send(Message {
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `jobId` should have a snake case name
[INFO] [stdout]   --> src/output_chunk.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub jobId: u64,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case: `job_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startUnixTimeNs` should have a snake case name
[INFO] [stdout]   --> src/output_chunk.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub startUnixTimeNs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `start_unix_time_ns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endUnixTimeNs` should have a snake case name
[INFO] [stdout]   --> src/output_chunk.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub endUnixTimeNs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `end_unix_time_ns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 60 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "93acca172fb01354461f51b33336dcbb3be93cc1d71c14456ec71f931af2d7de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "93acca172fb01354461f51b33336dcbb3be93cc1d71c14456ec71f931af2d7de", kill_on_drop: false }`
[INFO] [stdout] 93acca172fb01354461f51b33336dcbb3be93cc1d71c14456ec71f931af2d7de
