[INFO] fetching crate cron_rs 0.1.6...
[INFO] checking cron_rs-0.1.6 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate cron_rs 0.1.6 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate cron_rs 0.1.6 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "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-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_json v0.9.10
[INFO] [stderr]   Downloaded itoa v0.3.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 81f685c98034973d9f52c7c4dc6a8c6430d23f0c24602a64e2ed111f6a110805
[INFO] running `Command { std: "docker" "start" "-a" "81f685c98034973d9f52c7c4dc6a8c6430d23f0c24602a64e2ed111f6a110805", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "81f685c98034973d9f52c7c4dc6a8c6430d23f0c24602a64e2ed111f6a110805", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81f685c98034973d9f52c7c4dc6a8c6430d23f0c24602a64e2ed111f6a110805", kill_on_drop: false }`
[INFO] [stdout] 81f685c98034973d9f52c7c4dc6a8c6430d23f0c24602a64e2ed111f6a110805
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bd768b14453b7f8dcac1eb7e33adcfc7a71a7bc8a634d225b367e68836bc5d24
[INFO] running `Command { std: "docker" "start" "-a" "bd768b14453b7f8dcac1eb7e33adcfc7a71a7bc8a634d225b367e68836bc5d24", kill_on_drop: false }`
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]     Checking ucd-util v0.1.10
[INFO] [stderr]    Compiling unicase v1.4.2
[INFO] [stderr]     Checking safemem v0.3.3
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking regex-syntax v0.5.6
[INFO] [stderr]     Checking base64 v0.9.3
[INFO] [stderr]     Checking mime v0.2.6
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking itoa v0.3.4
[INFO] [stderr]     Checking language-tags v0.2.2
[INFO] [stderr]     Checking aho-corasick v0.6.10
[INFO] [stderr]     Checking typeable v0.1.2
[INFO] [stderr]     Checking serde v0.9.15
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]     Checking utf8-ranges v1.0.5
[INFO] [stderr]    Compiling serde_codegen_internals v0.14.2
[INFO] [stderr]     Checking traitobject v0.1.0
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]    Compiling serde_derive v0.9.15
[INFO] [stderr]     Checking idna v0.1.5
[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: the item `time` is imported redundantly
[INFO] [stdout]  --> src/scheduler.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use time;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate time;
[INFO] [stdout]   | ------------------ the item `time` is already imported here
[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: `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: the item `time` is imported redundantly
[INFO] [stdout]  --> src/task.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use time;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate time;
[INFO] [stdout]   | ------------------ the item `time` is already imported here
[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::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: the item `serde_json` is imported redundantly
[INFO] [stdout]  --> src/cron.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/lib.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | extern crate serde_json;
[INFO] [stdout]   | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `time` is imported redundantly
[INFO] [stdout]  --> src/scheduler.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use time;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate time;
[INFO] [stdout]   | ------------------ the item `time` is already imported here
[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: 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: 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/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: the item `Default` is imported redundantly
[INFO] [stdout]  --> src/job.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::default::Default;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Default` is already defined here
[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: the item `Iterator` is imported redundantly
[INFO] [stdout]  --> src/job.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::iter::Iterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Iterator` is already defined here
[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: the item `libc` is imported redundantly
[INFO] [stdout]  --> src/job.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use libc;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | extern crate libc;
[INFO] [stdout]   | ------------------ the item `libc` is already imported here
[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/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: the item `time` is imported redundantly
[INFO] [stdout]  --> src/output_chunk.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use time;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate time;
[INFO] [stdout]   | ------------------ the item `time` is already imported here
[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: the item `time` is imported redundantly
[INFO] [stdout]  --> src/task.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use time;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate time;
[INFO] [stdout]   | ------------------ the item `time` is already imported here
[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: the item `serde_json` is imported redundantly
[INFO] [stdout]  --> src/cron.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/lib.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | extern crate serde_json;
[INFO] [stdout]   | ------------------------ the item `serde_json` is already imported here
[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: the item `Default` is imported redundantly
[INFO] [stdout]  --> src/job.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::default::Default;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Default` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Iterator` is imported redundantly
[INFO] [stdout]  --> src/job.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::iter::Iterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Iterator` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libc` is imported redundantly
[INFO] [stdout]  --> src/job.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use libc;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | extern crate libc;
[INFO] [stdout]   | ------------------ the item `libc` is already imported here
[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: the item `time` is imported redundantly
[INFO] [stdout]  --> src/output_chunk.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use time;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate time;
[INFO] [stdout]   | ------------------ the item `time` is already imported here
[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: 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::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] 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] 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: 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 `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: 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: 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: 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] error: aborting due to 1 previous error; 32 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] warning: 65 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cron_rs` (lib test) due to 2 previous errors; 32 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "bd768b14453b7f8dcac1eb7e33adcfc7a71a7bc8a634d225b367e68836bc5d24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd768b14453b7f8dcac1eb7e33adcfc7a71a7bc8a634d225b367e68836bc5d24", kill_on_drop: false }`
[INFO] [stdout] bd768b14453b7f8dcac1eb7e33adcfc7a71a7bc8a634d225b367e68836bc5d24
