[INFO] cloning repository https://github.com/Belgabor/aoc2023
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Belgabor/aoc2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBelgabor%2Faoc2023", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBelgabor%2Faoc2023'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5928f6d1ee4200e201b8235ed553947d7498be58
[INFO] checking Belgabor/aoc2023 against master#c8a31b780d5415358566a20b94912620a3f27067 for pr-139493-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBelgabor%2Faoc2023" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Belgabor/aoc2023
[INFO] finished tweaking git repo https://github.com/Belgabor/aoc2023
[INFO] tweaked toml for git repo https://github.com/Belgabor/aoc2023 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Belgabor/aoc2023 on toolchain c8a31b780d5415358566a20b94912620a3f27067
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c8a31b780d5415358566a20b94912620a3f27067" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Belgabor/aoc2023 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" "+c8a31b780d5415358566a20b94912620a3f27067" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded joinery v2.1.0
[INFO] [stderr]   Downloaded supports-hyperlinks v2.1.0
[INFO] [stderr]   Downloaded nom-supreme v0.8.0
[INFO] [stderr]   Downloaded thiserror v1.0.51
[INFO] [stderr]   Downloaded deprecate-until v0.1.1
[INFO] [stderr]   Downloaded enumset v1.1.3
[INFO] [stderr]   Downloaded indent_write v2.2.0
[INFO] [stderr]   Downloaded owo-colors v3.5.0
[INFO] [stderr]   Downloaded brownstone v3.0.0
[INFO] [stderr]   Downloaded pathfinding v4.6.0
[INFO] [stderr]   Downloaded nom_locate v4.2.0
[INFO] [stderr]   Downloaded is_ci v1.1.1
[INFO] [stderr]   Downloaded backtrace-ext v0.2.1
[INFO] [stderr]   Downloaded thiserror-impl v1.0.51
[INFO] [stderr]   Downloaded supports-unicode v2.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c8a31b780d5415358566a20b94912620a3f27067" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 77138c65fcd21dc8f8aaf17b011aebe73d9d9673027dfe5c3be6ba4a9d4d917a
[INFO] running `Command { std: "docker" "start" "-a" "77138c65fcd21dc8f8aaf17b011aebe73d9d9673027dfe5c3be6ba4a9d4d917a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "77138c65fcd21dc8f8aaf17b011aebe73d9d9673027dfe5c3be6ba4a9d4d917a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "77138c65fcd21dc8f8aaf17b011aebe73d9d9673027dfe5c3be6ba4a9d4d917a", kill_on_drop: false }`
[INFO] [stdout] 77138c65fcd21dc8f8aaf17b011aebe73d9d9673027dfe5c3be6ba4a9d4d917a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c8a31b780d5415358566a20b94912620a3f27067" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f24b072417e03790f86e5664a717994ca8ded066a896309b44c9663ebd32d1e8
[INFO] running `Command { std: "docker" "start" "-a" "f24b072417e03790f86e5664a717994ca8ded066a896309b44c9663ebd32d1e8", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.70
[INFO] [stderr]    Compiling libc v0.2.151
[INFO] [stderr]    Compiling rustix v0.38.28
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]    Compiling thiserror v1.0.51
[INFO] [stderr]     Checking bitflags v2.4.1
[INFO] [stderr]     Checking linux-raw-sys v0.4.12
[INFO] [stderr]     Checking gimli v0.28.1
[INFO] [stderr]     Checking rustc-demangle v0.1.23
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]     Checking smawk v0.3.2
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]     Checking unicode-linebreak v0.1.5
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking glam v0.25.0
[INFO] [stderr]    Compiling semver v1.0.20
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]     Checking is_ci v1.1.1
[INFO] [stderr]     Checking brownstone v3.0.0
[INFO] [stderr]     Checking joinery v2.1.0
[INFO] [stderr]     Checking textwrap v0.15.2
[INFO] [stderr]     Checking owo-colors v3.5.0
[INFO] [stderr]     Checking bytecount v0.6.7
[INFO] [stderr]     Checking indent_write v2.2.0
[INFO] [stderr]     Checking itertools v0.12.0
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking day14 v0.1.0 (/opt/rustwide/workdir/day14)
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> day14/src/main.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> day14/src/main.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn part1(root: &Parsed) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day02 v0.1.0 (/opt/rustwide/workdir/day02)
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> day14/src/main.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day12 v0.1.0 (/opt/rustwide/workdir/day12)
[INFO] [stderr]     Checking day08 v0.1.0 (/opt/rustwide/workdir/day08)
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]    --> day14/src/main.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn part1(root: &Parsed) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day03 v0.1.0 (/opt/rustwide/workdir/day03)
[INFO] [stdout] warning: field `start` is never read
[INFO] [stdout]   --> day08/src/main.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct Loop {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 58 |     start: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Loop` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day13 v0.1.0 (/opt/rustwide/workdir/day13)
[INFO] [stderr]     Checking day06 v0.1.0 (/opt/rustwide/workdir/day06)
[INFO] [stdout] warning: value assigned to `current` is never read
[INFO] [stdout]   --> day12/src/main.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             current = 0;
[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] [stderr]     Checking day04 v0.1.0 (/opt/rustwide/workdir/day04)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> day03/src/main.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let mut parts = root.parts.clone();
[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]   --> day03/src/main.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut parts = root.parts.clone();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day05 v0.1.0 (/opt/rustwide/workdir/day05)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> day03/src/main.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let mut parts = root.parts.clone();
[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]   --> day03/src/main.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut parts = root.parts.clone();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day01 v0.1.0 (/opt/rustwide/workdir/day01)
[INFO] [stdout] warning: value assigned to `current` is never read
[INFO] [stdout]   --> day12/src/main.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             current = 0;
[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] [stderr]     Checking day09 v0.1.0 (/opt/rustwide/workdir/day09)
[INFO] [stdout] warning: using `.deref()` on a double reference, which returns `&&str` instead of dereferencing the inner type
[INFO] [stdout]   --> day01/src/main.rs:59:41
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     part.starts_with(key.deref())
[INFO] [stdout]    |                                         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> day05/src/main.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 169 | struct MappedSeed {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 170 |     seed: u64,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 171 |     soil: u64,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 172 |     fertilizer: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 173 |     water: u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 174 |     light: u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 175 |     temperature: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 176 |     humidity: u64,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MappedSeed` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `seed_location` and `lowest_location_from_ranges` are never used
[INFO] [stdout]    --> day05/src/main.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | impl Almanac {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn seed_location(&self, seed: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     fn lowest_location_from_ranges(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]     Checking day11 v0.1.0 (/opt/rustwide/workdir/day11)
[INFO] [stderr]     Checking object v0.32.1
[INFO] [stdout] warning: field `start` is never read
[INFO] [stdout]   --> day08/src/main.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct Loop {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 58 |     start: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Loop` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking indexmap v2.1.0
[INFO] [stderr]     Checking day07 v0.1.0 (/opt/rustwide/workdir/day07)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> day11/src/main.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let mut stars: Vec<Star> = self.stars.iter().map(|s| s.clone()).collect();
[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]   --> day11/src/main.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let mut stars: Vec<Star> = self.stars.iter().map(|s| s.clone()).collect();
[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] [stderr]    Compiling cc v1.0.83
[INFO] [stdout] warning: using `.deref()` on a double reference, which returns `&&str` instead of dereferencing the inner type
[INFO] [stdout]   --> day01/src/main.rs:59:41
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     part.starts_with(key.deref())
[INFO] [stdout]    |                                         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> day05/src/main.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 169 | struct MappedSeed {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 170 |     seed: u64,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 171 |     soil: u64,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 172 |     fertilizer: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 173 |     water: u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 174 |     light: u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 175 |     temperature: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 176 |     humidity: u64,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MappedSeed` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `seed_location` and `lowest_location_from_ranges` are never used
[INFO] [stdout]    --> day05/src/main.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | impl Almanac {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn seed_location(&self, seed: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     fn lowest_location_from_ranges(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]     Checking terminal_size v0.1.17
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking supports-hyperlinks v2.1.0
[INFO] [stderr]     Checking supports-unicode v2.0.0
[INFO] [stderr]     Checking supports-color v2.1.0
[INFO] [stderr]     Checking integer-sqrt v0.1.5
[INFO] [stderr]     Checking day15 v0.1.0 (/opt/rustwide/workdir/day15)
[INFO] [stdout] error[E0635]: unknown feature `hash_raw_entry`
[INFO] [stdout]  --> day15/src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(hash_raw_entry)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `hash_raw_entry`
[INFO] [stdout]  --> day15/src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(hash_raw_entry)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `raw_entry_mut` found for struct `HashMap<K, V, S>` in the current scope
[INFO] [stdout]   --> day15/src/main.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let (_, box_) = factory.boxes.raw_entry_mut().from_key(&box_number).or_insert(box_number, LensBox::default());
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `get_mut` with a similar name, but with different arguments
[INFO] [stdout]   --> /rustc/c8a31b780d5415358566a20b94912620a3f27067/library/std/src/collections/hash/map.rs:1171:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `raw_entry_mut` found for struct `HashMap<K, V, S>` in the current scope
[INFO] [stdout]   --> day15/src/main.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let (_, box_) = factory.boxes.raw_entry_mut().from_key(&box_number).or_insert(box_number, LensBox::default());
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `get_mut` with a similar name, but with different arguments
[INFO] [stdout]   --> /rustc/c8a31b780d5415358566a20b94912620a3f27067/library/std/src/collections/hash/map.rs:1171:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0599, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `day15` (bin "day15" test) due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0599, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `day15` (bin "day15") due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "f24b072417e03790f86e5664a717994ca8ded066a896309b44c9663ebd32d1e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f24b072417e03790f86e5664a717994ca8ded066a896309b44c9663ebd32d1e8", kill_on_drop: false }`
[INFO] [stdout] f24b072417e03790f86e5664a717994ca8ded066a896309b44c9663ebd32d1e8
