[INFO] cloning repository https://github.com/ClydeHobart/aoc [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ClydeHobart/aoc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FClydeHobart%2Faoc", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FClydeHobart%2Faoc'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3fca5961aed95650f4f16f5ea081893697cda28d [INFO] testing ClydeHobart/aoc/3fca5961aed95650f4f16f5ea081893697cda28d against master#b03b3a7ec92682be2917540b679478d41c95a30c for pr-137122-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FClydeHobart%2Faoc" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ClydeHobart/aoc [INFO] finished tweaking git repo https://github.com/ClydeHobart/aoc [INFO] tweaked toml for git repo https://github.com/ClydeHobart/aoc written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ClydeHobart/aoc on toolchain b03b3a7ec92682be2917540b679478d41c95a30c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ClydeHobart/aoc 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" "+b03b3a7ec92682be2917540b679478d41c95a30c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded num-complex v0.4.2 [INFO] [stderr] Downloaded derive_deref v1.1.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2b56022f988e59cb97868695fa262fe8323cc35cedc44746bda26b205716ce23 [INFO] running `Command { std: "docker" "start" "-a" "2b56022f988e59cb97868695fa262fe8323cc35cedc44746bda26b205716ce23", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2b56022f988e59cb97868695fa262fe8323cc35cedc44746bda26b205716ce23", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b56022f988e59cb97868695fa262fe8323cc35cedc44746bda26b205716ce23", kill_on_drop: false }` [INFO] [stdout] 2b56022f988e59cb97868695fa262fe8323cc35cedc44746bda26b205716ce23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9ba1cd13c26997777318b18ead313960d50fc6dc45062f4b5a410cddfb00615d [INFO] running `Command { std: "docker" "start" "-a" "9ba1cd13c26997777318b18ead313960d50fc6dc45062f4b5a410cddfb00615d", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.5 [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling syn v1.0.105 [INFO] [stderr] Compiling crossbeam-utils v0.8.14 [INFO] [stderr] Compiling memoffset v0.7.1 [INFO] [stderr] Compiling crossbeam-epoch v0.9.13 [INFO] [stderr] Compiling io-lifetimes v1.0.3 [INFO] [stderr] Compiling num-bigint v0.4.3 [INFO] [stderr] Compiling futures-sink v0.3.30 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling rustix v0.36.4 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Compiling rustversion v1.0.9 [INFO] [stderr] Compiling futures-core v0.3.30 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling num-iter v0.1.43 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Compiling pin-project-lite v0.2.14 [INFO] [stderr] Compiling futures-channel v0.3.30 [INFO] [stderr] Compiling linux-raw-sys v0.1.3 [INFO] [stderr] Compiling futures-task v0.3.30 [INFO] [stderr] Compiling rayon-core v1.10.1 [INFO] [stderr] Compiling futures-io v0.3.30 [INFO] [stderr] Compiling serde v1.0.208 [INFO] [stderr] Compiling os_str_bytes v6.4.1 [INFO] [stderr] Compiling serde_json v1.0.125 [INFO] [stderr] Compiling radium v0.7.0 [INFO] [stderr] Compiling funty v2.0.0 [INFO] [stderr] Compiling either v1.8.0 [INFO] [stderr] Compiling termcolor v1.1.3 [INFO] [stderr] Compiling itoa v1.0.11 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Compiling clap_lex v0.3.0 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling once_cell v1.16.0 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling glam v0.29.2 [INFO] [stderr] Compiling md5 v0.7.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling crossbeam-channel v0.5.6 [INFO] [stderr] Compiling crossbeam-deque v0.8.2 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling bitvec v1.0.1 [INFO] [stderr] Compiling syn v2.0.74 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling num-complex v0.4.2 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling num_cpus v1.15.0 [INFO] [stderr] Compiling memmap v0.7.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rayon v1.6.1 [INFO] [stderr] Compiling is-terminal v0.4.1 [INFO] [stderr] Compiling num v0.4.0 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling futures-util v0.3.30 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Compiling clap_derive v4.0.21 [INFO] [stderr] Compiling derive_deref v1.1.1 [INFO] [stderr] Compiling strum v0.24.1 [INFO] [stderr] Compiling clap v4.0.29 [INFO] [stderr] Compiling futures-executor v0.3.30 [INFO] [stderr] Compiling futures v0.3.30 [INFO] [stderr] Compiling aoc v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait `ComputeNodeTrait` is never used [INFO] [stdout] --> src/y2017/d22.rs:203:7 [INFO] [stdout] | [INFO] [stdout] 203 | trait ComputeNodeTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d5.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | struct Cell(u8); [INFO] [stdout] | ---- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d6.rs:53:27 [INFO] [stdout] | [INFO] [stdout] 53 | ParseIntError(ParseIntError), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 53 - ParseIntError(ParseIntError), [INFO] [stdout] 53 + ParseIntError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d9.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct CharOutOfBounds(char); [INFO] [stdout] | --------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CharOutOfBounds` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d11.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct CharOutOfBounds(char); [INFO] [stdout] | --------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CharOutOfBounds` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BeaconPairLink` is never constructed [INFO] [stdout] --> src/y2021/d19.rs:306:8 [INFO] [stdout] | [INFO] [stdout] 306 | struct BeaconPairLink { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BeaconPairIter` is never constructed [INFO] [stdout] --> src/y2021/d19.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 314 | struct BeaconPairIter<'l> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `NeighborMapTrait` is never used [INFO] [stdout] --> src/y2021/d23.rs:155:7 [INFO] [stdout] | [INFO] [stdout] 155 | trait NeighborMapTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | StartFailedToParse(ParseIntError), [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 91 - StartFailedToParse(ParseIntError), [INFO] [stdout] 91 + StartFailedToParse(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:97:22 [INFO] [stdout] | [INFO] [stdout] 97 | EndFailedToParse(ParseIntError), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - EndFailedToParse(ParseIntError), [INFO] [stdout] 97 + EndFailedToParse(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:163:23 [INFO] [stdout] | [INFO] [stdout] 163 | ZeroFailedToParse(SectionAssignmentParseError), [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentPairParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 163 - ZeroFailedToParse(SectionAssignmentParseError), [INFO] [stdout] 163 + ZeroFailedToParse(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:169:22 [INFO] [stdout] | [INFO] [stdout] 169 | OneFailedToParse(SectionAssignmentParseError), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentPairParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 169 - OneFailedToParse(SectionAssignmentParseError), [INFO] [stdout] 169 + OneFailedToParse(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:311:23 [INFO] [stdout] | [INFO] [stdout] 311 | FromIndexTooLarge(usize), [INFO] [stdout] | ----------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 311 - FromIndexTooLarge(usize), [INFO] [stdout] 311 + FromIndexTooLarge(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:312:21 [INFO] [stdout] | [INFO] [stdout] 312 | ToIndexTooLarge(usize), [INFO] [stdout] | --------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 312 - ToIndexTooLarge(usize), [INFO] [stdout] 312 + ToIndexTooLarge(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:314:21 [INFO] [stdout] | [INFO] [stdout] 314 | InadequateCount(usize), [INFO] [stdout] | --------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 314 - InadequateCount(usize), [INFO] [stdout] 314 + InadequateCount(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:15:29 [INFO] [stdout] | [INFO] [stdout] 15 | CharIsNotAsciiLowercase(char), [INFO] [stdout] | ----------------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcessCharError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 - CharIsNotAsciiLowercase(char), [INFO] [stdout] 15 + CharIsNotAsciiLowercase(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:16:30 [INFO] [stdout] | [INFO] [stdout] 16 | PoppingCharWithZeroCount(char), [INFO] [stdout] | ------------------------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcessCharError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 - PoppingCharWithZeroCount(char), [INFO] [stdout] 16 + PoppingCharWithZeroCount(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:17:53 [INFO] [stdout] | [INFO] [stdout] 17 | DecrementingCharCountToZeroWithZeroPresentTotal(char), [INFO] [stdout] | ----------------------------------------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcessCharError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 17 - DecrementingCharCountToZeroWithZeroPresentTotal(char), [INFO] [stdout] 17 + DecrementingCharCountToZeroWithZeroPresentTotal(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | ProcessCharError(ProcessCharError), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DetectMarkerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 24 - ProcessCharError(ProcessCharError), [INFO] [stdout] 24 + ProcessCharError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | NoMarkerFound(usize), [INFO] [stdout] | ------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DetectMarkerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 25 - NoMarkerFound(usize), [INFO] [stdout] 25 + NoMarkerFound(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:472:27 [INFO] [stdout] | [INFO] [stdout] 472 | FailedToParseLine(LineParseError<'s>), [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 472 - FailedToParseLine(LineParseError<'s>), [INFO] [stdout] 472 + FailedToParseLine(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:473:31 [INFO] [stdout] | [INFO] [stdout] 473 | InvalidChildDirectory(&'s str), [INFO] [stdout] | --------------------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 473 - InvalidChildDirectory(&'s str), [INFO] [stdout] 473 + InvalidChildDirectory(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:475:23 [INFO] [stdout] | [INFO] [stdout] 475 | InternalError(FileSystemInternalError), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 475 - InternalError(FileSystemInternalError), [INFO] [stdout] 475 + InternalError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d8.rs:9:32 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct CharIsNotAsciiDigit(char); [INFO] [stdout] | ------------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CharIsNotAsciiDigit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `count_tails` is never used [INFO] [stdout] --> src/y2022/d9.rs:346:8 [INFO] [stdout] | [INFO] [stdout] 341 | trait HasVisitedGrid { [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 346 | fn count_tails(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BracketPair` is never constructed [INFO] [stdout] --> src/y2022/d13.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct BracketPair { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2023/d17.rs:175:21 [INFO] [stdout] | [INFO] [stdout] 175 | struct PathGridCell(u8); [INFO] [stdout] | ------------ ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/util/grid/grid_2d.rs:1102:16 [INFO] [stdout] | [INFO] [stdout] 1102 | ((unsafe { transmute::(pos.y) } as u64) << u32::BITS [INFO] [stdout] | ---------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/util/grid/grid_2d.rs:1103:20 [INFO] [stdout] | [INFO] [stdout] 1103 | | unsafe { transmute::(pos.x) } as u64) [INFO] [stdout] | ---------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2016/d5.rs:103:10 [INFO] [stdout] | [INFO] [stdout] 103 | &'f self, [INFO] [stdout] | ^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 106 | ) -> impl Iterator + '_ { [INFO] [stdout] | -- the lifetime gets resolved as `'f` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to consistently use `'f` [INFO] [stdout] | [INFO] [stdout] 106 - ) -> impl Iterator + '_ { [INFO] [stdout] 106 + ) -> impl Iterator + 'f { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d9.rs:297:18 [INFO] [stdout] | [INFO] [stdout] 297 | fn get_nodes(&self) -> Vec { [INFO] [stdout] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 297 | fn get_nodes(&self) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d9.rs:306:20 [INFO] [stdout] | [INFO] [stdout] 306 | fn iter_groups(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 306 | fn iter_groups(&self) -> impl Iterator> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d9.rs:321:21 [INFO] [stdout] | [INFO] [stdout] 321 | fn iter_garbage(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 321 | fn iter_garbage(&self) -> impl Iterator> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d19.rs:171:24 [INFO] [stdout] | [INFO] [stdout] 171 | fn packet_pos_iter(&self) -> PacketPosIter { [INFO] [stdout] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 171 | fn packet_pos_iter(&self) -> PacketPosIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d24.rs:325:34 [INFO] [stdout] | [INFO] [stdout] 325 | fn run_optimal_bridge_finder(&self) -> OptimalBridgeFinder { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 325 | fn run_optimal_bridge_finder(&self) -> OptimalBridgeFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d5.rs:400:16 [INFO] [stdout] | [INFO] [stdout] 400 | fn polymer(&self) -> Polymer { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 400 | fn polymer(&self) -> Polymer<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d5.rs:404:27 [INFO] [stdout] | [INFO] [stdout] 404 | fn unreactive_polymer(&self) -> Polymer { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 404 | fn unreactive_polymer(&self) -> Polymer<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d5.rs:416:29 [INFO] [stdout] | [INFO] [stdout] 416 | fn removed_unit_polymer(&self, unit_to_remove: u8) -> Polymer { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 416 | fn removed_unit_polymer(&self, unit_to_remove: u8) -> Polymer<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d5.rs:420:47 [INFO] [stdout] | [INFO] [stdout] 420 | fn removed_unit_type_and_shortest_polymer(&self) -> (char, Polymer) { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 420 | fn removed_unit_type_and_shortest_polymer(&self) -> (char, Polymer<'_>) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d6.rs:407:42 [INFO] [stdout] | [INFO] [stdout] 407 | fn least_dangerous_coordinate_finder(&self) -> LeastDangerousCoordinateFinder { [INFO] [stdout] | ^^^^^ ------------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 407 | fn least_dangerous_coordinate_finder(&self) -> LeastDangerousCoordinateFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d23.rs:346:22 [INFO] [stdout] | [INFO] [stdout] 346 | fn nano_bot_data(&self) -> NanoBotData { [INFO] [stdout] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 346 | fn nano_bot_data(&self) -> NanoBotData<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d10.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 81 | fn iter(&self) -> Iter<'_, Instruction> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d15.rs:344:22 [INFO] [stdout] | [INFO] [stdout] 344 | fn position_iter(&self) -> PositionIter { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 344 | fn position_iter(&self) -> PositionIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d17.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | fn iter(&self) -> JetPatternIterator { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 133 | fn iter(&self) -> JetPatternIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d18.rs:141:54 [INFO] [stdout] | [INFO] [stdout] 141 | fn parse_cube_cooridnates(lava_droplet_cube_str: &str) -> Result { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 141 | fn parse_cube_cooridnates(lava_droplet_cube_str: &str) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d22.rs:788:13 [INFO] [stdout] | [INFO] [stdout] 788 | fn iter(&mut self, cube: bool) -> (TraceStateIter, &mut Vec) { [INFO] [stdout] | ^^^^^^^^^ -------------- -------------------- the lifetimes get resolved as `'_` [INFO] [stdout] | | | [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 788 | fn iter(&mut self, cube: bool) -> (TraceStateIter<'_>, &mut Vec) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d12.rs:287:18 [INFO] [stdout] | [INFO] [stdout] 287 | fn iter_rows(&self) -> impl Iterator + '_ { [INFO] [stdout] | ^^^^^ --- -- the lifetimes get resolved as `'_` [INFO] [stdout] | | | [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 287 | fn iter_rows(&self) -> impl Iterator> + '_ { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d16.rs:134:22 [INFO] [stdout] | [INFO] [stdout] 134 | fn disperse_beam(&self, initial_beam: Beam) -> Ref> { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 134 | fn disperse_beam(&self, initial_beam: Beam) -> Ref<'_, HashSet> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d16.rs:154:23 [INFO] [stdout] | [INFO] [stdout] 154 | fn energized_grid(&self, initial_beam: Beam) -> Ref { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 154 | fn energized_grid(&self, initial_beam: Beam) -> Ref<'_, EnergizedGrid> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d17.rs:216:37 [INFO] [stdout] | [INFO] [stdout] 216 | fn regular_crucible_path_finder(&self) -> MinimalHeatLossPathFinder { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 216 | fn regular_crucible_path_finder(&self) -> MinimalHeatLossPathFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d17.rs:229:35 [INFO] [stdout] | [INFO] [stdout] 229 | fn ultra_crucible_path_finder(&self) -> MinimalHeatLossPathFinder { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 229 | fn ultra_crucible_path_finder(&self) -> MinimalHeatLossPathFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d18.rs:229:15 [INFO] [stdout] | [INFO] [stdout] 229 | fn digger(&self) -> Digger { [INFO] [stdout] | ^^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 229 | fn digger(&self) -> Digger<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d23.rs:444:32 [INFO] [stdout] | [INFO] [stdout] 444 | fn old_longest_hike_finder(&self) -> OldLongestHikeFinder { [INFO] [stdout] | ^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 444 | fn old_longest_hike_finder(&self) -> OldLongestHikeFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2024/d16.rs:422:33 [INFO] [stdout] | [INFO] [stdout] 422 | fn run_reindeer_path_finder(&self) -> ReindeerPathFinder { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 422 | fn run_reindeer_path_finder(&self) -> ReindeerPathFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 54.09s [INFO] running `Command { std: "docker" "inspect" "9ba1cd13c26997777318b18ead313960d50fc6dc45062f4b5a410cddfb00615d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9ba1cd13c26997777318b18ead313960d50fc6dc45062f4b5a410cddfb00615d", kill_on_drop: false }` [INFO] [stdout] 9ba1cd13c26997777318b18ead313960d50fc6dc45062f4b5a410cddfb00615d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 980756e3c92578bd0aeef1d819c13c6aff65484a1a75b6e3bcdab33e527cc71c [INFO] running `Command { std: "docker" "start" "-a" "980756e3c92578bd0aeef1d819c13c6aff65484a1a75b6e3bcdab33e527cc71c", kill_on_drop: false }` [INFO] [stdout] warning: trait `ComputeNodeTrait` is never used [INFO] [stdout] --> src/y2017/d22.rs:203:7 [INFO] [stdout] | [INFO] [stdout] 203 | trait ComputeNodeTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d5.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | struct Cell(u8); [INFO] [stdout] | ---- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d6.rs:53:27 [INFO] [stdout] | [INFO] [stdout] 53 | ParseIntError(ParseIntError), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 53 - ParseIntError(ParseIntError), [INFO] [stdout] 53 + ParseIntError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d9.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct CharOutOfBounds(char); [INFO] [stdout] | --------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CharOutOfBounds` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d11.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct CharOutOfBounds(char); [INFO] [stdout] | --------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CharOutOfBounds` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BeaconPairLink` is never constructed [INFO] [stdout] --> src/y2021/d19.rs:306:8 [INFO] [stdout] | [INFO] [stdout] 306 | struct BeaconPairLink { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BeaconPairIter` is never constructed [INFO] [stdout] --> src/y2021/d19.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 314 | struct BeaconPairIter<'l> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `NeighborMapTrait` is never used [INFO] [stdout] --> src/y2021/d23.rs:155:7 [INFO] [stdout] | [INFO] [stdout] 155 | trait NeighborMapTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | StartFailedToParse(ParseIntError), [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 91 - StartFailedToParse(ParseIntError), [INFO] [stdout] 91 + StartFailedToParse(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:97:22 [INFO] [stdout] | [INFO] [stdout] 97 | EndFailedToParse(ParseIntError), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - EndFailedToParse(ParseIntError), [INFO] [stdout] 97 + EndFailedToParse(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:163:23 [INFO] [stdout] | [INFO] [stdout] 163 | ZeroFailedToParse(SectionAssignmentParseError), [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentPairParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 163 - ZeroFailedToParse(SectionAssignmentParseError), [INFO] [stdout] 163 + ZeroFailedToParse(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:169:22 [INFO] [stdout] | [INFO] [stdout] 169 | OneFailedToParse(SectionAssignmentParseError), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentPairParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 169 - OneFailedToParse(SectionAssignmentParseError), [INFO] [stdout] 169 + OneFailedToParse(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:311:23 [INFO] [stdout] | [INFO] [stdout] 311 | FromIndexTooLarge(usize), [INFO] [stdout] | ----------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 311 - FromIndexTooLarge(usize), [INFO] [stdout] 311 + FromIndexTooLarge(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:312:21 [INFO] [stdout] | [INFO] [stdout] 312 | ToIndexTooLarge(usize), [INFO] [stdout] | --------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 312 - ToIndexTooLarge(usize), [INFO] [stdout] 312 + ToIndexTooLarge(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:314:21 [INFO] [stdout] | [INFO] [stdout] 314 | InadequateCount(usize), [INFO] [stdout] | --------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 314 - InadequateCount(usize), [INFO] [stdout] 314 + InadequateCount(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:15:29 [INFO] [stdout] | [INFO] [stdout] 15 | CharIsNotAsciiLowercase(char), [INFO] [stdout] | ----------------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcessCharError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 - CharIsNotAsciiLowercase(char), [INFO] [stdout] 15 + CharIsNotAsciiLowercase(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:16:30 [INFO] [stdout] | [INFO] [stdout] 16 | PoppingCharWithZeroCount(char), [INFO] [stdout] | ------------------------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcessCharError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 - PoppingCharWithZeroCount(char), [INFO] [stdout] 16 + PoppingCharWithZeroCount(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:17:53 [INFO] [stdout] | [INFO] [stdout] 17 | DecrementingCharCountToZeroWithZeroPresentTotal(char), [INFO] [stdout] | ----------------------------------------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcessCharError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 17 - DecrementingCharCountToZeroWithZeroPresentTotal(char), [INFO] [stdout] 17 + DecrementingCharCountToZeroWithZeroPresentTotal(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | ProcessCharError(ProcessCharError), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DetectMarkerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 24 - ProcessCharError(ProcessCharError), [INFO] [stdout] 24 + ProcessCharError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | NoMarkerFound(usize), [INFO] [stdout] | ------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DetectMarkerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 25 - NoMarkerFound(usize), [INFO] [stdout] 25 + NoMarkerFound(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:472:27 [INFO] [stdout] | [INFO] [stdout] 472 | FailedToParseLine(LineParseError<'s>), [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 472 - FailedToParseLine(LineParseError<'s>), [INFO] [stdout] 472 + FailedToParseLine(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:473:31 [INFO] [stdout] | [INFO] [stdout] 473 | InvalidChildDirectory(&'s str), [INFO] [stdout] | --------------------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 473 - InvalidChildDirectory(&'s str), [INFO] [stdout] 473 + InvalidChildDirectory(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:475:23 [INFO] [stdout] | [INFO] [stdout] 475 | InternalError(FileSystemInternalError), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 475 - InternalError(FileSystemInternalError), [INFO] [stdout] 475 + InternalError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d8.rs:9:32 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct CharIsNotAsciiDigit(char); [INFO] [stdout] | ------------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CharIsNotAsciiDigit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `count_tails` is never used [INFO] [stdout] --> src/y2022/d9.rs:346:8 [INFO] [stdout] | [INFO] [stdout] 341 | trait HasVisitedGrid { [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 346 | fn count_tails(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BracketPair` is never constructed [INFO] [stdout] --> src/y2022/d13.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct BracketPair { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2023/d17.rs:175:21 [INFO] [stdout] | [INFO] [stdout] 175 | struct PathGridCell(u8); [INFO] [stdout] | ------------ ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/util/grid/grid_2d.rs:1102:16 [INFO] [stdout] | [INFO] [stdout] 1102 | ((unsafe { transmute::(pos.y) } as u64) << u32::BITS [INFO] [stdout] | ---------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/util/grid/grid_2d.rs:1103:20 [INFO] [stdout] | [INFO] [stdout] 1103 | | unsafe { transmute::(pos.x) } as u64) [INFO] [stdout] | ---------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2016/d5.rs:103:10 [INFO] [stdout] | [INFO] [stdout] 103 | &'f self, [INFO] [stdout] | ^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 106 | ) -> impl Iterator + '_ { [INFO] [stdout] | -- the lifetime gets resolved as `'f` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to consistently use `'f` [INFO] [stdout] | [INFO] [stdout] 106 - ) -> impl Iterator + '_ { [INFO] [stdout] 106 + ) -> impl Iterator + 'f { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d9.rs:297:18 [INFO] [stdout] | [INFO] [stdout] 297 | fn get_nodes(&self) -> Vec { [INFO] [stdout] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 297 | fn get_nodes(&self) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d9.rs:306:20 [INFO] [stdout] | [INFO] [stdout] 306 | fn iter_groups(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 306 | fn iter_groups(&self) -> impl Iterator> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d9.rs:321:21 [INFO] [stdout] | [INFO] [stdout] 321 | fn iter_garbage(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 321 | fn iter_garbage(&self) -> impl Iterator> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d19.rs:171:24 [INFO] [stdout] | [INFO] [stdout] 171 | fn packet_pos_iter(&self) -> PacketPosIter { [INFO] [stdout] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 171 | fn packet_pos_iter(&self) -> PacketPosIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d24.rs:325:34 [INFO] [stdout] | [INFO] [stdout] 325 | fn run_optimal_bridge_finder(&self) -> OptimalBridgeFinder { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 325 | fn run_optimal_bridge_finder(&self) -> OptimalBridgeFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d5.rs:400:16 [INFO] [stdout] | [INFO] [stdout] 400 | fn polymer(&self) -> Polymer { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 400 | fn polymer(&self) -> Polymer<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d5.rs:404:27 [INFO] [stdout] | [INFO] [stdout] 404 | fn unreactive_polymer(&self) -> Polymer { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 404 | fn unreactive_polymer(&self) -> Polymer<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d5.rs:416:29 [INFO] [stdout] | [INFO] [stdout] 416 | fn removed_unit_polymer(&self, unit_to_remove: u8) -> Polymer { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 416 | fn removed_unit_polymer(&self, unit_to_remove: u8) -> Polymer<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d5.rs:420:47 [INFO] [stdout] | [INFO] [stdout] 420 | fn removed_unit_type_and_shortest_polymer(&self) -> (char, Polymer) { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 420 | fn removed_unit_type_and_shortest_polymer(&self) -> (char, Polymer<'_>) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d6.rs:407:42 [INFO] [stdout] | [INFO] [stdout] 407 | fn least_dangerous_coordinate_finder(&self) -> LeastDangerousCoordinateFinder { [INFO] [stdout] | ^^^^^ ------------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 407 | fn least_dangerous_coordinate_finder(&self) -> LeastDangerousCoordinateFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d23.rs:346:22 [INFO] [stdout] | [INFO] [stdout] 346 | fn nano_bot_data(&self) -> NanoBotData { [INFO] [stdout] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 346 | fn nano_bot_data(&self) -> NanoBotData<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d10.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 81 | fn iter(&self) -> Iter<'_, Instruction> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d15.rs:344:22 [INFO] [stdout] | [INFO] [stdout] 344 | fn position_iter(&self) -> PositionIter { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 344 | fn position_iter(&self) -> PositionIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d17.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | fn iter(&self) -> JetPatternIterator { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 133 | fn iter(&self) -> JetPatternIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d18.rs:141:54 [INFO] [stdout] | [INFO] [stdout] 141 | fn parse_cube_cooridnates(lava_droplet_cube_str: &str) -> Result { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 141 | fn parse_cube_cooridnates(lava_droplet_cube_str: &str) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d22.rs:788:13 [INFO] [stdout] | [INFO] [stdout] 788 | fn iter(&mut self, cube: bool) -> (TraceStateIter, &mut Vec) { [INFO] [stdout] | ^^^^^^^^^ -------------- -------------------- the lifetimes get resolved as `'_` [INFO] [stdout] | | | [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 788 | fn iter(&mut self, cube: bool) -> (TraceStateIter<'_>, &mut Vec) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling aoc v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d12.rs:287:18 [INFO] [stdout] | [INFO] [stdout] 287 | fn iter_rows(&self) -> impl Iterator + '_ { [INFO] [stdout] | ^^^^^ --- -- the lifetimes get resolved as `'_` [INFO] [stdout] | | | [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 287 | fn iter_rows(&self) -> impl Iterator> + '_ { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d16.rs:134:22 [INFO] [stdout] | [INFO] [stdout] 134 | fn disperse_beam(&self, initial_beam: Beam) -> Ref> { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 134 | fn disperse_beam(&self, initial_beam: Beam) -> Ref<'_, HashSet> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d16.rs:154:23 [INFO] [stdout] | [INFO] [stdout] 154 | fn energized_grid(&self, initial_beam: Beam) -> Ref { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 154 | fn energized_grid(&self, initial_beam: Beam) -> Ref<'_, EnergizedGrid> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d17.rs:216:37 [INFO] [stdout] | [INFO] [stdout] 216 | fn regular_crucible_path_finder(&self) -> MinimalHeatLossPathFinder { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 216 | fn regular_crucible_path_finder(&self) -> MinimalHeatLossPathFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d17.rs:229:35 [INFO] [stdout] | [INFO] [stdout] 229 | fn ultra_crucible_path_finder(&self) -> MinimalHeatLossPathFinder { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 229 | fn ultra_crucible_path_finder(&self) -> MinimalHeatLossPathFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d18.rs:229:15 [INFO] [stdout] | [INFO] [stdout] 229 | fn digger(&self) -> Digger { [INFO] [stdout] | ^^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 229 | fn digger(&self) -> Digger<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d23.rs:444:32 [INFO] [stdout] | [INFO] [stdout] 444 | fn old_longest_hike_finder(&self) -> OldLongestHikeFinder { [INFO] [stdout] | ^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 444 | fn old_longest_hike_finder(&self) -> OldLongestHikeFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2024/d16.rs:422:33 [INFO] [stdout] | [INFO] [stdout] 422 | fn run_reindeer_path_finder(&self) -> ReindeerPathFinder { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 422 | fn run_reindeer_path_finder(&self) -> ReindeerPathFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ComputeNodeTrait` is never used [INFO] [stdout] --> src/y2017/d22.rs:203:7 [INFO] [stdout] | [INFO] [stdout] 203 | trait ComputeNodeTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d5.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | struct Cell(u8); [INFO] [stdout] | ---- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d6.rs:53:27 [INFO] [stdout] | [INFO] [stdout] 53 | ParseIntError(ParseIntError), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 53 - ParseIntError(ParseIntError), [INFO] [stdout] 53 + ParseIntError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BeaconPairLink` is never constructed [INFO] [stdout] --> src/y2021/d19.rs:306:8 [INFO] [stdout] | [INFO] [stdout] 306 | struct BeaconPairLink { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BeaconPairIter` is never constructed [INFO] [stdout] --> src/y2021/d19.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 314 | struct BeaconPairIter<'l> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `NeighborMapTrait` is never used [INFO] [stdout] --> src/y2021/d23.rs:155:7 [INFO] [stdout] | [INFO] [stdout] 155 | trait NeighborMapTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | StartFailedToParse(ParseIntError), [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 91 - StartFailedToParse(ParseIntError), [INFO] [stdout] 91 + StartFailedToParse(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:97:22 [INFO] [stdout] | [INFO] [stdout] 97 | EndFailedToParse(ParseIntError), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - EndFailedToParse(ParseIntError), [INFO] [stdout] 97 + EndFailedToParse(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:163:23 [INFO] [stdout] | [INFO] [stdout] 163 | ZeroFailedToParse(SectionAssignmentParseError), [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentPairParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 163 - ZeroFailedToParse(SectionAssignmentParseError), [INFO] [stdout] 163 + ZeroFailedToParse(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:169:22 [INFO] [stdout] | [INFO] [stdout] 169 | OneFailedToParse(SectionAssignmentParseError), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentPairParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 169 - OneFailedToParse(SectionAssignmentParseError), [INFO] [stdout] 169 + OneFailedToParse(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:311:23 [INFO] [stdout] | [INFO] [stdout] 311 | FromIndexTooLarge(usize), [INFO] [stdout] | ----------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 311 - FromIndexTooLarge(usize), [INFO] [stdout] 311 + FromIndexTooLarge(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:312:21 [INFO] [stdout] | [INFO] [stdout] 312 | ToIndexTooLarge(usize), [INFO] [stdout] | --------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 312 - ToIndexTooLarge(usize), [INFO] [stdout] 312 + ToIndexTooLarge(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:314:21 [INFO] [stdout] | [INFO] [stdout] 314 | InadequateCount(usize), [INFO] [stdout] | --------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 314 - InadequateCount(usize), [INFO] [stdout] 314 + InadequateCount(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:472:27 [INFO] [stdout] | [INFO] [stdout] 472 | FailedToParseLine(LineParseError<'s>), [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 472 - FailedToParseLine(LineParseError<'s>), [INFO] [stdout] 472 + FailedToParseLine(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:473:31 [INFO] [stdout] | [INFO] [stdout] 473 | InvalidChildDirectory(&'s str), [INFO] [stdout] | --------------------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 473 - InvalidChildDirectory(&'s str), [INFO] [stdout] 473 + InvalidChildDirectory(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:475:23 [INFO] [stdout] | [INFO] [stdout] 475 | InternalError(FileSystemInternalError), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 475 - InternalError(FileSystemInternalError), [INFO] [stdout] 475 + InternalError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BracketPair` is never constructed [INFO] [stdout] --> src/y2022/d13.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct BracketPair { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2023/d17.rs:175:21 [INFO] [stdout] | [INFO] [stdout] 175 | struct PathGridCell(u8); [INFO] [stdout] | ------------ ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/util/grid/grid_2d.rs:1102:16 [INFO] [stdout] | [INFO] [stdout] 1102 | ((unsafe { transmute::(pos.y) } as u64) << u32::BITS [INFO] [stdout] | ---------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/util/grid/grid_2d.rs:1103:20 [INFO] [stdout] | [INFO] [stdout] 1103 | | unsafe { transmute::(pos.x) } as u64) [INFO] [stdout] | ---------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2016/d5.rs:103:10 [INFO] [stdout] | [INFO] [stdout] 103 | &'f self, [INFO] [stdout] | ^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 106 | ) -> impl Iterator + '_ { [INFO] [stdout] | -- the lifetime gets resolved as `'f` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to consistently use `'f` [INFO] [stdout] | [INFO] [stdout] 106 - ) -> impl Iterator + '_ { [INFO] [stdout] 106 + ) -> impl Iterator + 'f { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d9.rs:297:18 [INFO] [stdout] | [INFO] [stdout] 297 | fn get_nodes(&self) -> Vec { [INFO] [stdout] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 297 | fn get_nodes(&self) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d9.rs:306:20 [INFO] [stdout] | [INFO] [stdout] 306 | fn iter_groups(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 306 | fn iter_groups(&self) -> impl Iterator> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d9.rs:321:21 [INFO] [stdout] | [INFO] [stdout] 321 | fn iter_garbage(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 321 | fn iter_garbage(&self) -> impl Iterator> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d19.rs:171:24 [INFO] [stdout] | [INFO] [stdout] 171 | fn packet_pos_iter(&self) -> PacketPosIter { [INFO] [stdout] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 171 | fn packet_pos_iter(&self) -> PacketPosIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2017/d24.rs:325:34 [INFO] [stdout] | [INFO] [stdout] 325 | fn run_optimal_bridge_finder(&self) -> OptimalBridgeFinder { [INFO] [stdout] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 325 | fn run_optimal_bridge_finder(&self) -> OptimalBridgeFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d5.rs:400:16 [INFO] [stdout] | [INFO] [stdout] 400 | fn polymer(&self) -> Polymer { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 400 | fn polymer(&self) -> Polymer<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d5.rs:404:27 [INFO] [stdout] | [INFO] [stdout] 404 | fn unreactive_polymer(&self) -> Polymer { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 404 | fn unreactive_polymer(&self) -> Polymer<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d5.rs:416:29 [INFO] [stdout] | [INFO] [stdout] 416 | fn removed_unit_polymer(&self, unit_to_remove: u8) -> Polymer { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 416 | fn removed_unit_polymer(&self, unit_to_remove: u8) -> Polymer<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d5.rs:420:47 [INFO] [stdout] | [INFO] [stdout] 420 | fn removed_unit_type_and_shortest_polymer(&self) -> (char, Polymer) { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 420 | fn removed_unit_type_and_shortest_polymer(&self) -> (char, Polymer<'_>) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d6.rs:407:42 [INFO] [stdout] | [INFO] [stdout] 407 | fn least_dangerous_coordinate_finder(&self) -> LeastDangerousCoordinateFinder { [INFO] [stdout] | ^^^^^ ------------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 407 | fn least_dangerous_coordinate_finder(&self) -> LeastDangerousCoordinateFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2018/d23.rs:346:22 [INFO] [stdout] | [INFO] [stdout] 346 | fn nano_bot_data(&self) -> NanoBotData { [INFO] [stdout] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 346 | fn nano_bot_data(&self) -> NanoBotData<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d10.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 81 | fn iter(&self) -> Iter<'_, Instruction> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d14.rs:195:31 [INFO] [stdout] | [INFO] [stdout] 195 | fn try_from_str(scan_str: &str, with_floor: bool) -> Result { [INFO] [stdout] | ^^^^ this lifetime flows to the output ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 195 | fn try_from_str(scan_str: &str, with_floor: bool) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d15.rs:344:22 [INFO] [stdout] | [INFO] [stdout] 344 | fn position_iter(&self) -> PositionIter { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 344 | fn position_iter(&self) -> PositionIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d17.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | fn iter(&self) -> JetPatternIterator { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 133 | fn iter(&self) -> JetPatternIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d18.rs:141:54 [INFO] [stdout] | [INFO] [stdout] 141 | fn parse_cube_cooridnates(lava_droplet_cube_str: &str) -> Result { [INFO] [stdout] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 141 | fn parse_cube_cooridnates(lava_droplet_cube_str: &str) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2022/d22.rs:788:13 [INFO] [stdout] | [INFO] [stdout] 788 | fn iter(&mut self, cube: bool) -> (TraceStateIter, &mut Vec) { [INFO] [stdout] | ^^^^^^^^^ -------------- -------------------- the lifetimes get resolved as `'_` [INFO] [stdout] | | | [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 788 | fn iter(&mut self, cube: bool) -> (TraceStateIter<'_>, &mut Vec) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d12.rs:287:18 [INFO] [stdout] | [INFO] [stdout] 287 | fn iter_rows(&self) -> impl Iterator + '_ { [INFO] [stdout] | ^^^^^ --- -- the lifetimes get resolved as `'_` [INFO] [stdout] | | | [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 287 | fn iter_rows(&self) -> impl Iterator> + '_ { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d16.rs:134:22 [INFO] [stdout] | [INFO] [stdout] 134 | fn disperse_beam(&self, initial_beam: Beam) -> Ref> { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 134 | fn disperse_beam(&self, initial_beam: Beam) -> Ref<'_, HashSet> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d16.rs:154:23 [INFO] [stdout] | [INFO] [stdout] 154 | fn energized_grid(&self, initial_beam: Beam) -> Ref { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 154 | fn energized_grid(&self, initial_beam: Beam) -> Ref<'_, EnergizedGrid> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d17.rs:216:37 [INFO] [stdout] | [INFO] [stdout] 216 | fn regular_crucible_path_finder(&self) -> MinimalHeatLossPathFinder { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 216 | fn regular_crucible_path_finder(&self) -> MinimalHeatLossPathFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d17.rs:229:35 [INFO] [stdout] | [INFO] [stdout] 229 | fn ultra_crucible_path_finder(&self) -> MinimalHeatLossPathFinder { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 229 | fn ultra_crucible_path_finder(&self) -> MinimalHeatLossPathFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d18.rs:229:15 [INFO] [stdout] | [INFO] [stdout] 229 | fn digger(&self) -> Digger { [INFO] [stdout] | ^^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 229 | fn digger(&self) -> Digger<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2023/d23.rs:444:32 [INFO] [stdout] | [INFO] [stdout] 444 | fn old_longest_hike_finder(&self) -> OldLongestHikeFinder { [INFO] [stdout] | ^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 444 | fn old_longest_hike_finder(&self) -> OldLongestHikeFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/y2024/d16.rs:422:33 [INFO] [stdout] | [INFO] [stdout] 422 | fn run_reindeer_path_finder(&self) -> ReindeerPathFinder { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 422 | fn run_reindeer_path_finder(&self) -> ReindeerPathFinder<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 40.74s [INFO] running `Command { std: "docker" "inspect" "980756e3c92578bd0aeef1d819c13c6aff65484a1a75b6e3bcdab33e527cc71c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "980756e3c92578bd0aeef1d819c13c6aff65484a1a75b6e3bcdab33e527cc71c", kill_on_drop: false }` [INFO] [stdout] 980756e3c92578bd0aeef1d819c13c6aff65484a1a75b6e3bcdab33e527cc71c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] dfde1c8908b83ecdeee7794b0ceb09e92ca6263a227ece0cadf4b6fc1bb80254 [INFO] running `Command { std: "docker" "start" "-a" "dfde1c8908b83ecdeee7794b0ceb09e92ca6263a227ece0cadf4b6fc1bb80254", kill_on_drop: false }` [INFO] [stderr] warning: trait `ComputeNodeTrait` is never used [INFO] [stderr] --> src/y2017/d22.rs:203:7 [INFO] [stderr] | [INFO] [stderr] 203 | trait ComputeNodeTrait { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2021/d5.rs:149:21 [INFO] [stderr] | [INFO] [stderr] 149 | struct Cell(u8); [INFO] [stderr] | ---- ^^ [INFO] [stderr] | | [INFO] [stderr] | field in this struct [INFO] [stderr] | [INFO] [stderr] = help: consider removing this field [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2021/d6.rs:53:27 [INFO] [stderr] | [INFO] [stderr] 53 | ParseIntError(ParseIntError), [INFO] [stderr] | ------------- ^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 53 - ParseIntError(ParseIntError), [INFO] [stderr] 53 + ParseIntError(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2021/d9.rs:11:28 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct CharOutOfBounds(char); [INFO] [stderr] | --------------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this struct [INFO] [stderr] | [INFO] [stderr] = help: consider removing this field [INFO] [stderr] = note: `CharOutOfBounds` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2021/d11.rs:5:28 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct CharOutOfBounds(char); [INFO] [stderr] | --------------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this struct [INFO] [stderr] | [INFO] [stderr] = help: consider removing this field [INFO] [stderr] = note: `CharOutOfBounds` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `BeaconPairLink` is never constructed [INFO] [stderr] --> src/y2021/d19.rs:306:8 [INFO] [stderr] | [INFO] [stderr] 306 | struct BeaconPairLink { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `BeaconPairIter` is never constructed [INFO] [stderr] --> src/y2021/d19.rs:314:8 [INFO] [stderr] | [INFO] [stderr] 314 | struct BeaconPairIter<'l> { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `NeighborMapTrait` is never used [INFO] [stderr] --> src/y2021/d23.rs:155:7 [INFO] [stderr] | [INFO] [stderr] 155 | trait NeighborMapTrait { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d4.rs:91:24 [INFO] [stderr] | [INFO] [stderr] 91 | StartFailedToParse(ParseIntError), [INFO] [stderr] | ------------------ ^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `SectionAssignmentParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 91 - StartFailedToParse(ParseIntError), [INFO] [stderr] 91 + StartFailedToParse(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d4.rs:97:22 [INFO] [stderr] | [INFO] [stderr] 97 | EndFailedToParse(ParseIntError), [INFO] [stderr] | ---------------- ^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `SectionAssignmentParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 97 - EndFailedToParse(ParseIntError), [INFO] [stderr] 97 + EndFailedToParse(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d4.rs:163:23 [INFO] [stderr] | [INFO] [stderr] 163 | ZeroFailedToParse(SectionAssignmentParseError), [INFO] [stderr] | ----------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `SectionAssignmentPairParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 163 - ZeroFailedToParse(SectionAssignmentParseError), [INFO] [stderr] 163 + ZeroFailedToParse(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d4.rs:169:22 [INFO] [stderr] | [INFO] [stderr] 169 | OneFailedToParse(SectionAssignmentParseError), [INFO] [stderr] | ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `SectionAssignmentPairParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 169 - OneFailedToParse(SectionAssignmentParseError), [INFO] [stderr] 169 + OneFailedToParse(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d5.rs:311:23 [INFO] [stderr] | [INFO] [stderr] 311 | FromIndexTooLarge(usize), [INFO] [stderr] | ----------------- ^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 311 - FromIndexTooLarge(usize), [INFO] [stderr] 311 + FromIndexTooLarge(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d5.rs:312:21 [INFO] [stderr] | [INFO] [stderr] 312 | ToIndexTooLarge(usize), [INFO] [stderr] | --------------- ^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 312 - ToIndexTooLarge(usize), [INFO] [stderr] 312 + ToIndexTooLarge(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d5.rs:314:21 [INFO] [stderr] | [INFO] [stderr] 314 | InadequateCount(usize), [INFO] [stderr] | --------------- ^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 314 - InadequateCount(usize), [INFO] [stderr] 314 + InadequateCount(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d6.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | CharIsNotAsciiLowercase(char), [INFO] [stderr] | ----------------------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `ProcessCharError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 15 - CharIsNotAsciiLowercase(char), [INFO] [stderr] 15 + CharIsNotAsciiLowercase(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d6.rs:16:30 [INFO] [stderr] | [INFO] [stderr] 16 | PoppingCharWithZeroCount(char), [INFO] [stderr] | ------------------------ ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `ProcessCharError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 16 - PoppingCharWithZeroCount(char), [INFO] [stderr] 16 + PoppingCharWithZeroCount(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d6.rs:17:53 [INFO] [stderr] | [INFO] [stderr] 17 | DecrementingCharCountToZeroWithZeroPresentTotal(char), [INFO] [stderr] | ----------------------------------------------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `ProcessCharError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 17 - DecrementingCharCountToZeroWithZeroPresentTotal(char), [INFO] [stderr] 17 + DecrementingCharCountToZeroWithZeroPresentTotal(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d6.rs:24:22 [INFO] [stderr] | [INFO] [stderr] 24 | ProcessCharError(ProcessCharError), [INFO] [stderr] | ---------------- ^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `DetectMarkerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 24 - ProcessCharError(ProcessCharError), [INFO] [stderr] 24 + ProcessCharError(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d6.rs:25:19 [INFO] [stderr] | [INFO] [stderr] 25 | NoMarkerFound(usize), [INFO] [stderr] | ------------- ^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `DetectMarkerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 25 - NoMarkerFound(usize), [INFO] [stderr] 25 + NoMarkerFound(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d7.rs:472:27 [INFO] [stderr] | [INFO] [stderr] 472 | FailedToParseLine(LineParseError<'s>), [INFO] [stderr] | ----------------- ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 472 - FailedToParseLine(LineParseError<'s>), [INFO] [stderr] 472 + FailedToParseLine(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d7.rs:473:31 [INFO] [stderr] | [INFO] [stderr] 473 | InvalidChildDirectory(&'s str), [INFO] [stderr] | --------------------- ^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 473 - InvalidChildDirectory(&'s str), [INFO] [stderr] 473 + InvalidChildDirectory(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d7.rs:475:23 [INFO] [stderr] | [INFO] [stderr] 475 | InternalError(FileSystemInternalError), [INFO] [stderr] | ------------- ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 475 - InternalError(FileSystemInternalError), [INFO] [stderr] 475 + InternalError(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2022/d8.rs:9:32 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct CharIsNotAsciiDigit(char); [INFO] [stderr] | ------------------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this struct [INFO] [stderr] | [INFO] [stderr] = help: consider removing this field [INFO] [stderr] = note: `CharIsNotAsciiDigit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `count_tails` is never used [INFO] [stderr] --> src/y2022/d9.rs:346:8 [INFO] [stderr] | [INFO] [stderr] 341 | trait HasVisitedGrid { [INFO] [stderr] | -------------- method in this trait [INFO] [stderr] ... [INFO] [stderr] 346 | fn count_tails(&self) -> usize; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `BracketPair` is never constructed [INFO] [stderr] --> src/y2022/d13.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | struct BracketPair { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/y2023/d17.rs:175:21 [INFO] [stderr] | [INFO] [stderr] 175 | struct PathGridCell(u8); [INFO] [stderr] | ------------ ^^ [INFO] [stderr] | | [INFO] [stderr] | field in this struct [INFO] [stderr] | [INFO] [stderr] = help: consider removing this field [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/util/grid/grid_2d.rs:1102:16 [INFO] [stderr] | [INFO] [stderr] 1102 | ((unsafe { transmute::(pos.y) } as u64) << u32::BITS [INFO] [stderr] | ---------------------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `i32::cast_unsigned` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/util/grid/grid_2d.rs:1103:20 [INFO] [stderr] | [INFO] [stderr] 1103 | | unsafe { transmute::(pos.x) } as u64) [INFO] [stderr] | ---------------------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `i32::cast_unsigned` [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2016/d5.rs:103:10 [INFO] [stderr] | [INFO] [stderr] 103 | &'f self, [INFO] [stderr] | ^^ this lifetime flows to the output [INFO] [stderr] ... [INFO] [stderr] 106 | ) -> impl Iterator + '_ { [INFO] [stderr] | -- the lifetime gets resolved as `'f` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to consistently use `'f` [INFO] [stderr] | [INFO] [stderr] 106 - ) -> impl Iterator + '_ { [INFO] [stderr] 106 + ) -> impl Iterator + 'f { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2017/d9.rs:297:18 [INFO] [stderr] | [INFO] [stderr] 297 | fn get_nodes(&self) -> Vec { [INFO] [stderr] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 297 | fn get_nodes(&self) -> Vec> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2017/d9.rs:306:20 [INFO] [stderr] | [INFO] [stderr] 306 | fn iter_groups(&self) -> impl Iterator { [INFO] [stderr] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 306 | fn iter_groups(&self) -> impl Iterator> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2017/d9.rs:321:21 [INFO] [stderr] | [INFO] [stderr] 321 | fn iter_garbage(&self) -> impl Iterator { [INFO] [stderr] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 321 | fn iter_garbage(&self) -> impl Iterator> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2017/d19.rs:171:24 [INFO] [stderr] | [INFO] [stderr] 171 | fn packet_pos_iter(&self) -> PacketPosIter { [INFO] [stderr] | ^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 171 | fn packet_pos_iter(&self) -> PacketPosIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2017/d24.rs:325:34 [INFO] [stderr] | [INFO] [stderr] 325 | fn run_optimal_bridge_finder(&self) -> OptimalBridgeFinder { [INFO] [stderr] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 325 | fn run_optimal_bridge_finder(&self) -> OptimalBridgeFinder<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2018/d5.rs:400:16 [INFO] [stderr] | [INFO] [stderr] 400 | fn polymer(&self) -> Polymer { [INFO] [stderr] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 400 | fn polymer(&self) -> Polymer<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2018/d5.rs:404:27 [INFO] [stderr] | [INFO] [stderr] 404 | fn unreactive_polymer(&self) -> Polymer { [INFO] [stderr] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 404 | fn unreactive_polymer(&self) -> Polymer<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2018/d5.rs:416:29 [INFO] [stderr] | [INFO] [stderr] 416 | fn removed_unit_polymer(&self, unit_to_remove: u8) -> Polymer { [INFO] [stderr] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 416 | fn removed_unit_polymer(&self, unit_to_remove: u8) -> Polymer<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2018/d5.rs:420:47 [INFO] [stderr] | [INFO] [stderr] 420 | fn removed_unit_type_and_shortest_polymer(&self) -> (char, Polymer) { [INFO] [stderr] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 420 | fn removed_unit_type_and_shortest_polymer(&self) -> (char, Polymer<'_>) { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2018/d6.rs:407:42 [INFO] [stderr] | [INFO] [stderr] 407 | fn least_dangerous_coordinate_finder(&self) -> LeastDangerousCoordinateFinder { [INFO] [stderr] | ^^^^^ ------------------------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 407 | fn least_dangerous_coordinate_finder(&self) -> LeastDangerousCoordinateFinder<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2018/d23.rs:346:22 [INFO] [stderr] | [INFO] [stderr] 346 | fn nano_bot_data(&self) -> NanoBotData { [INFO] [stderr] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 346 | fn nano_bot_data(&self) -> NanoBotData<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2022/d10.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 81 | fn iter(&self) -> Iter<'_, Instruction> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2022/d15.rs:344:22 [INFO] [stderr] | [INFO] [stderr] 344 | fn position_iter(&self) -> PositionIter { [INFO] [stderr] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 344 | fn position_iter(&self) -> PositionIter<'_> { [INFO] [stdout] [INFO] [stderr] | ++++ [INFO] [stdout] running 743 tests [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2022/d17.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | fn iter(&self) -> JetPatternIterator { [INFO] [stderr] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 133 | fn iter(&self) -> JetPatternIterator<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2022/d18.rs:141:54 [INFO] [stderr] | [INFO] [stderr] 141 | fn parse_cube_cooridnates(lava_droplet_cube_str: &str) -> Result { [INFO] [stderr] | ^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 141 | fn parse_cube_cooridnates(lava_droplet_cube_str: &str) -> Result> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2022/d22.rs:788:13 [INFO] [stderr] | [INFO] [stderr] 788 | fn iter(&mut self, cube: bool) -> (TraceStateIter, &mut Vec) { [INFO] [stderr] | ^^^^^^^^^ -------------- -------------------- the lifetimes get resolved as `'_` [INFO] [stderr] | | | [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 788 | fn iter(&mut self, cube: bool) -> (TraceStateIter<'_>, &mut Vec) { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2023/d12.rs:287:18 [INFO] [stderr] | [INFO] [stderr] 287 | fn iter_rows(&self) -> impl Iterator + '_ { [INFO] [stderr] | ^^^^^ --- -- the lifetimes get resolved as `'_` [INFO] [stderr] | | | [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 287 | fn iter_rows(&self) -> impl Iterator> + '_ { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2023/d16.rs:134:22 [INFO] [stderr] | [INFO] [stderr] 134 | fn disperse_beam(&self, initial_beam: Beam) -> Ref> { [INFO] [stderr] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 134 | fn disperse_beam(&self, initial_beam: Beam) -> Ref<'_, HashSet> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2023/d16.rs:154:23 [INFO] [stderr] | [INFO] [stderr] 154 | fn energized_grid(&self, initial_beam: Beam) -> Ref { [INFO] [stderr] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 154 | fn energized_grid(&self, initial_beam: Beam) -> Ref<'_, EnergizedGrid> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2023/d17.rs:216:37 [INFO] [stderr] | [INFO] [stderr] 216 | fn regular_crucible_path_finder(&self) -> MinimalHeatLossPathFinder { [INFO] [stderr] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 216 | fn regular_crucible_path_finder(&self) -> MinimalHeatLossPathFinder<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2023/d17.rs:229:35 [INFO] [stderr] | [INFO] [stderr] 229 | fn ultra_crucible_path_finder(&self) -> MinimalHeatLossPathFinder { [INFO] [stderr] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 229 | fn ultra_crucible_path_finder(&self) -> MinimalHeatLossPathFinder<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2023/d18.rs:229:15 [INFO] [stderr] | [INFO] [stderr] 229 | fn digger(&self) -> Digger { [INFO] [stderr] | ^^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 229 | fn digger(&self) -> Digger<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2023/d23.rs:444:32 [INFO] [stderr] | [INFO] [stderr] 444 | fn old_longest_hike_finder(&self) -> OldLongestHikeFinder { [INFO] [stderr] | ^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 444 | fn old_longest_hike_finder(&self) -> OldLongestHikeFinder<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2024/d16.rs:422:33 [INFO] [stderr] | [INFO] [stderr] 422 | fn run_reindeer_path_finder(&self) -> ReindeerPathFinder { [INFO] [stderr] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 422 | fn run_reindeer_path_finder(&self) -> ReindeerPathFinder<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/y2022/d14.rs:195:31 [INFO] [stderr] | [INFO] [stderr] 195 | fn try_from_str(scan_str: &str, with_floor: bool) -> Result { [INFO] [stderr] | ^^^^ this lifetime flows to the output ------------------ the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 195 | fn try_from_str(scan_str: &str, with_floor: bool) -> Result> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `aoc` (lib) generated 54 warnings (run `cargo fix --lib -p aoc` to apply 2 suggestions) [INFO] [stderr] warning: `aoc` (lib test) generated 46 warnings (45 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.38s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/aoc-154832d144789eb8) [INFO] [stdout] test util::grid::grid_2d::tests::test_corner ... ok [INFO] [stdout] test util::minimal_value_with_all_digit_pairs::tests::test_try_value ... ok [INFO] [stdout] test util::minimal_value_with_all_digit_pairs::tests::print ... ok [INFO] [stdout] test util::minimal_value_with_all_digit_pairs::tests::test_decimal_string ... ok [INFO] [stdout] test util::region_tree::tests::test_midpoint ... ok [INFO] [stdout] test util::template::tests::test_input ... ok [INFO] [stdout] test util::test_boxed_slice_from_array ... ok [INFO] [stdout] test util::test_iter_prime_factors ... ok [INFO] [stdout] test util::test_iter_factors ... ok [INFO] [stdout] test y2016::d10::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d10::tests::test_try_process ... ok [INFO] [stdout] test util::minimal_value_with_all_digit_pairs::tests::test_try_string ... ok [INFO] [stdout] test util::test_extended_euclidean_algorithm ... ok [INFO] [stdout] test y2016::d11::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d12::tests::test_solution_process ... ok [INFO] [stdout] test y2016::d12::tests::test_try_from_str ... ok [INFO] [stdout] test util::test_compute_gcd ... ok [INFO] [stdout] test y2016::d13::tests::test_try_path ... ok [INFO] [stdout] test y2016::d11::tests::test_iter_neighbors ... ok [INFO] [stdout] test y2016::d12::tests::test_instruction_process ... ok [INFO] [stdout] test util::region_tree::tests::test_range_to_range_1_iter ... ok [INFO] [stdout] test y2016::d15::tests::test_try_first_time ... ok [INFO] [stdout] test y2016::d16::tests::test_bitslice_as_string ... ok [INFO] [stdout] test y2016::d13::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d16::tests::test_checksum_for_disc ... ok [INFO] [stdout] test y2016::d15::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d16::tests::test_fill_disc ... ok [INFO] [stdout] test y2016::d14::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d17::tests::test_compute_is_door ... ok [INFO] [stdout] test y2016::d17::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d18::tests::test_as_string ... ok [INFO] [stdout] test util::region_tree::tests::test_range_d_iter_children ... ok [INFO] [stdout] test y2016::d18::tests::test_grow_to_height ... ok [INFO] [stdout] test y2016::d15::tests::test_try_as_disc ... ok [INFO] [stdout] test y2016::d18::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d18::tests::test_safe_tile_count_for_height ... ok [INFO] [stdout] test y2016::d18::tests::test_try_safe_tile_count_for_large_height ... ok [INFO] [stdout] test y2016::d16::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d19::trinary::tests::test_print_table ... ok [INFO] [stdout] test y2016::d1::tests::test_blocks_to_easter_bunny_hq ... ok [INFO] [stdout] test y2016::d19::tests::test_last_elf_with_presents ... ok [INFO] [stdout] test y2016::d19::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d1::tests::test_easter_bunny_hq_poses ... ok [INFO] [stdout] test y2016::d1::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d1::tests::test_try_get_first_repeat_pos ... ok [INFO] [stdout] test y2016::d20::tests::test_try_min_allowed ... ok [INFO] [stdout] test y2016::d21::tests::test_try_execute ... ok [INFO] [stdout] test y2016::d21::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d21::tests::test_try_scramble ... ok [INFO] [stdout] test y2016::d20::tests::test_deny ... ok [INFO] [stdout] test y2016::d22::tests::test_try_from_str ... ok [INFO] [stdout] test util::region_tree::tests::test_range_to_range_d_iter ... ok [INFO] [stdout] test y2016::d24::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d22::tests::test_try_simple_grid ... ok [INFO] [stdout] test y2016::d23::tests::test_a_after_process ... ok [INFO] [stdout] test y2016::d24::tests::test_try_min_hamiltonian_path_dist ... ok [INFO] [stdout] test y2016::d2::tests::test_bathroom_code ... ok [INFO] [stdout] test y2016::d20::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d2::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d3::tests::test_count_possible_transposed_triangles ... ok [INFO] [stdout] test y2016::d3::tests::test_count_possible_triangles ... ok [INFO] [stdout] test y2016::d3::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d4::tests::test_is_real ... ok [INFO] [stdout] test y2016::d22::tests::test_try_steps_to_access_goal_data ... ok [INFO] [stdout] test y2016::d4::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d2::tests::test_iter_poses ... ok [INFO] [stdout] test y2016::d4::tests::test_real_name ... ok [INFO] [stdout] test y2016::d2::tests::test_digit ... ok [INFO] [stdout] test y2016::d4::tests::test_sum_real_sector_ids ... ok [INFO] [stdout] test y2016::d5::tests::test_try_get_char ... ok [INFO] [stdout] test util::region_tree::tests::test_range_d_try_from_glam_vec_range ... ok [INFO] [stdout] test y2016::d5::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d6::tests::test_least_common_present_letter_string ... ok [INFO] [stdout] test y2016::d7::tests::test_supports_tls ... ok [INFO] [stdout] test y2016::d7::tests::test_supports_ssl ... ok [INFO] [stdout] test y2016::d8::tests::test_instruction_process ... ok [INFO] [stdout] test y2016::d8::tests::test_lit_pixel_count_for_grid ... ok [INFO] [stdout] test y2016::d6::tests::test_most_common_letter_string ... ok [INFO] [stdout] test y2016::d7::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d6::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d9::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d9::tests::test_version_two_decompressed_len ... ok [INFO] [stdout] test y2016::d8::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d9::tests::test_decompress ... ok [INFO] [stdout] test y2017::d10::tests::test_initial_pair_product_after_knotting_for_len ... ok [INFO] [stdout] test y2017::d10::tests::test_knot_hash_state_knot_len ... ok [INFO] [stdout] test y2017::d11::tests::test_hex_manhattan_distance ... ok [INFO] [stdout] test y2017::d11::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d10::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d12::tests::test_sub_graph_incl_0_programs_count ... ok [INFO] [stdout] test y2017::d12::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d9::tests::test_decompressed_len ... ok [INFO] [stdout] test y2017::d10::tests::test_knot_hash_for_str ... ok [INFO] [stdout] test y2017::d13::tests::test_sum_severity_of_caught_firewall_layers ... ok [INFO] [stdout] test y2017::d13::tests::test_min_delay_to_not_get_caught ... ok [INFO] [stdout] test y2017::d13::tests::test_iter_caught_firewall_layers ... ok [INFO] [stdout] test y2017::d12::tests::test_disjoint_sub_graph_count ... ok [INFO] [stdout] test y2017::d13::tests::test_try_from_str ... ok [INFO] [stdout] test y2016::d17::tests::test_try_shortest_path_to_end_string ... ok [INFO] [stdout] test y2016::d11::tests::test_try_steps_to_assembly ... ok [INFO] [stdout] test util::template::tests::test_try_from_str ... FAILED [INFO] [stdout] test y2017::d15::tests::test_generator_next ... ok [INFO] [stdout] test y2017::d15::tests::test_generator_state_judge_next ... ok [INFO] [stdout] test y2016::d15::tests::test ... FAILED [INFO] [stdout] test y2017::d16::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d16::tests::test_try_perform ... ok [INFO] [stdout] test y2017::d17::tests::test_buffer_insert ... ok [INFO] [stdout] test y2017::d17::tests::test_print_triangle ... ok [INFO] [stdout] test y2017::d17::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d17::tests::test_value_after_value_after_insertions ... ok [INFO] [stdout] test y2017::d18::tests::test_input ... ok [INFO] [stdout] test y2017::d18::tests::test_single_state_execute ... ok [INFO] [stdout] test y2017::d18::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d19::tests::test_input ... ok [INFO] [stdout] test y2017::d19::tests::test_packet_letters ... ok [INFO] [stdout] test y2017::d19::tests::test_packet_pos_count ... ok [INFO] [stdout] test y2017::d19::tests::test_packet_pos_iter ... ok [INFO] [stdout] test y2017::d19::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d1::tests::test_sum_digits_where_across_matches ... ok [INFO] [stdout] test y2017::d1::tests::test_sum_digits_where_next_matches ... ok [INFO] [stdout] test y2017::d1::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d20::tests::test_input ... ok [INFO] [stdout] test y2017::d20::tests::test_long_term_closest_particle_index ... ok [INFO] [stdout] test y2017::d20::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d21::tests::test_input ... ok [INFO] [stdout] test y2017::d21::tests::test_try_enhance ... ok [INFO] [stdout] test y2017::d21::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d22::tests::test_burst ... ok [INFO] [stdout] test util::minimal_value_with_all_digit_pairs::tests::test_try_sequence ... ok [INFO] [stdout] test y2017::d22::tests::test_infections_after_simple_bursts ... ok [INFO] [stdout] test y2017::d22::tests::test_input ... ok [INFO] [stdout] test y2017::d14::tests::test_try_from_str_and_get ... ok [INFO] [stdout] test y2017::d23::tests::test_input ... ok [INFO] [stdout] test y2017::d22::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d24::tests::test_input ... ok [INFO] [stdout] test y2017::d24::tests::test_strongest_bridge_component_path_and_strength ... ok [INFO] [stdout] test y2017::d14::tests::test_count_used_squares ... ok [INFO] [stdout] test y2017::d25::tests::test_diagnostic_checksum_after_steps ... ok [INFO] [stdout] test y2017::d25::tests::test_input ... ok [INFO] [stdout] test y2017::d25::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d2::tests::test_checksum ... ok [INFO] [stdout] test y2017::d2::tests::test_iter_row_evenly_divisible_pairs ... ok [INFO] [stdout] test y2017::d2::tests::test_iter_row_ranges ... ok [INFO] [stdout] test y2017::d2::tests::test_quotient_sum ... ok [INFO] [stdout] test y2017::d2::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d3::tests::test_first_value_larger_than_self ... ok [INFO] [stdout] test y2017::d3::tests::test_grid_index_from_ivec2 ... ok [INFO] [stdout] test y2017::d3::tests::test_ivec2_from_grid_index ... ok [INFO] [stdout] test y2017::d3::tests::test_manhattan_distance_to_access_port ... ok [INFO] [stdout] test y2017::d3::tests::test_ring_size ... ok [INFO] [stdout] test y2017::d3::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d4::tests::test_doubly_valid_passphrase_count ... ok [INFO] [stdout] test y2017::d4::tests::test_is_passphrase_doubly_valid ... ok [INFO] [stdout] test y2017::d4::tests::test_is_passphrase_valid ... ok [INFO] [stdout] test y2017::d4::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d4::tests::test_valid_passphrase_count ... ok [INFO] [stdout] test y2017::d5::tests::test_steps_until_exit_with_jumps ... ok [INFO] [stdout] test y2017::d5::tests::test_strange_steps_until_exit_with_jumps ... ok [INFO] [stdout] test y2017::d5::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d6::tests::test_cycle_period ... ok [INFO] [stdout] test y2017::d6::tests::test_steps_until_cycle_detection ... ok [INFO] [stdout] test y2017::d6::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d23::tests::test_try_from_str ... FAILED [INFO] [stdout] test y2017::d7::tests::test_bottom_program_name ... ok [INFO] [stdout] test y2017::d7::tests::test_try_find_correct_weight ... ok [INFO] [stdout] test y2017::d7::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d8::tests::test_largest_value_post_process ... ok [INFO] [stdout] test y2017::d8::tests::test_process ... ok [INFO] [stdout] test y2017::d8::tests::test_largest_value ... ok [INFO] [stdout] test y2017::d8::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d9::tests::test_garbage_non_canceled_chars_count ... ok [INFO] [stdout] test y2017::d9::tests::test_count_groups ... ok [INFO] [stdout] test y2017::d9::tests::test_total_score ... ok [INFO] [stdout] test y2017::d9::tests::test_garbage_parse ... ok [INFO] [stdout] test y2017::d9::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d10::tests::test_input ... ok [INFO] [stdout] test y2018::d10::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d10::tests::test_find_message_and_seconds ... ok [INFO] [stdout] test y2017::d24::tests::test_try_from_str ... FAILED [INFO] [stdout] test y2018::d11::tests::test_input ... ok [INFO] [stdout] test y2018::d11::tests::test_power_level ... ok [INFO] [stdout] test y2018::d11::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d12::tests::test_input ... ok [INFO] [stdout] test y2018::d12::tests::test_iter_pots_with_plants ... ok [INFO] [stdout] test y2017::d14::tests::test_count_regions ... ok [INFO] [stdout] test y2018::d12::tests::test_pots_with_plants_sum_after_generations ... ok [INFO] [stdout] test y2018::d12::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d13::tests::test_first_crash_location ... ok [INFO] [stdout] test y2018::d13::tests::test_input ... ok [INFO] [stdout] test y2018::d13::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d13::tests::test_try_last_cart_location ... ok [INFO] [stdout] test y2018::d14::tests::test_input ... ok [INFO] [stdout] test y2018::d14::tests::test_ten_scores_after_improvement ... ok [INFO] [stdout] test y2018::d14::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d12::tests::test_next_generation ... ok [INFO] [stdout] test y2018::d15::tests::test_input ... ok [INFO] [stdout] test y2018::d15::tests::test_outcome ... ok [INFO] [stdout] test y2017::d14::tests::test_find_regions ... ok [INFO] [stdout] test y2018::d15::tests::test_run_round ... ok [INFO] [stdout] test y2018::d15::tests::test_try_choose_movement_pos ... ok [INFO] [stdout] test y2018::d15::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d16::tests::test_input ... ok [INFO] [stdout] test y2018::d16::tests::test_potential_op_codes ... ok [INFO] [stdout] test y2018::d16::tests::test_sample_count_with_min_potential_op_codes ... ok [INFO] [stdout] test y2018::d16::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d17::tests::test_count_water_reachable_tiles ... ok [INFO] [stdout] test y2018::d17::tests::test_input ... ok [INFO] [stdout] test y2018::d17::tests::test_run ... ok [INFO] [stdout] test y2018::d17::tests::test_scan_update ... ok [INFO] [stdout] test y2018::d17::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d18::tests::test_input ... ok [INFO] [stdout] test y2018::d18::tests::test_total_resource_value_after_minutes ... ok [INFO] [stdout] test y2018::d18::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d18::tests::test_update ... ok [INFO] [stdout] test y2018::d19::tests::test_input ... ok [INFO] [stdout] test y2018::d19::tests::test_try_execute_instruction ... ok [INFO] [stdout] test y2018::d19::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d19::tests::test_try_register_0_after_run ... ok [INFO] [stdout] test y2018::d1::tests::test_first_repeated_frequency ... ok [INFO] [stdout] test y2018::d1::tests::test_input ... ok [INFO] [stdout] test y2018::d1::tests::test_sum_frequency_changes ... ok [INFO] [stdout] test y2018::d1::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d15::tests::test_run ... ok [INFO] [stdout] test y2018::d20::tests::test_input ... ok [INFO] [stdout] test y2018::d21::tests::test_input ... ok [INFO] [stdout] test y2018::d20::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d22::tests::test_grid_string ... ok [INFO] [stdout] test y2018::d21::tests::test_try_from_str ... FAILED [INFO] [stdout] test y2018::d22::tests::test_input ... ok [INFO] [stdout] test y2018::d23::tests::test_count_nano_bots_in_range_of_strongest_nano_bot ... ok [INFO] [stdout] test y2018::d23::tests::test_input ... ok [INFO] [stdout] test y2018::d23::tests::test_is_in_range ... ok [INFO] [stdout] test y2018::d23::tests::test_maximum_clique_run ... ok [INFO] [stdout] test y2018::d22::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d23::tests::test_octahedron_intersection_bitand_assign ... ok [INFO] [stdout] test y2018::d23::tests::test_octahedron_intersection_contains ... ok [INFO] [stdout] test y2018::d23::tests::test_octahedron_intersection_new ... ok [INFO] [stdout] test y2018::d23::tests::test_strongest_nano_bot ... ok [INFO] [stdout] test y2018::d23::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d2::tests::test_checksum ... ok [INFO] [stdout] test y2018::d2::tests::test_find_prototype_fabric_box_ids_and_common_letters ... ok [INFO] [stdout] test y2018::d2::tests::test_input ... ok [INFO] [stdout] test y2018::d2::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d3::tests::test_find_no_overlap_claim_id ... ok [INFO] [stdout] test y2018::d3::tests::test_input ... ok [INFO] [stdout] test y2018::d3::tests::test_overlap_fabric_area ... ok [INFO] [stdout] test y2018::d3::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d4::tests::test_input ... ok [INFO] [stdout] test y2018::d4::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d4::tests::test_try_most_asleep_minute_and_days_asleep ... ok [INFO] [stdout] test y2018::d4::tests::test_try_most_minutes_asleep_guard_index ... ok [INFO] [stdout] test y2018::d4::tests::test_try_strategy_1_most_asleep_guard_id_minute_and_days_asleep ... ok [INFO] [stdout] test y2018::d4::tests::test_try_strategy_2_most_asleep_guard_id_minute_and_days_asleep ... ok [INFO] [stdout] test y2018::d5::tests::test_display_fmt ... ok [INFO] [stdout] test y2018::d23::tests::test_octahedron_intersection_manhattan_distance ... ok [INFO] [stdout] test y2018::d5::tests::test_input ... ok [INFO] [stdout] test y2018::d5::tests::test_polymer ... ok [INFO] [stdout] test y2018::d5::tests::test_removed_unit_type_and_shortest_polymer ... ok [INFO] [stdout] test y2018::d5::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d5::tests::test_removed_unit_polymer ... ok [INFO] [stdout] test y2018::d6::tests::test_count_cells_with_total_dist_less_than_threshold ... ok [INFO] [stdout] test y2018::d5::tests::test_unreactive_polymer ... ok [INFO] [stdout] test y2018::d6::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d6::tests::test_try_largest_finite_area ... ok [INFO] [stdout] test y2018::d6::tests::test_input ... ok [INFO] [stdout] test y2018::d7::tests::test_try_compute_step_order ... ok [INFO] [stdout] test y2018::d7::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d7::tests::try_compute_multi_worker_step_order_and_time ... ok [INFO] [stdout] test y2018::d7::tests::test_input ... ok [INFO] [stdout] test y2018::d8::tests::test_input ... ok [INFO] [stdout] test y2018::d8::tests::test_try_from_str ... ok [INFO] [stdout] test y2018::d8::tests::test_sum_all_metadata ... ok [INFO] [stdout] test y2018::d8::tests::test_visit_all_metadata ... ok [INFO] [stdout] test y2018::d8::tests::test_value ... ok [INFO] [stdout] test y2018::d9::tests::test_input ... ok [INFO] [stdout] test y2018::d9::tests::test_place_marble_and_iter_full_circle ... ok [INFO] [stdout] test y2018::d9::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d10::tests::test_middle_completion_score ... ok [INFO] [stdout] test y2018::d9::tests::test_high_score ... ok [INFO] [stdout] test y2021::d10::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d10::tests::test_total_syntax_error_score ... ok [INFO] [stdout] test y2021::d11::tests::test_run ... ok [INFO] [stdout] test y2021::d11::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d12::tests::test_count_paths ... ok [INFO] [stdout] test y2021::d11::tests::test_steps_until_syncrhonization ... ok [INFO] [stdout] test y2021::d12::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d13::tests::test_count_dots_after_1_fold ... ok [INFO] [stdout] test y2021::d13::tests::test_dot_grid ... ok [INFO] [stdout] test y2021::d13::tests::test_run_folds ... ok [INFO] [stdout] test y2016::d14::tests::test_compute_hash_runs ... ok [INFO] [stdout] test y2021::d13::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d14::tests::test_rule_frequencies_polymer_template ... ok [INFO] [stdout] test y2021::d14::tests::test_frequencies ... ok [INFO] [stdout] test y2021::d14::tests::test_rule_frequencies_steps ... ok [INFO] [stdout] test y2021::d14::tests::test_run ... ok [INFO] [stdout] test y2021::d14::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d15::tests::test_entire_cave ... ok [INFO] [stdout] test y2021::d15::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d16::tests::test_hex_str_index ... ok [INFO] [stdout] test y2021::d16::tests::test_hex_str_iter_elements ... ok [INFO] [stdout] test y2021::d16::tests::test_packet_parse_literal ... ok [INFO] [stdout] test y2021::d16::tests::test_packet_parse_sub_packets_len_type_0 ... ok [INFO] [stdout] test y2021::d16::tests::test_packet_parse_sub_packets_len_type_1 ... ok [INFO] [stdout] test y2021::d16::tests::test_packet_parse_value ... ok [INFO] [stdout] test y2021::d16::tests::test_solution_try_from_str ... ok [INFO] [stdout] test y2021::d16::tests::test_sum_packet_versions ... ok [INFO] [stdout] test y2021::d16::tests::test_value ... ok [INFO] [stdout] test y2021::d15::tests::test_find_lowest_total_risk_path ... ok [INFO] [stdout] test y2021::d17::tests::test_compute_x_velocity_data_pair ... ok [INFO] [stdout] test y2021::d17::tests::test_compute_trajectories ... ok [INFO] [stdout] test y2021::d17::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d18::tests::test_element_magnitude ... ok [INFO] [stdout] test y2021::d18::tests::test_snailfish_number_try_explode ... ok [INFO] [stdout] test y2021::d18::tests::test_snailfish_number_try_from_str ... ok [INFO] [stdout] test y2021::d18::tests::test_snailfish_number_add ... ok [INFO] [stdout] test y2021::d18::tests::test_snailfish_number_try_split ... ok [INFO] [stdout] test y2021::d18::tests::test_solution_sum ... ok [INFO] [stdout] test y2021::d18::tests::test_solution_maximum_magnitude ... ok [INFO] [stdout] test y2021::d19::ivec3_util::tests::test_constants ... ok [INFO] [stdout] test y2021::d19::tests::test_delta_new ... ok [INFO] [stdout] test y2021::d19::tests::test_transformation_transform ... ok [INFO] [stdout] test y2021::d19::tests::test_compute_overlap ... ok [INFO] [stdout] test y2021::d19::tests::test_try_compute_largest_manhattan_distance ... ok [INFO] [stdout] test y2021::d19::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d1::tests::test_count_increases ... ok [INFO] [stdout] test y2021::d19::tests::test_try_compute_all_beacons ... ok [INFO] [stdout] test y2021::d1::tests::test_count_increases_of_rolling_window_3 ... ok [INFO] [stdout] test y2021::d1::tests::test_try_from_str ... ok [INFO] [stdout] test y2017::d15::tests::test_count_successful_picky_judgements ... ok [INFO] [stdout] test y2021::d20::tests::test_enhance ... ok [INFO] [stdout] test y2021::d20::tests::test_try_as_string ... ok [INFO] [stdout] test y2021::d20::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d21::tests::test_deterministic_die_rolls ... ok [INFO] [stdout] test y2021::d21::tests::test_game_state_play ... ok [INFO] [stdout] test y2021::d21::tests::test_player_state_take_turn ... ok [INFO] [stdout] test y2021::d21::tests::test_solution_play_with_100_sided_deterministic_die ... ok [INFO] [stdout] test y2017::d16::tests::test_decomposed_transformations ... ok [INFO] [stdout] test y2021::d21::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d22::tests::test_node_execute_and_on_cubes ... ok [INFO] [stdout] test y2021::d20::tests::test_count_light_pixels ... ok [INFO] [stdout] test y2021::d12::tests::test_count_paths_with_revisit ... ok [INFO] [stdout] test y2021::d22::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d23::tests::test_organize_amphipods_neighbors_short_circuit ... ok [INFO] [stdout] test y2021::d23::tests::test_position_state_parse ... ok [INFO] [stdout] test y2021::d23::tests::test_side_room_state_locked_amphipods ... ok [INFO] [stdout] test y2021::d21::tests::test_solution_play_with_dirac_die ... ok [INFO] [stdout] test y2021::d23::tests::test_solution_try_as_string ... ok [INFO] [stdout] test y2021::d23::tests::test_side_room_state_new ... ok [INFO] [stdout] test y2021::d23::tests::test_solution_try_from_str ... ok [INFO] [stdout] test y2018::d15::tests::test_elf_win_outcome_and_solution ... ok [INFO] [stdout] test y2021::d24::tests::test_instruction_process ... ok [INFO] [stdout] test y2021::d24::tests::test_model_number_try_from_u64 ... ok [INFO] [stdout] test y2021::d24::tests::test_solution_try_from_str ... ok [INFO] [stdout] test y2021::d25::tests::test_solution_step ... ok [INFO] [stdout] test y2021::d25::tests::test_solution_steps_until_stationary ... ok [INFO] [stdout] test y2021::d25::tests::test_solution_try_from_str ... ok [INFO] [stdout] test y2021::d2::tests::test_compute_h_pos_and_depth ... ok [INFO] [stdout] test y2021::d2::tests::test_compute_h_pos_and_depth_with_aim ... ok [INFO] [stdout] test y2021::d2::tests::test_compute_product ... ok [INFO] [stdout] test y2021::d2::tests::test_compute_product_with_aim ... ok [INFO] [stdout] test y2021::d2::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d3::tests::test_compute_co2_scrubber_rating ... ok [INFO] [stdout] test y2021::d3::tests::test_compute_gamma_and_epsilon_rates ... ok [INFO] [stdout] test y2021::d3::tests::test_compute_life_support_rating ... ok [INFO] [stdout] test y2021::d3::tests::test_compute_oxygen_generator_rating ... ok [INFO] [stdout] test y2021::d3::tests::test_compute_power_consumption ... ok [INFO] [stdout] test y2021::d3::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d4::tests::test_compute_first_scored_winning_board ... ok [INFO] [stdout] test y2021::d4::tests::test_compute_last_scored_winning_board ... ok [INFO] [stdout] test y2021::d4::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d20::tests::test_count_light_pixels_after_enhancements ... ok [INFO] [stdout] test y2021::d5::tests::test_compute_horizontal_and_vertical_overlaps ... ok [INFO] [stdout] test y2021::d5::tests::test_compute_all_overlaps ... ok [INFO] [stdout] test y2021::d5::tests::test_try_all_grid ... ok [INFO] [stdout] test y2021::d5::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d5::tests::test_try_horizontal_and_vertical_grid ... ok [INFO] [stdout] test y2021::d6::tests::test_count_lanternfish ... ok [INFO] [stdout] test y2021::d6::tests::test_build_timers ... ok [INFO] [stdout] test y2021::d6::tests::test_step ... ok [INFO] [stdout] test y2021::d6::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d7::tests::linear::test_minimum_total_linear_cost ... ok [INFO] [stdout] test y2021::d7::tests::linear::test_total_linear_costs ... ok [INFO] [stdout] test y2021::d7::tests::linear::test_total_linear_cost ... ok [INFO] [stdout] test y2021::d7::tests::triangular::test_minimum_total_triangular_cost ... ok [INFO] [stdout] test y2021::d7::tests::test_try_from_str ... ok [INFO] [stdout] test y2021::d7::tests::triangular::test_total_triangular_cost ... ok [INFO] [stdout] test y2021::d7::tests::triangular::test_total_triangular_costs ... ok [INFO] [stdout] test y2021::d8::tests::test_count_unique_segment_counts ... ok [INFO] [stdout] test y2021::d8::tests::test_entry_decipher ... ok [INFO] [stdout] test y2021::d8::tests::test_solution_try_from_str ... ok [INFO] [stdout] test y2021::d8::tests::test_sum_values ... ok [INFO] [stdout] test y2021::d8::tests::test_unique_signal_patterns_cipher ... ok [INFO] [stdout] test y2021::d9::tests::test_basins ... ok [INFO] [stdout] test y2021::d8::tests::test_entry_try_from_str ... ok [INFO] [stdout] test y2021::d9::tests::test_height_only_grid_try_from_str ... ok [INFO] [stdout] test y2021::d9::tests::test_largest_3_basin_sizes_product ... ok [INFO] [stdout] test y2021::d9::tests::test_low_point_risk_levels ... ok [INFO] [stdout] test y2021::d9::tests::test_low_points ... ok [INFO] [stdout] test y2021::d9::tests::test_solution_from_height_only_grid ... ok [INFO] [stdout] test y2022::d10::tests::test_crt ... ok [INFO] [stdout] test y2022::d10::tests::test_instructions_try_from_str ... ok [INFO] [stdout] test y2022::d10::tests::test_signal_strengths ... ok [INFO] [stdout] test y2021::d9::tests::test_low_point_risk_levels_sum ... ok [INFO] [stdout] test y2022::d11::tests::test_monkey_business ... ok [INFO] [stdout] test y2022::d11::tests::test_run_rounds ... ok [INFO] [stdout] test y2022::d11::tests::test_try_from_str ... ok [INFO] [stdout] test y2022::d12::tests::test_a_star_ascent ... ok [INFO] [stdout] test y2022::d12::tests::test_bfs_descent ... ok [INFO] [stdout] test y2022::d12::tests::test_solution_try_from_str ... ok [INFO] [stdout] test y2022::d13::tests::test_decoder_key ... ok [INFO] [stdout] test y2022::d13::tests::test_packet_partial_cmp ... ok [INFO] [stdout] test y2022::d13::tests::test_packet_partial_cmp_vs_partial_eq ... ok [INFO] [stdout] test y2022::d11::tests::test_run_rounds_with_worry_and_modulus ... ok [INFO] [stdout] test y2022::d13::tests::test_packets_from_packet_pairs ... ok [INFO] [stdout] test y2022::d13::tests::test_packets_try_from_str ... ok [INFO] [stdout] test y2022::d13::tests::test_right_order_pair_index_sum ... ok [INFO] [stdout] test y2022::d13::tests::test_solution_try_from_str ... ok [INFO] [stdout] test y2022::d14::tests::test_scan_grid_string ... ok [INFO] [stdout] test y2022::d14::tests::test_scan_grid_try_from_str ... ok [INFO] [stdout] test y2022::d14::tests::test_scan_scan_grid ... ok [INFO] [stdout] test y2022::d14::tests::test_solution_try_from_str ... ok [INFO] [stdout] test y2022::d15::tests::test_count_positions_that_cannot_contain_beacon_in_row ... ok [INFO] [stdout] test y2022::d15::tests::test_find_undetected_beacon_in_range_brute_force ... ok [INFO] [stdout] test y2022::d15::tests::test_full ... ok [INFO] [stdout] test y2022::d15::tests::test_quad_tree_find_gap ... ok [INFO] [stdout] test y2022::d15::tests::test_sensor_readings_try_from_str ... ok [INFO] [stdout] test y2022::d15::tests::test_tuning_frequency ... ok [INFO] [stdout] test y2022::d14::tests::test_scan_grid_add_sand ... ok [INFO] [stdout] test y2022::d16::tests::test_pressure_release_explorer ... ok [INFO] [stdout] test y2022::d16::tests::test_scan_lines_to_useful_trips ... ok [INFO] [stdout] test y2022::d16::tests::test_scan_lines_try_from_str ... ok [INFO] [stdout] test y2022::d17::tests::test_falling_rock_simulation ... ok [INFO] [stdout] test y2017::d15::tests::test_count_successful_judgements ... ok [INFO] [stdout] test y2022::d17::tests::test_jet_pattern_try_from_str ... ok [INFO] [stdout] test y2022::d18::tests::test_lava_droplet_scan_surface_area ... ok [INFO] [stdout] test y2022::d18::tests::test_lava_droplet_scan_surface_area_external_only ... ok [INFO] [stdout] test y2022::d18::tests::test_lava_droplet_scan_try_from_str ... ok [INFO] [stdout] test y2022::d19::tests::test_blueprints_try_from_str ... ok [INFO] [stdout] test y2021::d22::tests::test_solution_count_on_cubes ... ok [INFO] [stdout] test y2021::d22::tests::test_solution_count_on_cubes_in_init_proc_region ... ok [INFO] [stdout] test y2022::d1::tests::test_calories_sum_of_max_calories_elf ... ok [INFO] [stdout] test y2022::d1::tests::test_calories_sum_of_top_3_calories_elves ... ok [INFO] [stdout] test y2022::d20::tests::test_encrypted_file_grove_coordinates ... ok [INFO] [stdout] test y2022::d20::tests::test_encrypted_file_grove_coordinates_sum ... ok [INFO] [stdout] test y2022::d20::tests::test_encrypted_file_mix ... ok [INFO] [stdout] test y2022::d20::tests::test_encrypted_file_try_from_str ... ok [INFO] [stdout] test y2022::d21::tests::test_expressions_compute_variable_value ... ok [INFO] [stdout] test y2022::d21::tests::test_expressions_try_from_str ... ok [INFO] [stdout] test y2022::d21::tests::test_expressions_value_for_tag ... ok [INFO] [stdout] test y2022::d21::tests::test_expressions_values_for_tag ... ok [INFO] [stdout] test y2022::d22::tests::cube_net::test_password_tracer_coincident_corners ... ok [INFO] [stdout] test y2022::d22::tests::cube_net::test_password_tracer_perimeter ... ok [INFO] [stdout] test y2022::d22::tests::test_instructions_try_from_str ... ok [INFO] [stdout] test y2022::d22::tests::test_map_try_from_str ... ok [INFO] [stdout] test y2022::d22::tests::test_password_tracer_final_password ... ok [INFO] [stdout] test y2022::d22::tests::test_password_tracer_final_password_cube ... ok [INFO] [stdout] test y2022::d22::tests::test_password_tracer_run ... ok [INFO] [stdout] test y2022::d22::tests::test_password_tracer_run_cube ... ok [INFO] [stdout] test y2022::d22::tests::test_sqrt ... ok [INFO] [stdout] test y2022::d23::tests::test_elf_grid_empty_ground_tiles ... ok [INFO] [stdout] test y2022::d23::tests::test_elf_grid_run ... ok [INFO] [stdout] test y2022::d23::tests::test_elf_grid_run_until_static ... ok [INFO] [stdout] test y2022::d17::tests::test_falling_rock_simulation_one_trillion_rocks ... ok [INFO] [stdout] test y2022::d24::tests::test_blizzard_grid_3d_fill_out_period ... ok [INFO] [stdout] test y2022::d23::tests::test_elf_grid_try_from_str ... ok [INFO] [stdout] test y2022::d24::tests::test_blizzard_grid_3d_path_to_end ... ok [INFO] [stdout] test y2022::d24::tests::test_blizzard_grid_3d_path_to_end_then_start_then_end ... ok [INFO] [stdout] test y2022::d25::tests::test_snafu_sum ... ok [INFO] [stdout] test y2022::d24::tests::test_blizzard_grid_3d_try_from_str ... ok [INFO] [stdout] test y2022::d2::tests::test_rps_cmp ... ok [INFO] [stdout] test y2022::d25::tests::test_snafu_to_decimal ... ok [INFO] [stdout] test y2022::d2::tests::test_total_score_from_opponent_and_outcome ... ok [INFO] [stdout] test y2022::d3::tests::test_sum_rucksack_priorities ... ok [INFO] [stdout] test y2022::d3::tests::test_sum_rucksack_priorities_for_groups_of_3 ... ok [INFO] [stdout] test y2022::d4::tests::test_count_overlapping_sa_pairs ... ok [INFO] [stdout] test y2022::d4::tests::test_count_sa_pairs_with_fully_contained_sas ... ok [INFO] [stdout] test y2022::d4::tests::test_try_from_str ... ok [INFO] [stdout] test y2022::d5::tests::test_cargo_stacks_try_from_str ... ok [INFO] [stdout] test y2022::d2::tests::test_total_score_from_opponent_and_response ... ok [INFO] [stdout] test y2022::d5::tests::test_crate_mover_9001 ... ok [INFO] [stdout] test y2022::d5::tests::test_drawing_grid_try_from_str ... ok [INFO] [stdout] test y2022::d5::tests::test_crate_mover_9000 ... ok [INFO] [stdout] test y2022::d5::tests::test_rearrangement_procedure_try_from_str ... ok [INFO] [stdout] test y2022::d5::tests::test_solution_try_from_str ... ok [INFO] [stdout] test y2022::d7::tests::test_smallest_directory_to_free_30m_of_70m ... ok [INFO] [stdout] test y2022::d7::tests::test_sum_directory_sizes_at_most_100k ... ok [INFO] [stdout] test y2022::d7::tests::test_try_from_str ... ok [INFO] [stdout] test y2022::d6::tests::test_detect_start_of_packet_marker ... ok [INFO] [stdout] test y2022::d8::tests::test_compute_is_visible_count ... ok [INFO] [stdout] test y2022::d8::tests::test_try_from_str ... ok [INFO] [stdout] test y2022::d8::tests::test_compute_scenic_score_max ... ok [INFO] [stdout] test y2022::d9::tests::test_compute_initial_and_dimensions ... ok [INFO] [stdout] test y2022::d9::tests::test_count_tails ... ok [INFO] [stdout] test y2022::d9::tests::test_motion_sequence_try_from_str ... ok [INFO] [stdout] test y2022::d9::tests::test_full ... ok [INFO] [stdout] test y2022::d9::tests::test_state_iter ... ok [INFO] [stdout] test y2022::d9::tests::test_ten_knots ... ok [INFO] [stdout] test y2022::d9::tests::test_visit ... ok [INFO] [stdout] test y2023::d10::tests::test_loop_data ... ok [INFO] [stdout] test y2023::d10::tests::test_inside_pos_count ... ok [INFO] [stdout] test y2023::d10::tests::test_trim ... ok [INFO] [stdout] test y2023::d10::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d11::tests::test_expand ... ok [INFO] [stdout] test y2023::d11::tests::test_large_expansion ... ok [INFO] [stdout] test y2023::d11::tests::test_sum_small_expanded_dists ... ok [INFO] [stdout] test y2023::d11::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d10::tests::test_paint_inside_and_outside ... ok [INFO] [stdout] test y2023::d12::tests::test_different_arrangement_count ... ok [INFO] [stdout] test y2023::d12::tests::test_different_arrangement_count_sum ... ok [INFO] [stdout] test y2023::d12::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d12::tests::test_unfold ... ok [INFO] [stdout] test y2023::d13::tests::test_iter_smudged_reflection_lines ... ok [INFO] [stdout] test y2023::d13::tests::test_summarize_notes ... ok [INFO] [stdout] test y2023::d13::tests::test_summarize_smudged_notes ... ok [INFO] [stdout] test y2023::d13::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d13::tests::test_iter_reflection_lines ... ok [INFO] [stdout] test y2023::d14::tests::test_spin_cycle ... ok [INFO] [stdout] test y2023::d14::tests::test_tilt ... ok [INFO] [stdout] test y2023::d14::tests::test_tilted_total_load ... ok [INFO] [stdout] test y2023::d14::tests::test_total_load ... ok [INFO] [stdout] test y2023::d14::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d15::tests::test_holiday_ascii_string_helper_algorithm ... ok [INFO] [stdout] test y2023::d15::tests::test_holiday_ascii_string_helper_manual_arrangement_procedure ... ok [INFO] [stdout] test y2023::d15::tests::test_iter_hashmap_focusing_powers ... ok [INFO] [stdout] test y2023::d15::tests::test_iter_step_hashes ... ok [INFO] [stdout] test y2023::d15::tests::test_sum_hashmap_focusing_powers ... ok [INFO] [stdout] test y2023::d15::tests::test_sum_step_hashes ... ok [INFO] [stdout] test y2023::d15::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d16::tests::test_energized_grid ... ok [INFO] [stdout] test y2023::d16::tests::test_energized_tile_count ... ok [INFO] [stdout] test y2023::d16::tests::test_maximally_energized_tile_count ... ok [INFO] [stdout] test y2023::d16::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d14::tests::test_extrapolate_total_loads_after_many_spin_cycles ... ok [INFO] [stdout] test y2023::d17::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d17::tests::test_regular_crucible_minimal_heat_loss ... ok [INFO] [stdout] test y2023::d18::tests::test_cubic_meters_of_lava_from_colors ... ok [INFO] [stdout] test y2023::d18::tests::test_cubic_meters_of_lave ... ok [INFO] [stdout] test y2023::d18::tests::test_digger_dig_interior ... ok [INFO] [stdout] test y2023::d18::tests::test_digger_dig_trenches ... ok [INFO] [stdout] test y2023::d18::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d19::tests::test_condition_opposite ... ok [INFO] [stdout] test y2023::d19::tests::test_distinct_combinations ... ok [INFO] [stdout] test y2023::d19::tests::test_iter_accepted_parts ... ok [INFO] [stdout] test y2023::d19::tests::test_sum_accepted_part_ratings ... ok [INFO] [stdout] test y2023::d19::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d1::tests::test_sum_calibration_values ... ok [INFO] [stdout] test y2023::d1::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d17::tests::test_ultra_crucible_minimal_heat_loss ... ok [INFO] [stdout] test y2023::d20::tests::test_warmup_report ... ok [INFO] [stdout] test y2023::d20::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d21::tests::test_reachable_garden_plots ... ok [INFO] [stdout] test y2023::d21::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d21::tests::test_valid_multi_map_reachable_garden_plots ... ok [INFO] [stdout] test y2023::d22::tests::test_iter_fallen_bricks ... ok [INFO] [stdout] test y2023::d22::tests::test_iter_safe_to_disintegrate_bricks ... ok [INFO] [stdout] test y2023::d22::tests::test_settle ... ok [INFO] [stdout] test y2023::d22::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d23::tests::test_longest_hike_on_dry_trails ... ok [INFO] [stdout] test y2023::d21::tests::test_invalid_multi_map_reachable_garden_plots ... ok [INFO] [stdout] test y2023::d23::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d24::tests::test_compute_thrown_rock_hailstone ... ok [INFO] [stdout] test y2023::d24::tests::test_compute_thrown_rock_hailstone_pos_sum ... ok [INFO] [stdout] test y2023::d24::tests::test_count_xy_intersections_within_range ... ok [INFO] [stdout] test y2023::d24::tests::test_iter_future_xy_intersections ... ok [INFO] [stdout] test y2023::d24::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d23::tests::try_longest_hike ... ok [INFO] [stdout] test y2023::d25::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d2::tests::test_sum_game_max_powers ... ok [INFO] [stdout] test y2023::d2::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d3::tests::test_iter_gears ... ok [INFO] [stdout] test y2023::d3::tests::test_iter_part_numbers ... ok [INFO] [stdout] test y2023::d2::tests::test_sum_possible_game_ids ... ok [INFO] [stdout] test y2023::d3::tests::test_sum_gear_ratios ... ok [INFO] [stdout] test y2023::d3::tests::test_sum_part_numbers ... ok [INFO] [stdout] test y2023::d3::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d4::tests::test_points ... ok [INFO] [stdout] test y2023::d4::tests::test_sum_card_counts ... ok [INFO] [stdout] test y2023::d4::tests::test_sum_points ... ok [INFO] [stdout] test y2023::d4::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d4::tests::test_card_counts ... ok [INFO] [stdout] test y2023::d5::tests::test_map_map ... ok [INFO] [stdout] test y2023::d5::tests::test_map_seed_to_location ... ok [INFO] [stdout] test y2023::d5::tests::test_min_location ... ok [INFO] [stdout] test y2023::d4::tests::test_winning_numbers ... ok [INFO] [stdout] test y2023::d5::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d6::tests::test_big_record ... ok [INFO] [stdout] test y2023::d6::tests::test_big_winning_time_range_len ... ok [INFO] [stdout] test y2023::d5::tests::test_min_location_for_seed_ranges ... ok [INFO] [stdout] test y2023::d6::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d6::tests::test_winning_time_range_len_product ... ok [INFO] [stdout] test y2023::d6::tests::test_iter_winning_time_range ... ok [INFO] [stdout] test y2023::d7::tests::test_joker_sort ... ok [INFO] [stdout] test y2023::d7::tests::test_sort ... ok [INFO] [stdout] test y2023::d7::tests::test_total_winnings ... ok [INFO] [stdout] test y2023::d7::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d8::tests::test_ghost_steps ... ok [INFO] [stdout] test y2023::d8::tests::test_steps ... ok [INFO] [stdout] test y2023::d8::tests::test_try_from_str ... ok [INFO] [stdout] test y2023::d7::tests::test_iter_ranked_list_entries ... ok [INFO] [stdout] test y2023::d9::tests::test_iter_back_extrapolations ... ok [INFO] [stdout] test y2023::d9::tests::test_iter_front_extrapolations ... ok [INFO] [stdout] test y2023::d9::tests::test_parse_internal ... ok [INFO] [stdout] test y2024::d10::tests::test_input ... ok [INFO] [stdout] test y2024::d10::tests::test_trailhead_rating_sum ... ok [INFO] [stdout] test y2024::d10::tests::test_iter_trailheads_scores ... ok [INFO] [stdout] test y2024::d10::tests::test_trailhead_score_sum ... ok [INFO] [stdout] test y2024::d10::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d11::tests::test_input ... ok [INFO] [stdout] test y2024::d11::tests::test_blink ... ok [INFO] [stdout] test y2024::d11::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d12::tests::test_input ... ok [INFO] [stdout] test y2024::d12::tests::test_perimeter ... ok [INFO] [stdout] test y2024::d12::tests::test_side_counts ... ok [INFO] [stdout] test y2024::d12::tests::test_total_discount_price ... ok [INFO] [stdout] test y2024::d12::tests::test_total_price ... ok [INFO] [stdout] test y2024::d11::tests::test_stone_count_after_blinks ... ok [INFO] [stdout] test y2024::d13::tests::test_input ... ok [INFO] [stdout] test y2024::d13::tests::test_total_token_cost ... ok [INFO] [stdout] test y2024::d13::tests::test_try_compute_a_and_b ... ok [INFO] [stdout] test y2024::d13::tests::test_try_compute_token_cost ... ok [INFO] [stdout] test y2024::d13::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d12::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d14::tests::test_input ... ok [INFO] [stdout] test y2024::d14::tests::test_safety_factor ... ok [INFO] [stdout] test y2024::d14::tests::test_simulate ... ok [INFO] [stdout] test y2024::d14::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d14::tests::test_grid_string ... ok [INFO] [stdout] test y2024::d15::tests::test_execute_all_moves ... ok [INFO] [stdout] test y2024::d15::tests::test_gps_coordinate_sum ... ok [INFO] [stdout] test y2024::d15::tests::test_input ... ok [INFO] [stdout] test y2024::d15::tests::test_second_warehouse ... ok [INFO] [stdout] test y2024::d15::tests::test_grid_string ... ok [INFO] [stdout] test y2024::d15::tests::test_second_warehouse_gps_coordinate_sum_after_all_moves ... ok [INFO] [stdout] test y2024::d15::tests::test_second_warehouse_execute_all_moves ... ok [INFO] [stdout] test y2024::d15::tests::test_second_warehouse_try_to_move ... ok [INFO] [stdout] test y2024::d15::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d16::tests::test_input ... ok [INFO] [stdout] test y2024::d15::tests::test_try_to_move ... ok [INFO] [stdout] test y2024::d16::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d16::tests::test_try_min_score_to_end ... ok [INFO] [stdout] test y2024::d17::tests::test_execute ... ok [INFO] [stdout] test y2024::d17::tests::test_input ... ok [INFO] [stdout] test y2024::d16::tests::test_try_best_sitting_spot_count ... ok [INFO] [stdout] test y2024::d17::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d18::tests::test_input ... ok [INFO] [stdout] test y2024::d18::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d18::tests::test_try_min_steps_to_exit ... ok [INFO] [stdout] test y2024::d19::tests::test_count_possible_design_patterns ... ok [INFO] [stdout] test y2024::d19::tests::test_count_total_design_pattern_possibilities ... ok [INFO] [stdout] test y2024::d19::tests::test_input ... ok [INFO] [stdout] test y2024::d19::tests::test_possible_design_patterns ... ok [INFO] [stdout] test y2024::d19::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d1::tests::test_input ... ok [INFO] [stdout] test y2024::d18::tests::try_first_corrupted_location_preventing_exit_string ... ok [INFO] [stdout] test y2024::d1::tests::test_iter_sorted_similarity_scores ... ok [INFO] [stdout] test y2024::d1::tests::test_sorted_pairwise_dist_sum ... ok [INFO] [stdout] test y2024::d1::tests::test_sorted_similarity_score_sum ... ok [INFO] [stdout] test y2024::d1::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d1::tests::test_iter_sorted_pairwise_dists ... ok [INFO] [stdout] test y2024::d20::tests::test_input ... ok [INFO] [stdout] test y2024::d20::tests::test_iter_cheats ... ok [INFO] [stdout] test y2024::d20::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d21::tests::test_complexity ... ok [INFO] [stdout] test y2024::d21::tests::test_complexity_sum ... ok [INFO] [stdout] test y2024::d21::tests::test_find_valid_configs ... ok [INFO] [stdout] test y2024::d21::tests::test_input ... ok [INFO] [stdout] test y2024::d21::tests::test_key_count_with_numpad_layers ... ok [INFO] [stdout] test y2024::d21::tests::test_key_pair_iter_count ... ok [INFO] [stdout] test y2024::d21::tests::test_key_pair_shortest_sequence_for_iter ... ok [INFO] [stdout] test y2024::d21::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d22::tests::test_evolve ... ok [INFO] [stdout] test y2024::d20::tests::test_count_cheats ... ok [INFO] [stdout] test y2024::d22::tests::test_input ... ok [INFO] [stdout] test y2024::d22::tests::test_iter_prices_and_changes ... ok [INFO] [stdout] test y2024::d22::tests::test_secret_number_sum_after_evolutions ... ok [INFO] [stdout] test y2024::d22::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d23::tests::test_input ... ok [INFO] [stdout] test y2024::d23::tests::test_iter_computer_index_set ... ok [INFO] [stdout] test y2024::d23::tests::test_iter_possible_chief_historian_id_sets ... ok [INFO] [stdout] test y2024::d23::tests::test_lan_party_password ... ok [INFO] [stdout] test y2024::d23::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d24::tests::test_input ... ok [INFO] [stdout] test y2024::d24::tests::test_try_compute_final_z_value ... ok [INFO] [stdout] test y2024::d24::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d25::tests::test_input ... ok [INFO] [stdout] test y2024::d25::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d2::tests::test_count_safe_reports ... ok [INFO] [stdout] test y2024::d2::tests::test_count_safe_reports_with_problem_dampener ... ok [INFO] [stdout] test y2024::d2::tests::test_input ... ok [INFO] [stdout] test y2024::d2::tests::test_is_safe ... ok [INFO] [stdout] test y2024::d2::tests::test_is_safe_with_problem_dampener ... ok [INFO] [stdout] test y2024::d2::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d3::tests::test_all_product_sum ... ok [INFO] [stdout] test y2024::d3::tests::test_enabled_product_sum ... ok [INFO] [stdout] test y2024::d3::tests::test_input ... ok [INFO] [stdout] test y2024::d3::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d4::tests::test_count_word_apperances ... ok [INFO] [stdout] test y2024::d4::tests::test_count_x_appearances ... ok [INFO] [stdout] test y2024::d4::tests::test_input ... ok [INFO] [stdout] test y2024::d4::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d5::tests::test_correct_order_update_middle_page_number_sum ... ok [INFO] [stdout] test y2024::d5::tests::test_input ... ok [INFO] [stdout] test y2024::d5::tests::test_is_in_correct_order ... ok [INFO] [stdout] test y2024::d5::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d5::tests::test_try_incorrect_order_update_corrected_order_middle_page_number_sum ... ok [INFO] [stdout] test y2024::d6::tests::test_count_distinct_visited_poses_before_leaving ... ok [INFO] [stdout] test y2024::d6::tests::test_count_new_obstacle_positions_that_result_in_cycles ... ok [INFO] [stdout] test y2024::d6::tests::test_input ... ok [INFO] [stdout] test y2024::d6::tests::test_step ... ok [INFO] [stdout] test y2024::d6::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d7::tests::test_input ... ok [INFO] [stdout] test y2024::d7::tests::test_iter_operators ... ok [INFO] [stdout] test y2022::d16::tests::test_bi_actor_explorer ... ok [INFO] [stdout] test y2024::d7::tests::test_total_calibration_result_without_concat ... ok [INFO] [stdout] test y2024::d7::tests::test_total_calibration_result_with_concat ... ok [INFO] [stdout] test y2024::d7::tests::test_try_find_operators_with_concat ... ok [INFO] [stdout] test y2024::d7::tests::test_try_find_operators_without_concat ... ok [INFO] [stdout] test y2024::d7::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d8::tests::test_count_complex_antinodes ... ok [INFO] [stdout] test y2024::d8::tests::test_compute_simple_antinodes ... ok [INFO] [stdout] test y2024::d22::tests::test_price_sum_for_price_change_sequence ... ok [INFO] [stdout] test y2024::d9::tests::test_compact_1 ... ok [INFO] [stdout] test y2024::d9::tests::test_compact_2 ... ok [INFO] [stdout] test y2024::d8::tests::test_input ... ok [INFO] [stdout] test y2024::d8::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d9::tests::test_compacted_checksum_1 ... ok [INFO] [stdout] test y2024::d9::tests::test_compacted_checksum_2 ... ok [INFO] [stdout] test y2024::d9::tests::test_try_from_str ... ok [INFO] [stdout] test y2024::d9::tests::test_input ... ok [INFO] [stdout] test y2024::d9::tests::test_iter_block_file_ids ... ok [INFO] [stdout] test y2021::d23::tests::test_solution_try_compute_organize_amphipods_energy ... ok [INFO] [stdout] test y2016::d17::tests::test_try_longest_path_to_end_len ... ok [INFO] [stdout] test y2017::d22::tests::test_infections_after_complex_bursts ... ok [INFO] [stdout] test y2016::d14::tests::test_iter_standard_keys has been running for over 60 seconds [INFO] [stdout] test y2016::d14::tests::test_iter_stretched_keys has been running for over 60 seconds [INFO] [stdout] test y2016::d14::tests::test_key_64 has been running for over 60 seconds [INFO] [stdout] test y2016::d5::tests::test_get_password has been running for over 60 seconds [INFO] [stdout] test y2016::d5::tests::test_get_positional_password has been running for over 60 seconds [INFO] [stdout] test y2018::d11::tests::test_find_largest_total_power has been running for over 60 seconds [INFO] [stdout] test y2018::d11::tests::test_find_largest_total_power_with_square_size has been running for over 60 seconds [INFO] [stdout] test y2021::d23::tests::test_solution_try_large_compute_organize_amphipods_energy has been running for over 60 seconds [INFO] [stdout] test y2022::d19::tests::test_question_1 has been running for over 60 seconds [INFO] [stdout] test y2022::d19::tests::test_question_2 has been running for over 60 seconds [INFO] [stdout] test y2016::d5::tests::test_get_password ... ok [INFO] [stdout] test y2016::d5::tests::test_get_positional_password ... ok [INFO] [stdout] test y2022::d19::tests::test_question_1 ... ok [ERROR] error running command: no output for 300 seconds [INFO] running `Command { std: "docker" "inspect" "dfde1c8908b83ecdeee7794b0ceb09e92ca6263a227ece0cadf4b6fc1bb80254", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dfde1c8908b83ecdeee7794b0ceb09e92ca6263a227ece0cadf4b6fc1bb80254", kill_on_drop: false }` [INFO] [stdout] dfde1c8908b83ecdeee7794b0ceb09e92ca6263a227ece0cadf4b6fc1bb80254