[INFO] fetching crate cron_rs 0.1.6... [INFO] checking cron_rs-0.1.6 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] extracting crate cron_rs 0.1.6 into /workspace/builds/worker-6-tc1/source [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] validating manifest of crates.io crate cron_rs 0.1.6 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 50 packages to latest compatible versions [INFO] [stderr] Adding hyper v0.10.16 (available: v1.7.0) [INFO] [stderr] Adding regex v0.2.11 (available: v1.11.2) [INFO] [stderr] Adding serde v0.9.15 (available: v1.0.219) [INFO] [stderr] Adding serde_derive v0.9.15 (available: v1.0.219) [INFO] [stderr] Adding serde_json v0.9.10 (available: v1.0.143) [INFO] [stderr] Adding time v0.1.45 (available: v0.3.41) [INFO] [stderr] Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded traitobject v0.1.1 [INFO] [stderr] Downloaded serde_codegen_internals v0.14.2 [INFO] [stderr] Downloaded serde_derive v0.9.15 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c1b4ea2ed8feb8488f24c46ac052d2d5df21510c2a448a2ed05f274ca97bb7d8 [INFO] running `Command { std: "docker" "start" "-a" "c1b4ea2ed8feb8488f24c46ac052d2d5df21510c2a448a2ed05f274ca97bb7d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c1b4ea2ed8feb8488f24c46ac052d2d5df21510c2a448a2ed05f274ca97bb7d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c1b4ea2ed8feb8488f24c46ac052d2d5df21510c2a448a2ed05f274ca97bb7d8", kill_on_drop: false }` [INFO] [stdout] c1b4ea2ed8feb8488f24c46ac052d2d5df21510c2a448a2ed05f274ca97bb7d8 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 69443c91a1c8d95eabcfa6ac85f79045c5adb38da728eb972fedf4b7b9ab33ed [INFO] running `Command { std: "docker" "start" "-a" "69443c91a1c8d95eabcfa6ac85f79045c5adb38da728eb972fedf4b7b9ab33ed", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Checking tinyvec v1.10.0 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Checking matches v0.1.10 [INFO] [stderr] Checking unicode-bidi v0.3.18 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Compiling unicase v1.4.2 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Checking safemem v0.3.3 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking unicode-normalization v0.1.24 [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 mime v0.2.6 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking aho-corasick v0.6.10 [INFO] [stderr] Checking dtoa v0.4.8 [INFO] [stderr] Checking serde v0.9.15 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking traitobject v0.1.1 [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Checking utf8-ranges v1.0.5 [INFO] [stderr] Checking typeable v0.1.2 [INFO] [stderr] Checking language-tags v0.2.2 [INFO] [stderr] Checking itoa v0.3.4 [INFO] [stderr] Checking time v0.1.45 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Compiling serde_codegen_internals v0.14.2 [INFO] [stderr] Checking hyper v0.10.16 [INFO] [stderr] Compiling serde_derive v0.9.15 [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::()); [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::()); [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::()); [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::()); [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`, and `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 [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::()); [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::()); [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::()); [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::()); [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`, and `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 [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] | ^^^^^^^^----- argument #2 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] For more information about this error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `cron_rs` (lib test) due to 1 previous error; 25 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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>, [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, [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: trait `OutputHandler` is never used [INFO] [stdout] --> src/output_keeper.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait OutputHandler { [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>, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `time_points` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/scheduler.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(intervals: &'a str) -> SchedulerResult { [INFO] [stdout] | ^^ --------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(intervals: &'a str) -> SchedulerResult<'a> { [INFO] [stdout] | ++++ [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, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/cron.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `CronEntry` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CronEntry` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [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: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [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, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/cron.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `CronEntry` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CronEntry` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [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: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/cron.rs:40:25 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn to_scheduler(&self) -> SchedulerResult { [INFO] [stdout] | ^^^^^ --------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 40 | pub fn to_scheduler(&self) -> SchedulerResult<'_> { [INFO] [stdout] | ++++ [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: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/output_keeper.rs:21:22 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new(srv: &'a Server) -> OutputKeeper { [INFO] [stdout] | ^^ ------------ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new(srv: &'a Server) -> OutputKeeper<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "69443c91a1c8d95eabcfa6ac85f79045c5adb38da728eb972fedf4b7b9ab33ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "69443c91a1c8d95eabcfa6ac85f79045c5adb38da728eb972fedf4b7b9ab33ed", kill_on_drop: false }` [INFO] [stdout] 69443c91a1c8d95eabcfa6ac85f79045c5adb38da728eb972fedf4b7b9ab33ed