[INFO] cloning repository https://github.com/CHildebrandt/aoc-2025 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CHildebrandt/aoc-2025" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCHildebrandt%2Faoc-2025", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCHildebrandt%2Faoc-2025'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f84dbe8e90773d484e6dedaca22240222b811ffe [INFO] linting CHildebrandt/aoc-2025 against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCHildebrandt%2Faoc-2025" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/CHildebrandt/aoc-2025 [INFO] finished tweaking git repo https://github.com/CHildebrandt/aoc-2025 [INFO] tweaked toml for git repo https://github.com/CHildebrandt/aoc-2025 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/CHildebrandt/aoc-2025 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/CHildebrandt/aoc-2025 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded microlp v0.2.11 [INFO] [stderr] Downloaded deprecate-until v0.1.1 [INFO] [stderr] Downloaded ndarray v0.17.1 [INFO] [stderr] Downloaded sprs v0.11.4 [INFO] [stderr] Downloaded pathfinding v4.14.0 [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 413a10e5336a0e9f4eab7d6590ff470fb395dbea6903bd0cade7ae5cbaeaea4c [INFO] running `Command { std: "docker" "start" "-a" "413a10e5336a0e9f4eab7d6590ff470fb395dbea6903bd0cade7ae5cbaeaea4c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "413a10e5336a0e9f4eab7d6590ff470fb395dbea6903bd0cade7ae5cbaeaea4c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "413a10e5336a0e9f4eab7d6590ff470fb395dbea6903bd0cade7ae5cbaeaea4c", kill_on_drop: false }` [INFO] [stdout] 413a10e5336a0e9f4eab7d6590ff470fb395dbea6903bd0cade7ae5cbaeaea4c [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4d3577026a5498e8cdb197da3db65e731df652de1af21e52164af84984248afe [INFO] running `Command { std: "docker" "start" "-a" "4d3577026a5498e8cdb197da3db65e731df652de1af21e52164af84984248afe", kill_on_drop: false }` [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking itertools v0.14.0 [INFO] [stderr] Checking aoc-2025 v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking integer-sqrt v0.1.5 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking ndarray v0.17.1 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling deprecate-until v0.1.1 [INFO] [stderr] Checking thiserror v2.0.17 [INFO] [stderr] Checking pathfinding v4.14.0 [INFO] [stderr] Checking utils v0.1.0 (/opt/rustwide/workdir/crates/utils) [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> crates/utils/src/grid.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | / (y == 0 && x == 0) [INFO] [stdout] 172 | | || (y == 0 && x == self.width - 1) [INFO] [stdout] 173 | | || (y == self.height - 1 && x == 0) [INFO] [stdout] 174 | | || (y == self.height - 1 && x == self.width - 1) [INFO] [stdout] | |____________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 171 - (y == 0 && x == 0) [INFO] [stdout] 172 - || (y == 0 && x == self.width - 1) [INFO] [stdout] 173 - || (y == self.height - 1 && x == 0) [INFO] [stdout] 174 - || (y == self.height - 1 && x == self.width - 1) [INFO] [stdout] 171 + !(x != 0 && x != self.width - 1 || y != 0 && y != self.height - 1) [INFO] [stdout] | [INFO] [stdout] 171 - (y == 0 && x == 0) [INFO] [stdout] 172 - || (y == 0 && x == self.width - 1) [INFO] [stdout] 173 - || (y == self.height - 1 && x == 0) [INFO] [stdout] 174 - || (y == self.height - 1 && x == self.width - 1) [INFO] [stdout] 171 + (y == self.height - 1 || y == 0) && (x == self.width - 1 || x == 0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> crates/utils/src/grid.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | / (y == 0 && x == 0) [INFO] [stdout] 172 | | || (y == 0 && x == self.width - 1) [INFO] [stdout] | |______________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 171 - (y == 0 && x == 0) [INFO] [stdout] 172 - || (y == 0 && x == self.width - 1) [INFO] [stdout] 171 + !(y != 0 || x != 0 && x != self.width - 1) [INFO] [stdout] | [INFO] [stdout] 171 - (y == 0 && x == 0) [INFO] [stdout] 172 - || (y == 0 && x == self.width - 1) [INFO] [stdout] 171 + (x == self.width - 1 || x == 0) && y == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> crates/utils/src/grid.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | / positions [INFO] [stdout] 217 | | .iter() [INFO] [stdout] 218 | | .filter(|&pos| self.validate_position(*pos)) [INFO] [stdout] 219 | | .map(|&pos| pos) [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `copied` method [INFO] [stdout] | [INFO] [stdout] 216 ~ positions [INFO] [stdout] 217 + .iter() [INFO] [stdout] 218 + .filter(|&pos| self.validate_position(*pos)).copied() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str` [INFO] [stdout] --> crates/utils/src/grid.rs:623:5 [INFO] [stdout] | [INFO] [stdout] 623 | / pub fn from_str(input: &str) -> Result { [INFO] [stdout] 624 | | let mut parts = input.split(','); [INFO] [stdout] 625 | | let y = parts.next().unwrap().parse()?; [INFO] [stdout] 626 | | let x = parts.next().unwrap().parse()?; [INFO] [stdout] 627 | | Ok(Self(y, x)) [INFO] [stdout] 628 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> crates/utils/src/grid.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | / (y == 0 && x == 0) [INFO] [stdout] 172 | | || (y == 0 && x == self.width - 1) [INFO] [stdout] 173 | | || (y == self.height - 1 && x == 0) [INFO] [stdout] 174 | | || (y == self.height - 1 && x == self.width - 1) [INFO] [stdout] | |____________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 171 - (y == 0 && x == 0) [INFO] [stdout] 172 - || (y == 0 && x == self.width - 1) [INFO] [stdout] 173 - || (y == self.height - 1 && x == 0) [INFO] [stdout] 174 - || (y == self.height - 1 && x == self.width - 1) [INFO] [stdout] 171 + !(x != 0 && x != self.width - 1 || y != 0 && y != self.height - 1) [INFO] [stdout] | [INFO] [stdout] 171 - (y == 0 && x == 0) [INFO] [stdout] 172 - || (y == 0 && x == self.width - 1) [INFO] [stdout] 173 - || (y == self.height - 1 && x == 0) [INFO] [stdout] 174 - || (y == self.height - 1 && x == self.width - 1) [INFO] [stdout] 171 + (y == self.height - 1 || y == 0) && (x == self.width - 1 || x == 0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> crates/utils/src/grid.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | / (y == 0 && x == 0) [INFO] [stdout] 172 | | || (y == 0 && x == self.width - 1) [INFO] [stdout] | |______________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 171 - (y == 0 && x == 0) [INFO] [stdout] 172 - || (y == 0 && x == self.width - 1) [INFO] [stdout] 171 + !(y != 0 || x != 0 && x != self.width - 1) [INFO] [stdout] | [INFO] [stdout] 171 - (y == 0 && x == 0) [INFO] [stdout] 172 - || (y == 0 && x == self.width - 1) [INFO] [stdout] 171 + (x == self.width - 1 || x == 0) && y == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> crates/utils/src/grid.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | / positions [INFO] [stdout] 217 | | .iter() [INFO] [stdout] 218 | | .filter(|&pos| self.validate_position(*pos)) [INFO] [stdout] 219 | | .map(|&pos| pos) [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `copied` method [INFO] [stdout] | [INFO] [stdout] 216 ~ positions [INFO] [stdout] 217 + .iter() [INFO] [stdout] 218 + .filter(|&pos| self.validate_position(*pos)).copied() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> crates/utils/src/grid.rs:162:21 [INFO] [stdout] | [INFO] [stdout] 162 | pub fn sub_grid(&self, height: usize, width: usize) -> SubGrid { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^ the same lifetime is hidden 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: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 162 | pub fn sub_grid(&self, height: usize, width: usize) -> SubGrid<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str` [INFO] [stdout] --> crates/utils/src/grid.rs:623:5 [INFO] [stdout] | [INFO] [stdout] 623 | / pub fn from_str(input: &str) -> Result { [INFO] [stdout] 624 | | let mut parts = input.split(','); [INFO] [stdout] 625 | | let y = parts.next().unwrap().parse()?; [INFO] [stdout] 626 | | let x = parts.next().unwrap().parse()?; [INFO] [stdout] 627 | | Ok(Self(y, x)) [INFO] [stdout] 628 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> crates/utils/src/grid.rs:162:21 [INFO] [stdout] | [INFO] [stdout] 162 | pub fn sub_grid(&self, height: usize, width: usize) -> SubGrid { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^ the same lifetime is hidden 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: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 162 | pub fn sub_grid(&self, height: usize, width: usize) -> SubGrid<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking day12 v0.1.0 (/opt/rustwide/workdir/crates/day12) [INFO] [stderr] Checking day5 v0.1.0 (/opt/rustwide/workdir/crates/day5) [INFO] [stderr] Checking day4 v0.1.0 (/opt/rustwide/workdir/crates/day4) [INFO] [stderr] Checking day11 v0.1.0 (/opt/rustwide/workdir/crates/day11) [INFO] [stderr] Checking day2 v0.1.0 (/opt/rustwide/workdir/crates/day2) [INFO] [stderr] Checking day8 v0.1.0 (/opt/rustwide/workdir/crates/day8) [INFO] [stderr] Checking day7 v0.1.0 (/opt/rustwide/workdir/crates/day7) [INFO] [stderr] Checking day6 v0.1.0 (/opt/rustwide/workdir/crates/day6) [INFO] [stderr] Checking day9 v0.1.0 (/opt/rustwide/workdir/crates/day9) [INFO] [stderr] Checking template v0.1.0 (/opt/rustwide/workdir/crates/template) [INFO] [stderr] Checking day1 v0.1.0 (/opt/rustwide/workdir/crates/day1) [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> crates/template/src/main.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | fn part1(input: &str) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> crates/template/src/main.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | fn part2(input: &str) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> crates/template/src/main.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn part2(input: &str) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking day3 v0.1.0 (/opt/rustwide/workdir/crates/day3) [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> crates/day9/src/main.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 29 | / if *x > l && *x < r { [INFO] [stdout] 30 | | if (start < &t && end > &t) || (start < &b && end > &b) { [INFO] [stdout] 31 | | return true; [INFO] [stdout] 32 | | } [INFO] [stdout] 33 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 29 ~ if *x > l && *x < r [INFO] [stdout] 30 ~ && ((start < &t && end > &t) || (start < &b && end > &b)) { [INFO] [stdout] 31 | return true; [INFO] [stdout] 32 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> crates/day9/src/main.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | / if *y > t && *y < b { [INFO] [stdout] 38 | | if (start < &l && end > &l) || (start < &r && end > &r) { [INFO] [stdout] 39 | | return true; [INFO] [stdout] 40 | | } [INFO] [stdout] 41 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 37 ~ if *y > t && *y < b [INFO] [stdout] 38 ~ && ((start < &l && end > &l) || (start < &r && end > &r)) { [INFO] [stdout] 39 | return true; [INFO] [stdout] 40 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking sprs v0.11.4 [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:55:32 [INFO] [stdout] | [INFO] [stdout] 55 | sets[i].insert(b.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:58:32 [INFO] [stdout] | [INFO] [stdout] 58 | sets[j].insert(a.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:62:32 [INFO] [stdout] | [INFO] [stdout] 62 | new_set.insert(a.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | new_set.insert(b.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> crates/day8/src/main.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | sets.sort_by(|a, b| b.len().cmp(&a.len())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 69 - sets.sort_by(|a, b| b.len().cmp(&a.len())); [INFO] [stdout] 69 + sets.sort_by_key(|b| std::cmp::Reverse(b.len())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> crates/day6/src/main.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | / line.iter() [INFO] [stdout] 76 | | .filter(|c| c.is_numeric()) [INFO] [stdout] 77 | | .map(|c| *c) [INFO] [stdout] | |________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `copied` method [INFO] [stdout] | [INFO] [stdout] 75 ~ line.iter() [INFO] [stdout] 76 + .filter(|c| c.is_numeric()).copied() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:99:32 [INFO] [stdout] | [INFO] [stdout] 99 | sets[i].insert(b.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:102:32 [INFO] [stdout] | [INFO] [stdout] 102 | sets[j].insert(a.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:106:32 [INFO] [stdout] | [INFO] [stdout] 106 | new_set.insert(a.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:107:32 [INFO] [stdout] | [INFO] [stdout] 107 | new_set.insert(b.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:113:31 [INFO] [stdout] | [INFO] [stdout] 113 | last_join = Some((a.clone(), b.clone())); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:113:42 [INFO] [stdout] | [INFO] [stdout] 113 | last_join = Some((a.clone(), b.clone())); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> crates/day11/src/main.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | |state| paths_map.get(state).unwrap().iter().map(|&next| next), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `paths_map.get(state).unwrap().iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> crates/day11/src/main.rs:59:64 [INFO] [stdout] | [INFO] [stdout] 59 | test_part2(|| part2(include_str!("./input_test2.txt")), 2, &"day11"); [INFO] [stdout] | ^^^^^^^^ help: change this to: `"day11"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:55:32 [INFO] [stdout] | [INFO] [stdout] 55 | sets[i].insert(b.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:58:32 [INFO] [stdout] | [INFO] [stdout] 58 | sets[j].insert(a.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> crates/day6/src/main.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | if curr.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!curr.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:62:32 [INFO] [stdout] | [INFO] [stdout] 62 | new_set.insert(a.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | new_set.insert(b.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> crates/day8/src/main.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | sets.sort_by(|a, b| b.len().cmp(&a.len())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 69 - sets.sort_by(|a, b| b.len().cmp(&a.len())); [INFO] [stdout] 69 + sets.sort_by_key(|b| std::cmp::Reverse(b.len())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:99:32 [INFO] [stdout] | [INFO] [stdout] 99 | sets[i].insert(b.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:102:32 [INFO] [stdout] | [INFO] [stdout] 102 | sets[j].insert(a.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:106:32 [INFO] [stdout] | [INFO] [stdout] 106 | new_set.insert(a.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:107:32 [INFO] [stdout] | [INFO] [stdout] 107 | new_set.insert(b.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:113:31 [INFO] [stdout] | [INFO] [stdout] 113 | last_join = Some((a.clone(), b.clone())); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> crates/day8/src/main.rs:113:42 [INFO] [stdout] | [INFO] [stdout] 113 | last_join = Some((a.clone(), b.clone())); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> crates/day11/src/main.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | |state| paths_map.get(state).unwrap().iter().map(|&next| next), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `paths_map.get(state).unwrap().iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> crates/day11/src/main.rs:59:64 [INFO] [stdout] | [INFO] [stdout] 59 | test_part2(|| part2(include_str!("./input_test2.txt")), 2, &"day11"); [INFO] [stdout] | ^^^^^^^^ help: change this to: `"day11"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> crates/day7/src/main.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | while current_beam_positions.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!current_beam_positions.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> crates/day7/src/main.rs:67:34 [INFO] [stdout] | [INFO] [stdout] 67 | if let Some(num_paths) = map.get(&(pos.0 - 1, pos.1)).map(|x| *x) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `map.get(&(pos.0 - 1, pos.1)).copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> crates/day6/src/main.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | / line.iter() [INFO] [stdout] 76 | | .filter(|c| c.is_numeric()) [INFO] [stdout] 77 | | .map(|c| *c) [INFO] [stdout] | |________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `copied` method [INFO] [stdout] | [INFO] [stdout] 75 ~ line.iter() [INFO] [stdout] 76 + .filter(|c| c.is_numeric()).copied() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> crates/day6/src/main.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | if curr.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!curr.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> crates/day7/src/main.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | while current_beam_positions.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!current_beam_positions.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> crates/day7/src/main.rs:67:34 [INFO] [stdout] | [INFO] [stdout] 67 | if let Some(num_paths) = map.get(&(pos.0 - 1, pos.1)).map(|x| *x) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `map.get(&(pos.0 - 1, pos.1)).copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> crates/template/src/main.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | fn part1(input: &str) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> crates/template/src/main.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | fn part2(input: &str) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> crates/template/src/main.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn part2(input: &str) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> crates/day9/src/main.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 29 | / if *x > l && *x < r { [INFO] [stdout] 30 | | if (start < &t && end > &t) || (start < &b && end > &b) { [INFO] [stdout] 31 | | return true; [INFO] [stdout] 32 | | } [INFO] [stdout] 33 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 29 ~ if *x > l && *x < r [INFO] [stdout] 30 ~ && ((start < &t && end > &t) || (start < &b && end > &b)) { [INFO] [stdout] 31 | return true; [INFO] [stdout] 32 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> crates/day9/src/main.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | / if *y > t && *y < b { [INFO] [stdout] 38 | | if (start < &l && end > &l) || (start < &r && end > &r) { [INFO] [stdout] 39 | | return true; [INFO] [stdout] 40 | | } [INFO] [stdout] 41 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 37 ~ if *y > t && *y < b [INFO] [stdout] 38 ~ && ((start < &l && end > &l) || (start < &r && end > &r)) { [INFO] [stdout] 39 | return true; [INFO] [stdout] 40 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking microlp v0.2.11 [INFO] [stderr] Checking day10 v0.1.0 (/opt/rustwide/workdir/crates/day10) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.14s [INFO] running `Command { std: "docker" "inspect" "4d3577026a5498e8cdb197da3db65e731df652de1af21e52164af84984248afe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4d3577026a5498e8cdb197da3db65e731df652de1af21e52164af84984248afe", kill_on_drop: false }` [INFO] [stdout] 4d3577026a5498e8cdb197da3db65e731df652de1af21e52164af84984248afe