[INFO] cloning repository https://github.com/sethsamuel/adventofcode-2018
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sethsamuel/adventofcode-2018" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsethsamuel%2Fadventofcode-2018", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsethsamuel%2Fadventofcode-2018'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6644d3395ce6f7ef4cdb9629c38d348d3efdd905
[INFO] checking sethsamuel/adventofcode-2018 against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsethsamuel%2Fadventofcode-2018" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sethsamuel/adventofcode-2018
[INFO] finished tweaking git repo https://github.com/sethsamuel/adventofcode-2018
[INFO] tweaked toml for git repo https://github.com/sethsamuel/adventofcode-2018 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sethsamuel/adventofcode-2018 on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sethsamuel/adventofcode-2018 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "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]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded dialoguer v0.3.0
[INFO] [stderr]   Downloaded clicolors-control v0.3.0
[INFO] [stderr]   Downloaded parking_lot v0.7.0
[INFO] [stderr]   Downloaded tempfile v2.2.0
[INFO] [stderr]   Downloaded console v0.7.0
[INFO] [stderr]   Downloaded indicatif v0.10.1
[INFO] [stderr]   Downloaded skiplist v0.2.10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 43679d140d0fbccdadb4ab1d1f3e0c912ec36d1b15f999b834dbfd3ca59be0a7
[INFO] running `Command { std: "docker" "start" "-a" "43679d140d0fbccdadb4ab1d1f3e0c912ec36d1b15f999b834dbfd3ca59be0a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "43679d140d0fbccdadb4ab1d1f3e0c912ec36d1b15f999b834dbfd3ca59be0a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43679d140d0fbccdadb4ab1d1f3e0c912ec36d1b15f999b834dbfd3ca59be0a7", kill_on_drop: false }`
[INFO] [stdout] 43679d140d0fbccdadb4ab1d1f3e0c912ec36d1b15f999b834dbfd3ca59be0a7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fae37ee85588b3d1bb0ea1a4b563de230cbbfc0c24157e429e9677f063e95510
[INFO] running `Command { std: "docker" "start" "-a" "fae37ee85588b3d1bb0ea1a4b563de230cbbfc0c24157e429e9677f063e95510", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.44
[INFO] [stderr]     Checking rand_core v0.3.0
[INFO] [stderr]     Checking stable_deref_trait v1.1.1
[INFO] [stderr]     Checking smallvec v0.6.7
[INFO] [stderr]    Compiling rand_pcg v0.1.1
[INFO] [stderr]    Compiling rand_chacha v0.1.0
[INFO] [stderr]    Compiling rand v0.6.1
[INFO] [stderr]    Compiling parking_lot_core v0.4.0
[INFO] [stderr]     Checking number_prefix v0.2.8
[INFO] [stderr]     Checking owning_ref v0.4.0
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.0
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking lock_api v0.1.5
[INFO] [stderr]     Checking memchr v2.1.1
[INFO] [stderr]     Checking rand v0.4.3
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking termios v0.3.1
[INFO] [stderr]     Checking clicolors-control v0.3.0
[INFO] [stderr]     Checking aho-corasick v0.6.9
[INFO] [stderr]     Checking rand v0.3.22
[INFO] [stderr]     Checking regex v1.1.0
[INFO] [stderr]     Checking tempfile v2.2.0
[INFO] [stderr]     Checking skiplist v0.2.10
[INFO] [stderr]     Checking parking_lot v0.7.0
[INFO] [stderr]     Checking console v0.7.0
[INFO] [stderr]     Checking dialoguer v0.3.0
[INFO] [stderr]     Checking indicatif v0.10.1
[INFO] [stderr]     Checking adventofcode-2018 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn _puzzle_prompt() -> Result<bool, Box<std::error::Error>> {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn _puzzle_prompt() -> Result<bool, Box<dyn std::error::Error>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn _puzzle_prompt() -> Result<bool, Box<std::error::Error>> {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn _puzzle_prompt() -> Result<bool, Box<dyn std::error::Error>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day_10/mod.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         for mut particle in &mut particles {
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day_10/mod.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |         for mut particle in &mut particles {
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total_plants` is assigned to, but never used
[INFO] [stdout]   --> src/day_12/mod.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut total_plants = initial_state.clone().filter(|c| *c == PLANT).count();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_total_plants` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `total_plants` is never read
[INFO] [stdout]   --> src/day_12/mod.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | /         total_plants += last_state
[INFO] [stdout] 50 | |             .clone()
[INFO] [stdout] 51 | |             .into_iter()
[INFO] [stdout] 52 | |             .filter(|c| *c == PLANT)
[INFO] [stdout] 53 | |             .count();
[INFO] [stdout]    | |____________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day_4/mod.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let mut current_guard = guards.entry(id.to_string()).or_insert(Guard {
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day_10/mod.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         for mut particle in &mut particles {
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day_4/mod.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |             let mut current_guard = guards.entry(id.to_string()).or_insert(Guard {
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day_10/mod.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |         for mut particle in &mut particles {
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total_plants` is assigned to, but never used
[INFO] [stdout]   --> src/day_12/mod.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut total_plants = initial_state.clone().filter(|c| *c == PLANT).count();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_total_plants` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `total_plants` is never read
[INFO] [stdout]   --> src/day_12/mod.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | /         total_plants += last_state
[INFO] [stdout] 50 | |             .clone()
[INFO] [stdout] 51 | |             .into_iter()
[INFO] [stdout] 52 | |             .filter(|c| *c == PLANT)
[INFO] [stdout] 53 | |             .count();
[INFO] [stdout]    | |____________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day_7/mod.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 |                     let mut next_step = next_steps[0];
[INFO] [stdout]     |                         ----^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/day_4/mod.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let mut current_guard = guards.entry(id.to_string()).or_insert(Guard {
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day_4/mod.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |             let mut current_guard = guards.entry(id.to_string()).or_insert(Guard {
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/day_4/mod.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn parse_line(line: &str) -> Action {
[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]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn parse_line(line: &str) -> Action<'_> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day_7/mod.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 |                     let mut next_step = next_steps[0];
[INFO] [stdout]     |                         ----^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/day_4/mod.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn parse_line(line: &str) -> Action {
[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]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn parse_line(line: &str) -> Action<'_> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.85s
[INFO] running `Command { std: "docker" "inspect" "fae37ee85588b3d1bb0ea1a4b563de230cbbfc0c24157e429e9677f063e95510", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fae37ee85588b3d1bb0ea1a4b563de230cbbfc0c24157e429e9677f063e95510", kill_on_drop: false }`
[INFO] [stdout] fae37ee85588b3d1bb0ea1a4b563de230cbbfc0c24157e429e9677f063e95510
