[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] building sploicers/aoc-2024 against master#44f415c1d617ebc7b931a243b7b321ef8a6ca47c for pr-142134-abi-ast-error [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsploicers%2Faoc-2024" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/sploicers/aoc-2024 on toolchain 44f415c1d617ebc7b931a243b7b321ef8a6ca47c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-4-tc1/source/Cargo.toml [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" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 072a3bad370baca6cae08c9617964387768f1f346c08a157345a975a7c8760f3 [INFO] running `Command { std: "docker" "start" "-a" "072a3bad370baca6cae08c9617964387768f1f346c08a157345a975a7c8760f3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "072a3bad370baca6cae08c9617964387768f1f346c08a157345a975a7c8760f3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "072a3bad370baca6cae08c9617964387768f1f346c08a157345a975a7c8760f3", kill_on_drop: false }` [INFO] [stdout] 072a3bad370baca6cae08c9617964387768f1f346c08a157345a975a7c8760f3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c69507e00fdb74841f9b496fa8e8dcfd5a5c44a462dd16fa410a12a2c1393369 [INFO] running `Command { std: "docker" "start" "-a" "c69507e00fdb74841f9b496fa8e8dcfd5a5c44a462dd16fa410a12a2c1393369", 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)]` 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: fields `0` and `1` are never read [INFO] [stdout] --> src/day3/solution.rs:53:6 [INFO] [stdout] | [INFO] [stdout] 53 | Mul(u32, u32), [INFO] [stdout] | --- ^^^ ^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Instruction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 53 - Mul(u32, u32), [INFO] [stdout] 53 + Mul((), ()), [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] = note: `Operator` 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 `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] = note: `State` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [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] = note: `Direction` 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: 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: lifetime flowing from input to output with different syntax can be 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 gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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 13.23s [INFO] running `Command { std: "docker" "inspect" "c69507e00fdb74841f9b496fa8e8dcfd5a5c44a462dd16fa410a12a2c1393369", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c69507e00fdb74841f9b496fa8e8dcfd5a5c44a462dd16fa410a12a2c1393369", kill_on_drop: false }` [INFO] [stdout] c69507e00fdb74841f9b496fa8e8dcfd5a5c44a462dd16fa410a12a2c1393369 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 04b0551b4ae920c9c079423bbd5af495921dcf739f8794ee7997b67cef31faf2 [INFO] running `Command { std: "docker" "start" "-a" "04b0551b4ae920c9c079423bbd5af495921dcf739f8794ee7997b67cef31faf2", 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)]` 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: fields `0` and `1` are never read [INFO] [stdout] --> src/day3/solution.rs:53:6 [INFO] [stdout] | [INFO] [stdout] 53 | Mul(u32, u32), [INFO] [stdout] | --- ^^^ ^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Instruction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 53 - Mul(u32, u32), [INFO] [stdout] 53 + Mul((), ()), [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] = note: `Operator` 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 `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] = note: `State` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [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] = note: `Direction` 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: 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: lifetime flowing from input to output with different syntax can be 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 gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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.55s [INFO] running `Command { std: "docker" "inspect" "04b0551b4ae920c9c079423bbd5af495921dcf739f8794ee7997b67cef31faf2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "04b0551b4ae920c9c079423bbd5af495921dcf739f8794ee7997b67cef31faf2", kill_on_drop: false }` [INFO] [stdout] 04b0551b4ae920c9c079423bbd5af495921dcf739f8794ee7997b67cef31faf2