[INFO] cloning repository https://github.com/Demiu/AoC2021 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Demiu/AoC2021" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDemiu%2FAoC2021", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDemiu%2FAoC2021'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f5f01f89835372f8f396496d701165573575e19d [INFO] checking Demiu/AoC2021/f5f01f89835372f8f396496d701165573575e19d against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDemiu%2FAoC2021" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Demiu/AoC2021 on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Demiu/AoC2021 [INFO] finished tweaking git repo https://github.com/Demiu/AoC2021 [INFO] tweaked toml for git repo https://github.com/Demiu/AoC2021 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Demiu/AoC2021 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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded hermit-abi v0.1.20 [INFO] [stderr] Downloaded priority-queue v1.2.1 [INFO] [stderr] Downloaded atoi v0.4.0 [INFO] [stderr] Downloaded paste v1.0.6 [INFO] [stderr] Downloaded num-complex v0.4.0 [INFO] [stderr] Downloaded anyhow v1.0.51 [INFO] [stderr] Downloaded libc v0.2.109 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2e34e1172c908a5c5332354d055695f7192c0e288cee4c29d8eee0f867e9d6d0 [INFO] running `Command { std: "docker" "start" "-a" "2e34e1172c908a5c5332354d055695f7192c0e288cee4c29d8eee0f867e9d6d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2e34e1172c908a5c5332354d055695f7192c0e288cee4c29d8eee0f867e9d6d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2e34e1172c908a5c5332354d055695f7192c0e288cee4c29d8eee0f867e9d6d0", kill_on_drop: false }` [INFO] [stdout] 2e34e1172c908a5c5332354d055695f7192c0e288cee4c29d8eee0f867e9d6d0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0e24cd68fcc8a34f8a11add2fd637c3ab3f7ad04a4dcaadce32831c0021e9338 [INFO] running `Command { std: "docker" "start" "-a" "0e24cd68fcc8a34f8a11add2fd637c3ab3f7ad04a4dcaadce32831c0021e9338", kill_on_drop: false }` [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling libc v0.2.109 [INFO] [stderr] Compiling indexmap v1.7.0 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling priority-queue v1.2.1 [INFO] [stderr] Compiling nom v7.1.0 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Compiling anyhow v1.0.51 [INFO] [stderr] Checking itertools v0.10.1 [INFO] [stderr] Compiling paste v1.0.6 [INFO] [stderr] Checking num-integer v0.1.44 [INFO] [stderr] Checking num-complex v0.4.0 [INFO] [stderr] Checking atoi v0.4.0 [INFO] [stderr] Checking matrixmultiply v0.3.2 [INFO] [stderr] Checking crossbeam-epoch v0.9.5 [INFO] [stderr] Checking crossbeam-deque v0.8.1 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking rayon-core v1.9.1 [INFO] [stderr] Checking rayon v1.5.1 [INFO] [stderr] Checking ndarray v0.15.4 [INFO] [stderr] Checking aoc2021 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `_run_day_part_preparsed` [INFO] [stdout] --> src/macros.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use _run_day_part_preparsed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `run_day_p1` [INFO] [stdout] --> src/macros.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub use run_day_p1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around index expression [INFO] [stdout] --> src/years/year2021/day07.rs:31:27 [INFO] [stdout] | [INFO] [stdout] 31 | let right = input[(input.len() / 2)]; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 31 - let right = input[(input.len() / 2)]; [INFO] [stdout] 31 + let right = input[input.len() / 2]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `_run_day_part_preparsed` [INFO] [stdout] --> src/macros.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use _run_day_part_preparsed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse_expect` [INFO] [stdout] --> src/macros.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | pub use parse_expect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `run_day_p1` [INFO] [stdout] --> src/macros.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub use run_day_p1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around index expression [INFO] [stdout] --> src/years/year2021/day07.rs:31:27 [INFO] [stdout] | [INFO] [stdout] 31 | let right = input[(input.len() / 2)]; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 31 - let right = input[(input.len() / 2)]; [INFO] [stdout] 31 + let right = input[input.len() / 2]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `signed_parser_radix` is never used [INFO] [stdout] --> src/parse.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn signed_parser_radix<'a, I, E>(radix: u8) -> impl FnMut(&'a [u8]) -> IResult<&'a [u8], I, E> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_signed` is never used [INFO] [stdout] --> src/parse.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn parse_signed(input: &[u8]) -> IResult<&[u8], I> [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_range_signed` is never used [INFO] [stdout] --> src/parse.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn parse_range_signed(input: &[u8]) -> IResult<&[u8], RangeInclusive> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParserOutput` is never used [INFO] [stdout] --> src/years/year2021/day01.rs:6:6 [INFO] [stdout] | [INFO] [stdout] 6 | type ParserOutput = Vec; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day01.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | type SolverInput = [u32]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day01.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day01.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day01.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParserOutput` is never used [INFO] [stdout] --> src/years/year2021/day02.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type ParserOutput = Vec; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day02.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type SolverInput = [Command]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Down`, `Forward`, and `Up` are never constructed [INFO] [stdout] --> src/years/year2021/day02.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Command { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 8 | Down(u8), [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | Forward(u8), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 10 | Up(u8), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Command` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day02.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day02.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day02.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SolverInput` is never constructed [INFO] [stdout] --> src/years/year2021/day03.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct SolverInput<'a> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day03.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day03.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day03.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SolverInput` is never constructed [INFO] [stdout] --> src/years/year2021/day04.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct SolverInput { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BingoBoard` is never constructed [INFO] [stdout] --> src/years/year2021/day04.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | struct BingoBoard { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mark_number`, `sum_unmarked`, `is_bingo`, `is_bingo_horizontal`, and `is_bingo_vertical` are never used [INFO] [stdout] --> src/years/year2021/day04.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 19 | impl BingoBoard { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 20 | // Returns true if a number was marked [INFO] [stdout] 21 | fn mark_number(&mut self, number: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn sum_unmarked(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | fn is_bingo(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | fn is_bingo_horizontal(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | fn is_bingo_vertical(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day04.rs:81:8 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day04.rs:140:8 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day04.rs:152:8 [INFO] [stdout] | [INFO] [stdout] 152 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParserOutput` is never used [INFO] [stdout] --> src/years/year2021/day05.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type ParserOutput = Vec; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day05.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type SolverInput = [Line]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Horizontal`, `Vertical`, `IncDiagonal`, `DecDiagonal`, and `Generic` are never constructed [INFO] [stdout] --> src/years/year2021/day05.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum Line { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 44 | Horizontal(HorizontalLine), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 45 | Vertical(VerticalLine), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 46 | IncDiagonal(DiagonalLineInc), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 47 | DecDiagonal(DiagonalLineDec), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 48 | Generic { start: Point, end: Point }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Line` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/years/year2021/day05.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 52 | impl HorizontalLine { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 53 | fn new(xs: RangeInclusive, y: u32) -> HorizontalLine { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/years/year2021/day05.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 58 | impl VerticalLine { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 59 | fn new(x: u32, ys: RangeInclusive) -> VerticalLine { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/years/year2021/day05.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 64 | impl DiagonalLineInc { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 65 | fn new(start: Point, length: u32) -> DiagonalLineInc { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/years/year2021/day05.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 70 | impl DiagonalLineDec { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 71 | fn new(start: Point, length: u32) -> DiagonalLineDec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_range` is never used [INFO] [stdout] --> src/years/year2021/day05.rs:327:4 [INFO] [stdout] | [INFO] [stdout] 327 | fn make_range(one: u32, two: u32) -> RangeInclusive { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day05.rs:335:8 [INFO] [stdout] | [INFO] [stdout] 335 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day05.rs:374:8 [INFO] [stdout] | [INFO] [stdout] 374 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day05.rs:391:8 [INFO] [stdout] | [INFO] [stdout] 391 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day06.rs:6:6 [INFO] [stdout] | [INFO] [stdout] 6 | type SolverInput = [u32; TOTAL_CATEGORIES]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CYCLE_LENGTH` is never used [INFO] [stdout] --> src/years/year2021/day06.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const CYCLE_LENGTH: usize = 7; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NEW_CYCLE_EXTRA` is never used [INFO] [stdout] --> src/years/year2021/day06.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const NEW_CYCLE_EXTRA: usize = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TOTAL_CATEGORIES` is never used [INFO] [stdout] --> src/years/year2021/day06.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const TOTAL_CATEGORIES: usize = CYCLE_LENGTH + NEW_CYCLE_EXTRA; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day06.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day06.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day06.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn solve_part2(input: &SolverInput) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParserOutput` is never used [INFO] [stdout] --> src/years/year2021/day07.rs:6:6 [INFO] [stdout] | [INFO] [stdout] 6 | type ParserOutput = Vec; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day07.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | type SolverInput = [u32]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `abs_diff` is never used [INFO] [stdout] --> src/years/year2021/day07.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn abs_diff(l: u32, r: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day07.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day07.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day07.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `EntryVec` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | type EntryVec<'a> = Vec<&'a [u8]>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LineTuple` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type LineTuple<'a> = (EntryVec<'a>, EntryVec<'a>); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParserOutput` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type ParserOutput<'a> = Vec>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type SolverInput<'a> = [LineTuple<'a>]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `NamedSegments` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:35:6 [INFO] [stdout] | [INFO] [stdout] 35 | type NamedSegments = [u8; segments::COUNT]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mask_on_segments_for_pattern` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn mask_on_segments_for_pattern(named_segments: &mut NamedSegments, mask: u8, pattern: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_conflict` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn resolve_conflict( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TOP` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | pub const TOP: u8 = 1 << 0; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEFT_TOP` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | pub const LEFT_TOP: u8 = 1 << 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RIGHT_TOP` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | pub const RIGHT_TOP: u8 = 1 << 2; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MID` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | pub const MID: u8 = 1 << 3; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEFT_BOT` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | pub const LEFT_BOT: u8 = 1 << 4; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RIGHT_BOT` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | pub const RIGHT_BOT: u8 = 1 << 5; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BOT` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | pub const BOT: u8 = 1 << 6; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COUNT` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | pub const COUNT: usize = 7; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ANY` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | pub const ANY: u8 = !0; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ZERO` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:24:15 [INFO] [stdout] | [INFO] [stdout] 24 | pub const ZERO: u8 = TOP | LEFT_TOP | RIGHT_TOP | LEFT_BOT | RIGHT_BOT | BOT; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ONE` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | pub const ONE: u8 = RIGHT_TOP | RIGHT_BOT; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TWO` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:26:15 [INFO] [stdout] | [INFO] [stdout] 26 | pub const TWO: u8 = TOP | RIGHT_TOP | MID | LEFT_BOT | BOT; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THREE` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:27:15 [INFO] [stdout] | [INFO] [stdout] 27 | pub const THREE: u8 = TOP | RIGHT_TOP | MID | RIGHT_BOT | BOT; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FOUR` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | pub const FOUR: u8 = LEFT_TOP | RIGHT_TOP | MID | RIGHT_BOT; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FIVE` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | pub const FIVE: u8 = TOP | LEFT_TOP | MID | RIGHT_BOT | BOT; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIX` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub const SIX: u8 = TOP | LEFT_TOP | MID | LEFT_BOT | RIGHT_BOT | BOT; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SEVEN` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub const SEVEN: u8 = TOP | RIGHT_TOP | RIGHT_BOT; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EIGHT` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | pub const EIGHT: u8 = TOP | LEFT_TOP | RIGHT_TOP | MID | LEFT_BOT | RIGHT_BOT | BOT; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NINE` is never used [INFO] [stdout] --> src/years/year2021/day08.rs:33:15 [INFO] [stdout] | [INFO] [stdout] 33 | pub const NINE: u8 = TOP | LEFT_TOP | RIGHT_TOP | MID | RIGHT_BOT | BOT; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParserOutput` is never used [INFO] [stdout] --> src/years/year2021/day09.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | type ParserOutput<'a> = Vec<&'a [u8]>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day09.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type SolverInput<'a> = [&'a [u8]]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day09.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day09.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day09.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParserOutput` is never used [INFO] [stdout] --> src/years/year2021/day10.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type ParserOutput = Vec; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day10.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type SolverInput = [Line]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Incomplete` and `Corrupted` are never constructed [INFO] [stdout] --> src/years/year2021/day10.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum Line { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 13 | Incomplete(Vec), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 14 | Corrupted(u32), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Line` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `autocomplete_score` is never used [INFO] [stdout] --> src/years/year2021/day10.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn autocomplete_score(to_close: &[u8]) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day10.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn parse_input(file: &[u8]) -> anyhow::Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day10.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day10.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn solve_part2(input: &SolverInput) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day11.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type SolverInput = Array2; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIDE_LEN` is never used [INFO] [stdout] --> src/years/year2021/day11.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const SIDE_LEN: usize = 10; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `step` is never used [INFO] [stdout] --> src/years/year2021/day11.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn step(grid: &mut SolverInput) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day11.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day11.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day11.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day12.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type SolverInput = HashMap; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `START_ID` is never used [INFO] [stdout] --> src/years/year2021/day12.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const START_ID: u32 = compute_identifier(&[b's', b't', b'a', b'r', b't']); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Start`, `End`, `Small`, and `Big` are never constructed [INFO] [stdout] --> src/years/year2021/day12.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | enum Cave { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 15 | Start, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 16 | End, [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | Small, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 18 | Big, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cave` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Path` is never constructed [INFO] [stdout] --> src/years/year2021/day12.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct Path<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_identifier` is never used [INFO] [stdout] --> src/years/year2021/day12.rs:34:10 [INFO] [stdout] | [INFO] [stdout] 34 | const fn compute_identifier(name: &[u8]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day12.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day12.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day12.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day13.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type SolverInput = (HashSet<(u32, u32)>, Vec); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Fold` is never used [INFO] [stdout] --> src/years/year2021/day13.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum Fold { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Fold` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fold_paper` is never used [INFO] [stdout] --> src/years/year2021/day13.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn fold_paper(paper: &mut HashSet<(u32, u32)>, fold: Fold) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day13.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day13.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day13.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn solve_part2(input: &SolverInput) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `PairMap` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type PairMap = HashMap>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `InsertionRules` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type InsertionRules = HashMap<[u8; 2], u8>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type SolverInput = (PairMap, InsertionRules, u8); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `step_template` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn step_template(pairs: &mut PairMap, rules: &InsertionRules, steps: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pair_most_minus_least` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn pair_most_minus_least(pairs: &PairMap, extra: u8) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn solve_part1(input: &SolverInput) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn solve_part2(input: &SolverInput) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day15.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type SolverInput = Array2; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Position` is never used [INFO] [stdout] --> src/years/year2021/day15.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type Position = [usize; 2]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PfNode` is never constructed [INFO] [stdout] --> src/years/year2021/day15.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | struct PfNode { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_queue` is never used [INFO] [stdout] --> src/years/year2021/day15.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn update_queue( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pathfind` is never used [INFO] [stdout] --> src/years/year2021/day15.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn pathfind(grid: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day15.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day15.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day15.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | type SolverInput = Packet; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PacketContent` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | enum PacketContent { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Packet` is never constructed [INFO] [stdout] --> src/years/year2021/day16.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Packet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `version_sum` and `evaluate` are never used [INFO] [stdout] --> src/years/year2021/day16.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 44 | impl Packet { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 45 | fn version_sum(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | fn evaluate(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_literal` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn parse_literal(data: &[bool]) -> (u64, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_inner_packets_by_count` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn parse_inner_packets_by_count(data: &[bool]) -> (Vec, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_inner_packets_by_len` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn parse_inner_packets_by_len(data: &[bool]) -> (Vec, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_inner_packets` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:119:4 [INFO] [stdout] | [INFO] [stdout] 119 | fn parse_inner_packets(data: &[bool]) -> (Vec, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_packet` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn parse_packet(data: &[bool]) -> Packet { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:159:4 [INFO] [stdout] | [INFO] [stdout] 159 | fn get_value(slice: &[bool]) -> u32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:170:8 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:196:8 [INFO] [stdout] | [INFO] [stdout] 196 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | pub fn solve_part2(input: &SolverInput) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day17.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type SolverInput = (RangeInclusive, RangeInclusive); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day17.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day17.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day17.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParseOutput` is never used [INFO] [stdout] --> src/years/year2021/day18.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type ParseOutput = Vec; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day18.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | type SolverInput = [Element]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `magnitude` is never used [INFO] [stdout] --> src/years/year2021/day18.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 28 | impl Element { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 93 | fn magnitude(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day18.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day18.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day18.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | type SolverInput = (Scanner, HashMap); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Rotator` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:21:6 [INFO] [stdout] | [INFO] [stdout] 21 | type Rotator = dyn Fn(i32, i32, i32) -> (i32, i32, i32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Metadata` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 22 | type Metadata = (i32, i32); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROTATORS` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const ROTATORS: [&Rotator; 24] = [ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REQUIRED_BEACON_MATCHES` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const REQUIRED_BEACON_MATCHES: usize = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REQUIRED_METADATA_MATCHES` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | const REQUIRED_METADATA_MATCHES: usize = 66; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scanner` is never constructed [INFO] [stdout] --> src/years/year2021/day19.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct Scanner { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Scanner` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `rotated`, and `manhattan_to` are never used [INFO] [stdout] --> src/years/year2021/day19.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 92 | impl Point { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 93 | fn new(x: i32, y: i32, z: i32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn rotated(self, rot: &Rotator) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | fn manhattan_to(&self, rhs: &Point) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_beacon`, and `merge_with` are never used [INFO] [stdout] --> src/years/year2021/day19.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 108 | impl Scanner { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 109 | fn new(beacons: Vec) -> Scanner { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | fn add_beacon(&mut self, beacon: Point) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | fn merge_with(&mut self, other: &Self, offset: Point, rotation: &Rotator) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `metadata` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:136:4 [INFO] [stdout] | [INFO] [stdout] 136 | fn metadata(p1: Point, p2: Point) -> Metadata { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_metadatas` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:145:4 [INFO] [stdout] | [INFO] [stdout] 145 | fn generate_metadatas(beacons: &[Point]) -> HashMap> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_translation` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:154:4 [INFO] [stdout] | [INFO] [stdout] 154 | fn check_translation(s1: &Scanner, s2: &Scanner, offset: Point, rotation: &Rotator) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_translation` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:169:4 [INFO] [stdout] | [INFO] [stdout] 169 | fn find_translation(s1: &Scanner, s2: &Scanner) -> Option<(Point, &'static Rotator)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combine_scanners` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:213:4 [INFO] [stdout] | [INFO] [stdout] 213 | fn combine_scanners(scanners: &[Scanner]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:248:8 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:273:8 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn solve_part1(input: &SolverInput) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:277:8 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn solve_part2(input: &SolverInput) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type SolverInput = (Vec, Image); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ALGORITHM_LEN` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const ALGORITHM_LEN: usize = 512; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DELTAS` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const DELTAS: [(i32, i32); 9] = [ [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Image` is never constructed [INFO] [stdout] --> src/years/year2021/day20.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Image { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `enhanced` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl Image { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 32 | fn enhanced(&self, algo: &[bool]) -> Image { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_filter_value` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn compute_filter_value( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type SolverInput = (u32, u32); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MemoizedTurns` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:16:6 [INFO] [stdout] | [INFO] [stdout] 16 | type MemoizedTurns = HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POS_MAX` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const POS_MAX: u32 = 10; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DICE_MAX` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const DICE_MAX: u32 = 100; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THRESHOLD_PART1` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const THRESHOLD_PART1: u32 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THRESHOLD_PART2` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const THRESHOLD_PART2: u32 = 21; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayerState` is never constructed [INFO] [stdout] --> src/years/year2021/day21.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | struct PlayerState { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GameState` is never constructed [INFO] [stdout] --> src/years/year2021/day21.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | struct GameState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `flipped` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 35 | impl GameState { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 36 | fn flipped(&self) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `roll_dice_thrice` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn roll_dice_thrice(dice: u32) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `player_turn` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn player_turn(state: &mut PlayerState, rolls_sum: u32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `player_turn_part1` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn player_turn_part1(state: &mut PlayerState, dice: &mut u32, roll_count: &mut u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `player_superturn` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn player_superturn(state: GameState, memoized_turns: &mut MemoizedTurns) -> (u64, u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn solve_part2(input: &SolverInput) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParserOutput` is never used [INFO] [stdout] --> src/years/year2021/day22.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | type ParserOutput = Vec; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day22.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type SolverInput = [RebootStep]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SMALL_LIMIT` is never used [INFO] [stdout] --> src/years/year2021/day22.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const SMALL_LIMIT: CoordInt = 100; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RebootStep` is never constructed [INFO] [stdout] --> src/years/year2021/day22.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct RebootStep { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_small` and `volume` are never used [INFO] [stdout] --> src/years/year2021/day22.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl Cuboid { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 32 | fn is_small(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn volume(&self) -> CoordInt { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `steps_volume` is never used [INFO] [stdout] --> src/years/year2021/day22.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn steps_volume(steps: &[RebootStep]) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day22.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day22.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn solve_part1(input: &SolverInput) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day22.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn solve_part2(input: &SolverInput) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type SolverInput = Burrow; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROOM_DEPTH` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const ROOM_DEPTH: usize = 2; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Amber`, `Bronze`, `Copper`, and `Desert` are never constructed [INFO] [stdout] --> src/years/year2021/day23.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | enum Amphipod { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 20 | Amber, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 21 | Bronze, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 22 | Copper, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 23 | Desert, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Amphipod` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BurrowPosition` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:27:6 [INFO] [stdout] | [INFO] [stdout] 27 | enum BurrowPosition { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BurrowWithHistory` is never constructed [INFO] [stdout] --> src/years/year2021/day23.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | struct BurrowWithHistory { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_ascii`, `desired_room_pos`, `desired_room_idx`, and `move_cost` are never used [INFO] [stdout] --> src/years/year2021/day23.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 58 | impl Amphipod { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 59 | fn from_ascii(text: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn desired_room_pos(&self) -> BurrowPosition { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | fn desired_room_idx(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | fn move_cost(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `base_moves_to` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 92 | impl BurrowPosition { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 93 | fn base_moves_to(&self, to: Self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/years/year2021/day23.rs:195:8 [INFO] [stdout] | [INFO] [stdout] 194 | impl Burrow { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 195 | fn pos_over_room_idx(idx: usize) -> BurrowPosition { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | fn room_idx_under_pos(pos: BurrowPosition) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | fn get_room_under_pos(&self, pos: BurrowPosition) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | fn get_room_under_pos_mut(&mut self, pos: BurrowPosition) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | fn room_needs_popping(&self, room_idx: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | fn is_solved(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn is_position_occupied(&self, pos: BurrowPosition) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | fn is_position_unoccupied(&self, pos: BurrowPosition) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | fn can_move(&self, from: BurrowPosition, to: BurrowPosition) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `queue_move_into_room` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:471:4 [INFO] [stdout] | [INFO] [stdout] 471 | fn queue_move_into_room( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `queue_moves_from_room` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:494:4 [INFO] [stdout] | [INFO] [stdout] 494 | fn queue_moves_from_room( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `queue_possible_moves` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:581:4 [INFO] [stdout] | [INFO] [stdout] 581 | fn queue_possible_moves( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_solve_cost` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:676:4 [INFO] [stdout] | [INFO] [stdout] 676 | fn calc_solve_cost(burrow: Burrow) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:689:8 [INFO] [stdout] | [INFO] [stdout] 689 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:726:8 [INFO] [stdout] | [INFO] [stdout] 726 | pub fn solve_part1(input: &SolverInput) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:730:8 [INFO] [stdout] | [INFO] [stdout] 730 | pub fn solve_part2(input: &SolverInput) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParserOutput` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | type ParserOutput = Vec; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:16:6 [INFO] [stdout] | [INFO] [stdout] 16 | type SolverInput = [Instruction]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INPUT_LENGTH` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const INPUT_LENGTH: usize = 14; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `W`, `X`, `Y`, and `Z` are never constructed [INFO] [stdout] --> src/years/year2021/day24.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum Register { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 22 | W, [INFO] [stdout] | ^ [INFO] [stdout] 23 | X, [INFO] [stdout] | ^ [INFO] [stdout] 24 | Y, [INFO] [stdout] | ^ [INFO] [stdout] 25 | Z, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Register` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Variable` and `Value` are never constructed [INFO] [stdout] --> src/years/year2021/day24.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum Operand { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 30 | Variable(Register), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 31 | Value(i64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Operand` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/years/year2021/day24.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum Instruction { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 36 | Inp(Register), [INFO] [stdout] | ^^^ [INFO] [stdout] 37 | Add(Register, Operand), [INFO] [stdout] | ^^^ [INFO] [stdout] 38 | Mul(Register, Operand), [INFO] [stdout] | ^^^ [INFO] [stdout] 39 | Div(Register, Operand), [INFO] [stdout] | ^^^ [INFO] [stdout] 40 | Mod(Register, Operand), [INFO] [stdout] | ^^^ [INFO] [stdout] 41 | Eql(Register, Operand), [INFO] [stdout] | ^^^ [INFO] [stdout] 42 | Clear(Register), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 43 | Set(Register, Operand), [INFO] [stdout] | ^^^ [INFO] [stdout] 44 | Neql(Register, Operand), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Instruction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Alu` is never constructed [INFO] [stdout] --> src/years/year2021/day24.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | struct Alu { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Alu` has a derived impl for the trait `Default`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `discards_register` and `uses_register_val` are never used [INFO] [stdout] --> src/years/year2021/day24.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 91 | impl Instruction { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 92 | fn discards_register(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | fn uses_register_val(&self, reg: Register) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `reg`, `reg_mut`, `op_to_val`, `run_instruction`, and `run_for_input` are never used [INFO] [stdout] --> src/years/year2021/day24.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 130 | impl Alu { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] 131 | fn reg(&self, register: Register) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | fn reg_mut(&mut self, register: Register) -> &mut i64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | fn op_to_val(&self, op: Operand) -> i64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn run_instruction(&mut self, instruction: Instruction, input: &mut Option) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | fn run_for_input<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `optimize_instructions` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:209:4 [INFO] [stdout] | [INFO] [stdout] 209 | fn optimize_instructions(instructions: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_first_z_zero` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:284:4 [INFO] [stdout] | [INFO] [stdout] 284 | fn find_first_z_zero<'a, I>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `par_find_first_z_zero` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:326:4 [INFO] [stdout] | [INFO] [stdout] 326 | fn par_find_first_z_zero<'a, 'b, I: 'a>(instructions: &[Instruction], inputs: I) -> Option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:348:8 [INFO] [stdout] | [INFO] [stdout] 348 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:397:8 [INFO] [stdout] | [INFO] [stdout] 397 | pub fn solve_part1(input: &SolverInput) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:402:8 [INFO] [stdout] | [INFO] [stdout] 402 | pub fn solve_part2(input: &SolverInput) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day25.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type SolverInput = Array2; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Empty`, `East`, and `South` are never constructed [INFO] [stdout] --> src/years/year2021/day25.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum Cell { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 16 | Empty, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 17 | East, [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | South, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cell` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `step` is never used [INFO] [stdout] --> src/years/year2021/day25.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn step(state: &mut Array2) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day25.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day25.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `signed_parser_radix` is never used [INFO] [stdout] --> src/parse.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn signed_parser_radix<'a, I, E>(radix: u8) -> impl FnMut(&'a [u8]) -> IResult<&'a [u8], I, E> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_signed` is never used [INFO] [stdout] --> src/parse.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn parse_signed(input: &[u8]) -> IResult<&[u8], I> [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_range_signed` is never used [INFO] [stdout] --> src/parse.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn parse_range_signed(input: &[u8]) -> IResult<&[u8], RangeInclusive> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `START_ID` is never used [INFO] [stdout] --> src/years/year2021/day12.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const START_ID: u32 = compute_identifier(&[b's', b't', b'a', b'r', b't']); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Path` is never constructed [INFO] [stdout] --> src/years/year2021/day12.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct Path<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day12.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day12.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day13.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type SolverInput = (HashSet<(u32, u32)>, Vec); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Fold` is never used [INFO] [stdout] --> src/years/year2021/day13.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum Fold { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Fold` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fold_paper` is never used [INFO] [stdout] --> src/years/year2021/day13.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn fold_paper(paper: &mut HashSet<(u32, u32)>, fold: Fold) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day13.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day13.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day13.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn solve_part2(input: &SolverInput) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `PairMap` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type PairMap = HashMap>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `InsertionRules` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type InsertionRules = HashMap<[u8; 2], u8>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type SolverInput = (PairMap, InsertionRules, u8); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `step_template` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn step_template(pairs: &mut PairMap, rules: &InsertionRules, steps: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pair_most_minus_least` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn pair_most_minus_least(pairs: &PairMap, extra: u8) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn solve_part1(input: &SolverInput) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day14.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn solve_part2(input: &SolverInput) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day15.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type SolverInput = Array2; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Position` is never used [INFO] [stdout] --> src/years/year2021/day15.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type Position = [usize; 2]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PfNode` is never constructed [INFO] [stdout] --> src/years/year2021/day15.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | struct PfNode { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_queue` is never used [INFO] [stdout] --> src/years/year2021/day15.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn update_queue( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pathfind` is never used [INFO] [stdout] --> src/years/year2021/day15.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn pathfind(grid: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day15.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day15.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day15.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | type SolverInput = Packet; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PacketContent` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | enum PacketContent { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Packet` is never constructed [INFO] [stdout] --> src/years/year2021/day16.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Packet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `version_sum` and `evaluate` are never used [INFO] [stdout] --> src/years/year2021/day16.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 44 | impl Packet { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 45 | fn version_sum(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | fn evaluate(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_literal` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn parse_literal(data: &[bool]) -> (u64, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_inner_packets_by_count` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn parse_inner_packets_by_count(data: &[bool]) -> (Vec, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_inner_packets_by_len` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn parse_inner_packets_by_len(data: &[bool]) -> (Vec, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_inner_packets` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:119:4 [INFO] [stdout] | [INFO] [stdout] 119 | fn parse_inner_packets(data: &[bool]) -> (Vec, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_packet` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn parse_packet(data: &[bool]) -> Packet { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:159:4 [INFO] [stdout] | [INFO] [stdout] 159 | fn get_value(slice: &[bool]) -> u32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:170:8 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:196:8 [INFO] [stdout] | [INFO] [stdout] 196 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day16.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | pub fn solve_part2(input: &SolverInput) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day17.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type SolverInput = (RangeInclusive, RangeInclusive); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day17.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day17.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day17.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParseOutput` is never used [INFO] [stdout] --> src/years/year2021/day18.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type ParseOutput = Vec; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day18.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | type SolverInput = [Element]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `magnitude` is never used [INFO] [stdout] --> src/years/year2021/day18.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 28 | impl Element { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 93 | fn magnitude(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day18.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day18.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day18.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | type SolverInput = (Scanner, HashMap); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Rotator` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:21:6 [INFO] [stdout] | [INFO] [stdout] 21 | type Rotator = dyn Fn(i32, i32, i32) -> (i32, i32, i32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Metadata` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 22 | type Metadata = (i32, i32); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROTATORS` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const ROTATORS: [&Rotator; 24] = [ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REQUIRED_BEACON_MATCHES` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const REQUIRED_BEACON_MATCHES: usize = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REQUIRED_METADATA_MATCHES` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | const REQUIRED_METADATA_MATCHES: usize = 66; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scanner` is never constructed [INFO] [stdout] --> src/years/year2021/day19.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct Scanner { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Scanner` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `rotated`, and `manhattan_to` are never used [INFO] [stdout] --> src/years/year2021/day19.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 92 | impl Point { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 93 | fn new(x: i32, y: i32, z: i32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn rotated(self, rot: &Rotator) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | fn manhattan_to(&self, rhs: &Point) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_beacon`, and `merge_with` are never used [INFO] [stdout] --> src/years/year2021/day19.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 108 | impl Scanner { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 109 | fn new(beacons: Vec) -> Scanner { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | fn add_beacon(&mut self, beacon: Point) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | fn merge_with(&mut self, other: &Self, offset: Point, rotation: &Rotator) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `metadata` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:136:4 [INFO] [stdout] | [INFO] [stdout] 136 | fn metadata(p1: Point, p2: Point) -> Metadata { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_metadatas` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:145:4 [INFO] [stdout] | [INFO] [stdout] 145 | fn generate_metadatas(beacons: &[Point]) -> HashMap> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_translation` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:154:4 [INFO] [stdout] | [INFO] [stdout] 154 | fn check_translation(s1: &Scanner, s2: &Scanner, offset: Point, rotation: &Rotator) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_translation` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:169:4 [INFO] [stdout] | [INFO] [stdout] 169 | fn find_translation(s1: &Scanner, s2: &Scanner) -> Option<(Point, &'static Rotator)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combine_scanners` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:213:4 [INFO] [stdout] | [INFO] [stdout] 213 | fn combine_scanners(scanners: &[Scanner]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:248:8 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:273:8 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn solve_part1(input: &SolverInput) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day19.rs:277:8 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn solve_part2(input: &SolverInput) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type SolverInput = (Vec, Image); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ALGORITHM_LEN` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const ALGORITHM_LEN: usize = 512; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DELTAS` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const DELTAS: [(i32, i32); 9] = [ [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Image` is never constructed [INFO] [stdout] --> src/years/year2021/day20.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Image { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `enhanced` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl Image { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 32 | fn enhanced(&self, algo: &[bool]) -> Image { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_filter_value` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn compute_filter_value( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day20.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn solve_part2(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type SolverInput = (u32, u32); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MemoizedTurns` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:16:6 [INFO] [stdout] | [INFO] [stdout] 16 | type MemoizedTurns = HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POS_MAX` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const POS_MAX: u32 = 10; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DICE_MAX` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const DICE_MAX: u32 = 100; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THRESHOLD_PART1` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const THRESHOLD_PART1: u32 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THRESHOLD_PART2` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const THRESHOLD_PART2: u32 = 21; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayerState` is never constructed [INFO] [stdout] --> src/years/year2021/day21.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | struct PlayerState { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GameState` is never constructed [INFO] [stdout] --> src/years/year2021/day21.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | struct GameState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `flipped` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 35 | impl GameState { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 36 | fn flipped(&self) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `roll_dice_thrice` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn roll_dice_thrice(dice: u32) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `player_turn` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn player_turn(state: &mut PlayerState, rolls_sum: u32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `player_turn_part1` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn player_turn_part1(state: &mut PlayerState, dice: &mut u32, roll_count: &mut u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `player_superturn` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn player_superturn(state: GameState, memoized_turns: &mut MemoizedTurns) -> (u64, u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day21.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn solve_part2(input: &SolverInput) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParserOutput` is never used [INFO] [stdout] --> src/years/year2021/day22.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | type ParserOutput = Vec; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day22.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type SolverInput = [RebootStep]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SMALL_LIMIT` is never used [INFO] [stdout] --> src/years/year2021/day22.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const SMALL_LIMIT: CoordInt = 100; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RebootStep` is never constructed [INFO] [stdout] --> src/years/year2021/day22.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct RebootStep { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_small` and `volume` are never used [INFO] [stdout] --> src/years/year2021/day22.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl Cuboid { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 32 | fn is_small(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn volume(&self) -> CoordInt { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `steps_volume` is never used [INFO] [stdout] --> src/years/year2021/day22.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn steps_volume(steps: &[RebootStep]) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day22.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day22.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn solve_part1(input: &SolverInput) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day22.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn solve_part2(input: &SolverInput) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type SolverInput = Burrow; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROOM_DEPTH` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const ROOM_DEPTH: usize = 2; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Amber`, `Bronze`, `Copper`, and `Desert` are never constructed [INFO] [stdout] --> src/years/year2021/day23.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | enum Amphipod { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 20 | Amber, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 21 | Bronze, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 22 | Copper, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 23 | Desert, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Amphipod` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BurrowPosition` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:27:6 [INFO] [stdout] | [INFO] [stdout] 27 | enum BurrowPosition { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BurrowWithHistory` is never constructed [INFO] [stdout] --> src/years/year2021/day23.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | struct BurrowWithHistory { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_ascii`, `desired_room_pos`, `desired_room_idx`, and `move_cost` are never used [INFO] [stdout] --> src/years/year2021/day23.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 58 | impl Amphipod { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 59 | fn from_ascii(text: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn desired_room_pos(&self) -> BurrowPosition { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | fn desired_room_idx(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | fn move_cost(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `base_moves_to` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 92 | impl BurrowPosition { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 93 | fn base_moves_to(&self, to: Self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/years/year2021/day23.rs:195:8 [INFO] [stdout] | [INFO] [stdout] 194 | impl Burrow { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 195 | fn pos_over_room_idx(idx: usize) -> BurrowPosition { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | fn room_idx_under_pos(pos: BurrowPosition) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | fn get_room_under_pos(&self, pos: BurrowPosition) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | fn get_room_under_pos_mut(&mut self, pos: BurrowPosition) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | fn room_needs_popping(&self, room_idx: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | fn is_solved(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn is_position_occupied(&self, pos: BurrowPosition) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | fn is_position_unoccupied(&self, pos: BurrowPosition) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | fn can_move(&self, from: BurrowPosition, to: BurrowPosition) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `queue_move_into_room` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:471:4 [INFO] [stdout] | [INFO] [stdout] 471 | fn queue_move_into_room( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `queue_moves_from_room` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:494:4 [INFO] [stdout] | [INFO] [stdout] 494 | fn queue_moves_from_room( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `queue_possible_moves` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:581:4 [INFO] [stdout] | [INFO] [stdout] 581 | fn queue_possible_moves( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_solve_cost` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:676:4 [INFO] [stdout] | [INFO] [stdout] 676 | fn calc_solve_cost(burrow: Burrow) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:689:8 [INFO] [stdout] | [INFO] [stdout] 689 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:726:8 [INFO] [stdout] | [INFO] [stdout] 726 | pub fn solve_part1(input: &SolverInput) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day23.rs:730:8 [INFO] [stdout] | [INFO] [stdout] 730 | pub fn solve_part2(input: &SolverInput) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ParserOutput` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | type ParserOutput = Vec; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:16:6 [INFO] [stdout] | [INFO] [stdout] 16 | type SolverInput = [Instruction]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INPUT_LENGTH` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const INPUT_LENGTH: usize = 14; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `W`, `X`, `Y`, and `Z` are never constructed [INFO] [stdout] --> src/years/year2021/day24.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum Register { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 22 | W, [INFO] [stdout] | ^ [INFO] [stdout] 23 | X, [INFO] [stdout] | ^ [INFO] [stdout] 24 | Y, [INFO] [stdout] | ^ [INFO] [stdout] 25 | Z, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Register` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Variable` and `Value` are never constructed [INFO] [stdout] --> src/years/year2021/day24.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum Operand { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 30 | Variable(Register), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 31 | Value(i64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Operand` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/years/year2021/day24.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum Instruction { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 36 | Inp(Register), [INFO] [stdout] | ^^^ [INFO] [stdout] 37 | Add(Register, Operand), [INFO] [stdout] | ^^^ [INFO] [stdout] 38 | Mul(Register, Operand), [INFO] [stdout] | ^^^ [INFO] [stdout] 39 | Div(Register, Operand), [INFO] [stdout] | ^^^ [INFO] [stdout] 40 | Mod(Register, Operand), [INFO] [stdout] | ^^^ [INFO] [stdout] 41 | Eql(Register, Operand), [INFO] [stdout] | ^^^ [INFO] [stdout] 42 | Clear(Register), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 43 | Set(Register, Operand), [INFO] [stdout] | ^^^ [INFO] [stdout] 44 | Neql(Register, Operand), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Instruction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Alu` is never constructed [INFO] [stdout] --> src/years/year2021/day24.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | struct Alu { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Alu` has a derived impl for the trait `Default`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `discards_register` and `uses_register_val` are never used [INFO] [stdout] --> src/years/year2021/day24.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 91 | impl Instruction { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 92 | fn discards_register(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | fn uses_register_val(&self, reg: Register) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `reg`, `reg_mut`, `op_to_val`, `run_instruction`, and `run_for_input` are never used [INFO] [stdout] --> src/years/year2021/day24.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 130 | impl Alu { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] 131 | fn reg(&self, register: Register) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | fn reg_mut(&mut self, register: Register) -> &mut i64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | fn op_to_val(&self, op: Operand) -> i64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn run_instruction(&mut self, instruction: Instruction, input: &mut Option) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | fn run_for_input<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `optimize_instructions` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:209:4 [INFO] [stdout] | [INFO] [stdout] 209 | fn optimize_instructions(instructions: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_first_z_zero` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:284:4 [INFO] [stdout] | [INFO] [stdout] 284 | fn find_first_z_zero<'a, I>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `par_find_first_z_zero` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:326:4 [INFO] [stdout] | [INFO] [stdout] 326 | fn par_find_first_z_zero<'a, 'b, I: 'a>(instructions: &[Instruction], inputs: I) -> Option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:348:8 [INFO] [stdout] | [INFO] [stdout] 348 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:397:8 [INFO] [stdout] | [INFO] [stdout] 397 | pub fn solve_part1(input: &SolverInput) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/years/year2021/day24.rs:402:8 [INFO] [stdout] | [INFO] [stdout] 402 | pub fn solve_part2(input: &SolverInput) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SolverInput` is never used [INFO] [stdout] --> src/years/year2021/day25.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type SolverInput = Array2; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Empty`, `East`, and `South` are never constructed [INFO] [stdout] --> src/years/year2021/day25.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum Cell { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 16 | Empty, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 17 | East, [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | South, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cell` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `step` is never used [INFO] [stdout] --> src/years/year2021/day25.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn step(state: &mut Array2) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/years/year2021/day25.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn parse_input(file: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/years/year2021/day25.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn solve_part1(input: &SolverInput) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 238 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 141 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.96s [INFO] running `Command { std: "docker" "inspect" "0e24cd68fcc8a34f8a11add2fd637c3ab3f7ad04a4dcaadce32831c0021e9338", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0e24cd68fcc8a34f8a11add2fd637c3ab3f7ad04a4dcaadce32831c0021e9338", kill_on_drop: false }` [INFO] [stdout] 0e24cd68fcc8a34f8a11add2fd637c3ab3f7ad04a4dcaadce32831c0021e9338