[INFO] cloning repository https://github.com/sploicers/aoc-2024 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sploicers/aoc-2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsploicers%2Faoc-2024", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsploicers%2Faoc-2024'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6651a74a9c3d1da24fc55e75a90e484a01353306 [INFO] testing sploicers/aoc-2024 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsploicers%2Faoc-2024" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/sploicers/aoc-2024 [INFO] finished tweaking git repo https://github.com/sploicers/aoc-2024 [INFO] tweaked toml for git repo https://github.com/sploicers/aoc-2024 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/sploicers/aoc-2024 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/sploicers/aoc-2024 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d5ae2aa708de86d639d3ab54b8dfd2f2c5a673b1af0818b60538e3815de8c41f [INFO] running `Command { std: "docker" "start" "-a" "d5ae2aa708de86d639d3ab54b8dfd2f2c5a673b1af0818b60538e3815de8c41f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d5ae2aa708de86d639d3ab54b8dfd2f2c5a673b1af0818b60538e3815de8c41f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d5ae2aa708de86d639d3ab54b8dfd2f2c5a673b1af0818b60538e3815de8c41f", kill_on_drop: false }` [INFO] [stdout] d5ae2aa708de86d639d3ab54b8dfd2f2c5a673b1af0818b60538e3815de8c41f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0fe30645d95bd65617a5dbefcbc5010fcbc5dc36d8d8a3a56d2b2aeb74380eed [INFO] running `Command { std: "docker" "start" "-a" "0fe30645d95bd65617a5dbefcbc5010fcbc5dc36d8d8a3a56d2b2aeb74380eed", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling aoc-2024 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day1/solution.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn part1() -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day1/solution.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn part2() -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_input` is never used [INFO] [stdout] --> src/day1/solution.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn split_input() -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day2/solution.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn part1() -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day2/solution.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn part2() -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/day2/solution.rs:56:6 [INFO] [stdout] | [INFO] [stdout] 56 | enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_safe` is never used [INFO] [stdout] --> src/day2/solution.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn is_safe(report: &mut Vec, have_skipped: bool) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `safe_difference` is never used [INFO] [stdout] --> src/day2/solution.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn safe_difference(diff: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reevaluate_report` is never used [INFO] [stdout] --> src/day2/solution.rs:93:4 [INFO] [stdout] | [INFO] [stdout] 93 | fn reevaluate_report(report: &mut Vec, i: usize, have_skipped: bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_lines_as_vecs` is never used [INFO] [stdout] --> src/day2/solution.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn read_lines_as_vecs() -> impl Iterator> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day3/solution.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn part1() -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day3/solution.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn part2() -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_input_as_string` is never used [INFO] [stdout] --> src/day3/solution.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn get_input_as_string() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Instruction` is never used [INFO] [stdout] --> src/day3/solution.rs:52:6 [INFO] [stdout] | [INFO] [stdout] 52 | enum Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day4/solution.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn part1() -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day4/solution.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn part2() -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Puzzle` is never constructed [INFO] [stdout] --> src/day5/solution.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct Puzzle { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day5/solution.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn part1() -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day5/solution.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn part2() -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/day5/solution.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn parse() -> Puzzle { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day6/solution.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn part1() -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day6/solution.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn part2() -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `traverse` is never used [INFO] [stdout] --> src/day6/solution.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn traverse(grid: &Grid, input_str: &str, visit: fn(usize, Direction, &Path) -> bool) -> Path { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `visit_noop` is never used [INFO] [stdout] --> src/day6/solution.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn visit_noop(_: usize, _: Direction, _: &Path) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `visit_if_not_seen` is never used [INFO] [stdout] --> src/day6/solution.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn visit_if_not_seen(pos: usize, dir: Direction, path: &Path) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Path` is never constructed [INFO] [stdout] --> src/day6/solution.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | struct Path { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `len`, `visited_uniq`, `append`, and `contains` are never used [INFO] [stdout] --> src/day6/solution.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 78 | impl Path { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 79 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn visited_uniq(&self) -> HashSet<&usize> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn append(&mut self, pos: usize, dir: Direction) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn contains(&self, pos: usize, dir: Direction) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Operator` is never used [INFO] [stdout] --> src/day7/solution.rs:6:6 [INFO] [stdout] | [INFO] [stdout] 6 | enum Operator { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day7/solution.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn part1() -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day7/solution.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn part2() -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate` is never used [INFO] [stdout] --> src/day7/solution.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn evaluate(count_combinations: fn(State) -> usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combinations` is never used [INFO] [stdout] --> src/day7/solution.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn combinations(state: State) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combinations2` is never used [INFO] [stdout] --> src/day7/solution.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn combinations2(state: State) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `State` is never constructed [INFO] [stdout] --> src/day7/solution.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | struct State { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_filled`, `evaluates_to_target`, and `fill_next` are never used [INFO] [stdout] --> src/day7/solution.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 66 | impl State { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 67 | pub fn is_filled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn evaluates_to_target(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn fill_next(&self, op: Operator) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day8/solution.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn part1() -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DirectionalGridIterator` is never constructed [INFO] [stdout] --> src/grid.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct DirectionalGridIterator<'g> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `next_in_direction`, `next_char_in_direction`, `next_pos_in_direction`, `iter_in_direction`, `update_pos`, and `coords_1d` are never used [INFO] [stdout] --> src/grid.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 18 | impl Grid { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn next_in_direction(&self, pos: usize, dir: Direction) -> Option<(usize, &char)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn next_char_in_direction(&self, pos: usize, dir: Direction) -> Option<&char> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn next_pos_in_direction(&self, pos: usize, dir: Direction) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn iter_in_direction(&self, pos: usize, dir: Direction) -> DirectionalGridIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn update_pos(&mut self, pos: usize, c: char) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn coords_1d(&self, p: Point) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/grid.rs:122:10 [INFO] [stdout] | [INFO] [stdout] 122 | pub enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `all` and `diags` are never used [INFO] [stdout] --> src/grid.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 133 | impl Direction { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 134 | pub fn all() -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn diags() -> Vec<(Direction, Direction)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_input_lines` is never used [INFO] [stdout] --> src/util.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn read_input_lines() -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `regex_or_panic` is never used [INFO] [stdout] --> src/util.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn regex_or_panic(s: &str) -> Regex { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/grid.rs:73:27 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn iter_in_direction(&self, pos: usize, dir: Direction) -> DirectionalGridIterator { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 73 | pub fn iter_in_direction(&self, pos: usize, dir: Direction) -> DirectionalGridIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.29s [INFO] running `Command { std: "docker" "inspect" "0fe30645d95bd65617a5dbefcbc5010fcbc5dc36d8d8a3a56d2b2aeb74380eed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0fe30645d95bd65617a5dbefcbc5010fcbc5dc36d8d8a3a56d2b2aeb74380eed", kill_on_drop: false }` [INFO] [stdout] 0fe30645d95bd65617a5dbefcbc5010fcbc5dc36d8d8a3a56d2b2aeb74380eed [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0a58c5fafce94bc7ba574433e922ad81547214ed0b65e5a24b73834ce6fd9c26 [INFO] running `Command { std: "docker" "start" "-a" "0a58c5fafce94bc7ba574433e922ad81547214ed0b65e5a24b73834ce6fd9c26", kill_on_drop: false }` [INFO] [stderr] Compiling aoc-2024 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day1/solution.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn part1() -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day1/solution.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn part2() -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_input` is never used [INFO] [stdout] --> src/day1/solution.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn split_input() -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day2/solution.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn part1() -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day2/solution.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn part2() -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/day2/solution.rs:56:6 [INFO] [stdout] | [INFO] [stdout] 56 | enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_safe` is never used [INFO] [stdout] --> src/day2/solution.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn is_safe(report: &mut Vec, have_skipped: bool) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `safe_difference` is never used [INFO] [stdout] --> src/day2/solution.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn safe_difference(diff: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reevaluate_report` is never used [INFO] [stdout] --> src/day2/solution.rs:93:4 [INFO] [stdout] | [INFO] [stdout] 93 | fn reevaluate_report(report: &mut Vec, i: usize, have_skipped: bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_lines_as_vecs` is never used [INFO] [stdout] --> src/day2/solution.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn read_lines_as_vecs() -> impl Iterator> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day3/solution.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn part1() -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day3/solution.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn part2() -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_input_as_string` is never used [INFO] [stdout] --> src/day3/solution.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn get_input_as_string() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Instruction` is never used [INFO] [stdout] --> src/day3/solution.rs:52:6 [INFO] [stdout] | [INFO] [stdout] 52 | enum Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day4/solution.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn part1() -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day4/solution.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn part2() -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Puzzle` is never constructed [INFO] [stdout] --> src/day5/solution.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct Puzzle { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day5/solution.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn part1() -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day5/solution.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn part2() -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/day5/solution.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn parse() -> Puzzle { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day6/solution.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn part1() -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day6/solution.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn part2() -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `traverse` is never used [INFO] [stdout] --> src/day6/solution.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn traverse(grid: &Grid, input_str: &str, visit: fn(usize, Direction, &Path) -> bool) -> Path { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `visit_noop` is never used [INFO] [stdout] --> src/day6/solution.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn visit_noop(_: usize, _: Direction, _: &Path) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `visit_if_not_seen` is never used [INFO] [stdout] --> src/day6/solution.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn visit_if_not_seen(pos: usize, dir: Direction, path: &Path) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Path` is never constructed [INFO] [stdout] --> src/day6/solution.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | struct Path { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `len`, `visited_uniq`, `append`, and `contains` are never used [INFO] [stdout] --> src/day6/solution.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 78 | impl Path { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 79 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn visited_uniq(&self) -> HashSet<&usize> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn append(&mut self, pos: usize, dir: Direction) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn contains(&self, pos: usize, dir: Direction) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Operator` is never used [INFO] [stdout] --> src/day7/solution.rs:6:6 [INFO] [stdout] | [INFO] [stdout] 6 | enum Operator { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day7/solution.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn part1() -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day7/solution.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn part2() -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate` is never used [INFO] [stdout] --> src/day7/solution.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn evaluate(count_combinations: fn(State) -> usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combinations` is never used [INFO] [stdout] --> src/day7/solution.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn combinations(state: State) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combinations2` is never used [INFO] [stdout] --> src/day7/solution.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn combinations2(state: State) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `State` is never constructed [INFO] [stdout] --> src/day7/solution.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | struct State { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_filled`, `evaluates_to_target`, and `fill_next` are never used [INFO] [stdout] --> src/day7/solution.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 66 | impl State { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 67 | pub fn is_filled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn evaluates_to_target(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn fill_next(&self, op: Operator) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day8/solution.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn part1() -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DirectionalGridIterator` is never constructed [INFO] [stdout] --> src/grid.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct DirectionalGridIterator<'g> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `next_in_direction`, `next_char_in_direction`, `next_pos_in_direction`, `iter_in_direction`, `update_pos`, and `coords_1d` are never used [INFO] [stdout] --> src/grid.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 18 | impl Grid { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn next_in_direction(&self, pos: usize, dir: Direction) -> Option<(usize, &char)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn next_char_in_direction(&self, pos: usize, dir: Direction) -> Option<&char> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn next_pos_in_direction(&self, pos: usize, dir: Direction) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn iter_in_direction(&self, pos: usize, dir: Direction) -> DirectionalGridIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn update_pos(&mut self, pos: usize, c: char) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn coords_1d(&self, p: Point) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/grid.rs:122:10 [INFO] [stdout] | [INFO] [stdout] 122 | pub enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `all` and `diags` are never used [INFO] [stdout] --> src/grid.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 133 | impl Direction { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 134 | pub fn all() -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn diags() -> Vec<(Direction, Direction)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_input_lines` is never used [INFO] [stdout] --> src/util.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn read_input_lines() -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `regex_or_panic` is never used [INFO] [stdout] --> src/util.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn regex_or_panic(s: &str) -> Regex { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/grid.rs:73:27 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn iter_in_direction(&self, pos: usize, dir: Direction) -> DirectionalGridIterator { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 73 | pub fn iter_in_direction(&self, pos: usize, dir: Direction) -> DirectionalGridIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.48s [INFO] running `Command { std: "docker" "inspect" "0a58c5fafce94bc7ba574433e922ad81547214ed0b65e5a24b73834ce6fd9c26", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0a58c5fafce94bc7ba574433e922ad81547214ed0b65e5a24b73834ce6fd9c26", kill_on_drop: false }` [INFO] [stdout] 0a58c5fafce94bc7ba574433e922ad81547214ed0b65e5a24b73834ce6fd9c26 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ef04d389e9fd3c043156a91291f91f07110bd0f8de7b51dd8645447f28d1d6a4 [INFO] running `Command { std: "docker" "start" "-a" "ef04d389e9fd3c043156a91291f91f07110bd0f8de7b51dd8645447f28d1d6a4", kill_on_drop: false }` [INFO] [stderr] warning: function `part1` is never used [INFO] [stderr] --> src/day1/solution.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn part1() -> i32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `part2` is never used [INFO] [stderr] --> src/day1/solution.rs:16:8 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn part2() -> i32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `split_input` is never used [INFO] [stderr] --> src/day1/solution.rs:26:4 [INFO] [stderr] | [INFO] [stderr] 26 | fn split_input() -> (Vec, Vec) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part1` is never used [INFO] [stderr] --> src/day2/solution.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn part1() -> u16 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part2` is never used [INFO] [stderr] --> src/day2/solution.rs:35:8 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn part2() -> u16 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `Direction` is never used [INFO] [stderr] --> src/day2/solution.rs:56:6 [INFO] [stderr] | [INFO] [stderr] 56 | enum Direction { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_safe` is never used [INFO] [stderr] --> src/day2/solution.rs:61:4 [INFO] [stderr] | [INFO] [stderr] 61 | fn is_safe(report: &mut Vec, have_skipped: bool) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `safe_difference` is never used [INFO] [stderr] --> src/day2/solution.rs:89:4 [INFO] [stderr] | [INFO] [stderr] 89 | fn safe_difference(diff: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `reevaluate_report` is never used [INFO] [stderr] --> src/day2/solution.rs:93:4 [INFO] [stderr] | [INFO] [stderr] 93 | fn reevaluate_report(report: &mut Vec, i: usize, have_skipped: bool) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `read_lines_as_vecs` is never used [INFO] [stderr] --> src/day2/solution.rs:105:4 [INFO] [stderr] | [INFO] [stderr] 105 | fn read_lines_as_vecs() -> impl Iterator> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part1` is never used [INFO] [stderr] --> src/day3/solution.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn part1() -> u32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part2` is never used [INFO] [stderr] --> src/day3/solution.rs:20:8 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn part2() -> u32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_input_as_string` is never used [INFO] [stderr] --> src/day3/solution.rs:43:4 [INFO] [stderr] | [INFO] [stderr] 43 | fn get_input_as_string() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `Instruction` is never used [INFO] [stderr] --> src/day3/solution.rs:52:6 [INFO] [stderr] | [INFO] [stderr] 52 | enum Instruction { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part1` is never used [INFO] [stderr] --> src/day4/solution.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn part1() -> i32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part2` is never used [INFO] [stderr] --> src/day4/solution.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn part2() -> i32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Puzzle` is never constructed [INFO] [stderr] --> src/day5/solution.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | struct Puzzle { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part1` is never used [INFO] [stderr] --> src/day5/solution.rs:9:8 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn part1() -> u16 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part2` is never used [INFO] [stderr] --> src/day5/solution.rs:31:8 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn part2() -> u16 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse` is never used [INFO] [stderr] --> src/day5/solution.rs:66:4 [INFO] [stderr] | [INFO] [stderr] 66 | fn parse() -> Puzzle { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part1` is never used [INFO] [stderr] --> src/day6/solution.rs:6:8 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn part1() -> usize { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part2` is never used [INFO] [stderr] --> src/day6/solution.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn part2() -> usize { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `traverse` is never used [INFO] [stderr] --> src/day6/solution.rs:30:4 [INFO] [stderr] | [INFO] [stderr] 30 | fn traverse(grid: &Grid, input_str: &str, visit: fn(usize, Direction, &Path) -> bool) -> Path { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `visit_noop` is never used [INFO] [stderr] --> src/day6/solution.rs:65:4 [INFO] [stderr] | [INFO] [stderr] 65 | fn visit_noop(_: usize, _: Direction, _: &Path) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `visit_if_not_seen` is never used [INFO] [stderr] --> src/day6/solution.rs:69:4 [INFO] [stderr] | [INFO] [stderr] 69 | fn visit_if_not_seen(pos: usize, dir: Direction, path: &Path) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Path` is never constructed [INFO] [stderr] --> src/day6/solution.rs:73:8 [INFO] [stderr] | [INFO] [stderr] 73 | struct Path { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `len`, `visited_uniq`, `append`, and `contains` are never used [INFO] [stderr] --> src/day6/solution.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 78 | impl Path { [INFO] [stderr] | --------- associated items in this implementation [INFO] [stderr] 79 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 83 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 87 | pub fn visited_uniq(&self) -> HashSet<&usize> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 94 | pub fn append(&mut self, pos: usize, dir: Direction) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 98 | pub fn contains(&self, pos: usize, dir: Direction) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `Operator` is never used [INFO] [stderr] --> src/day7/solution.rs:6:6 [INFO] [stderr] | [INFO] [stderr] 6 | enum Operator { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part1` is never used [INFO] [stderr] --> src/day7/solution.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn part1() -> usize { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part2` is never used [INFO] [stderr] --> src/day7/solution.rs:16:8 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn part2() -> usize { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `evaluate` is never used [INFO] [stderr] --> src/day7/solution.rs:20:4 [INFO] [stderr] | [INFO] [stderr] 20 | fn evaluate(count_combinations: fn(State) -> usize) -> usize { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `combinations` is never used [INFO] [stderr] --> src/day7/solution.rs:41:4 [INFO] [stderr] | [INFO] [stderr] 41 | fn combinations(state: State) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `combinations2` is never used [INFO] [stderr] --> src/day7/solution.rs:49:4 [INFO] [stderr] | [INFO] [stderr] 49 | fn combinations2(state: State) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `State` is never constructed [INFO] [stderr] --> src/day7/solution.rs:60:8 [INFO] [stderr] | [INFO] [stderr] 60 | struct State { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `is_filled`, `evaluates_to_target`, and `fill_next` are never used [INFO] [stderr] --> src/day7/solution.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 66 | impl State { [INFO] [stderr] | ---------- methods in this implementation [INFO] [stderr] 67 | pub fn is_filled(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 71 | pub fn evaluates_to_target(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 90 | pub fn fill_next(&self, op: Operator) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part1` is never used [INFO] [stderr] --> src/day8/solution.rs:9:8 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn part1() -> usize { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DirectionalGridIterator` is never constructed [INFO] [stderr] --> src/grid.rs:12:12 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct DirectionalGridIterator<'g> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `next_in_direction`, `next_char_in_direction`, `next_pos_in_direction`, `iter_in_direction`, `update_pos`, and `coords_1d` are never used [INFO] [stderr] --> src/grid.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 18 | impl Grid { [INFO] [stderr] | --------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 36 | pub fn next_in_direction(&self, pos: usize, dir: Direction) -> Option<(usize, &char)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 65 | pub fn next_char_in_direction(&self, pos: usize, dir: Direction) -> Option<&char> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 69 | pub fn next_pos_in_direction(&self, pos: usize, dir: Direction) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 73 | pub fn iter_in_direction(&self, pos: usize, dir: Direction) -> DirectionalGridIterator { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 77 | pub fn update_pos(&mut self, pos: usize, c: char) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 81 | pub fn coords_1d(&self, p: Point) -> Option { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `Direction` is never used [INFO] [stderr] --> src/grid.rs:122:10 [INFO] [stderr] | [INFO] [stderr] 122 | pub enum Direction { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `all` and `diags` are never used [INFO] [stderr] --> src/grid.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 133 | impl Direction { [INFO] [stderr] | -------------- associated functions in this implementation [INFO] [stderr] 134 | pub fn all() -> Vec { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 147 | pub fn diags() -> Vec<(Direction, Direction)> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `read_input_lines` is never used [INFO] [stderr] --> src/util.rs:18:8 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn read_input_lines() -> impl Iterator { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `regex_or_panic` is never used [INFO] [stderr] --> src/util.rs:36:8 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn regex_or_panic(s: &str) -> Regex { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/grid.rs:73:27 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn iter_in_direction(&self, pos: usize, dir: Direction) -> DirectionalGridIterator { [INFO] [stderr] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 73 | pub fn iter_in_direction(&self, pos: usize, dir: Direction) -> DirectionalGridIterator<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `aoc-2024` (bin "aoc-2024" test) generated 43 warnings (run `cargo fix --bin "aoc-2024" -p aoc-2024 --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/aoc_2024-d3bee99593fc5fa9) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ef04d389e9fd3c043156a91291f91f07110bd0f8de7b51dd8645447f28d1d6a4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ef04d389e9fd3c043156a91291f91f07110bd0f8de7b51dd8645447f28d1d6a4", kill_on_drop: false }` [INFO] [stdout] ef04d389e9fd3c043156a91291f91f07110bd0f8de7b51dd8645447f28d1d6a4