[INFO] cloning repository https://github.com/a-s8h/advent-2024 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/a-s8h/advent-2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fa-s8h%2Fadvent-2024", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fa-s8h%2Fadvent-2024'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 85d1f051156b823bb0746f5887d5249d5737934a [INFO] building a-s8h/advent-2024 against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fa-s8h%2Fadvent-2024" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/a-s8h/advent-2024 on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/a-s8h/advent-2024 [INFO] finished tweaking git repo https://github.com/a-s8h/advent-2024 [INFO] tweaked toml for git repo https://github.com/a-s8h/advent-2024 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/a-s8h/advent-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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 16e30157cbdd67fb376b68735459f9b68bb83bfc30a76df4b88b597e724779a5 [INFO] running `Command { std: "docker" "start" "-a" "16e30157cbdd67fb376b68735459f9b68bb83bfc30a76df4b88b597e724779a5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "16e30157cbdd67fb376b68735459f9b68bb83bfc30a76df4b88b597e724779a5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "16e30157cbdd67fb376b68735459f9b68bb83bfc30a76df4b88b597e724779a5", kill_on_drop: false }` [INFO] [stdout] 16e30157cbdd67fb376b68735459f9b68bb83bfc30a76df4b88b597e724779a5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5304ef7e3191d1e3512fe8b0f9ff37072b79a552793eca1a2482af6aed72bb04 [INFO] running `Command { std: "docker" "start" "-a" "5304ef7e3191d1e3512fe8b0f9ff37072b79a552793eca1a2482af6aed72bb04", kill_on_drop: false }` [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling advent-2024 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: multiple patterns overlap on their endpoints [INFO] [stdout] --> src/day3.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 40 | (c, 4..=6) if c.is_digit(10) && !self.op1_done => { [INFO] [stdout] | ----- this range overlaps on `6_usize`... [INFO] [stdout] ... [INFO] [stdout] 50 | (c, 6..=11) if c.is_digit(10) && self.op1_done && !self.op2_done => { [INFO] [stdout] | ^^^^^^ ... with this range [INFO] [stdout] | [INFO] [stdout] = note: you likely meant to write mutually exclusive ranges [INFO] [stdout] = note: `#[warn(overlapping_range_endpoints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `init_wires` [INFO] [stdout] --> src/day24.rs:128:10 [INFO] [stdout] | [INFO] [stdout] 128 | let (init_wires, gates, max_z) = parse_circuit(input); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_wires` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Point` is more private than the item `day18::part2` [INFO] [stdout] --> src/day18.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn part2(input: &str) -> Point { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `day18::part2` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Point` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/day18.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | struct Point { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_two_lists` is never used [INFO] [stdout] --> src/day1.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn parse_two_lists(input: &str) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day1.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn part1(list1: Vec, list2: Vec) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day1.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn part2(list1: Vec, list2: Vec) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day2.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn parse_input(input: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_safe` is never used [INFO] [stdout] --> src/day2.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn is_safe(report: Vec, err_count: i32) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day2.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn part1(reports: Vec>) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day2.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn part2(reports: Vec>) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OpMatch` is never constructed [INFO] [stdout] --> src/day3.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct OpMatch { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `check`, and `exec` are never used [INFO] [stdout] --> src/day3.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl OpMatch { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 12 | fn new() -> OpMatch { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | fn check(&mut self, sym: char) -> (bool, bool) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn exec(&self) -> i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DoMatch` is never constructed [INFO] [stdout] --> src/day3.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | struct DoMatch { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `check` are never used [INFO] [stdout] --> src/day3.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 75 | impl DoMatch { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 76 | fn new() -> DoMatch { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | fn check(&mut self, sym: char) -> (bool, bool) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DontMatch` is never constructed [INFO] [stdout] --> src/day3.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | struct DontMatch { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `check` are never used [INFO] [stdout] --> src/day3.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 109 | impl DontMatch { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 110 | fn new() -> DontMatch { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn check(&mut self, sym: char) -> (bool, bool) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day3.rs:151:4 [INFO] [stdout] | [INFO] [stdout] 151 | fn part1(input: &str) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day3.rs:169:4 [INFO] [stdout] | [INFO] [stdout] 169 | fn part2(input: &str) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DIRECTIONS` is never used [INFO] [stdout] --> src/day4.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | static DIRECTIONS: [(i32, i32); 8] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `XMAS` is never used [INFO] [stdout] --> src/day4.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | static XMAS: [char; 4] = ['X', 'M', 'A', 'S']; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `xmas_count` is never used [INFO] [stdout] --> src/day4.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn xmas_count(grid: Vec>) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_word` is never used [INFO] [stdout] --> src/day4.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn check_word(grid: &Vec>, mut x: i32, mut y: i32, direction: &(i32, i32)) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_grid_from_file` is never used [INFO] [stdout] --> src/day4.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn read_grid_from_file(filename: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `x_mas_count` is never used [INFO] [stdout] --> src/day4.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn x_mas_count(grid: &Vec>) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day5.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn parse_input(input: &str) -> (Vec<(i32, i32)>, Vec>) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_ordered` is never used [INFO] [stdout] --> src/day5.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn is_ordered(rules: &Vec<(i32, i32)>, update: &Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day5.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn part1(input: &str) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fix_ordering` is never used [INFO] [stdout] --> src/day5.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn fix_ordering(rules: &HashMap>, update: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day5.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn part2(input: &str) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Cell` is never used [INFO] [stdout] --> src/day6.rs:2:6 [INFO] [stdout] | [INFO] [stdout] 2 | enum Cell { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HitDirections` is never constructed [INFO] [stdout] --> src/day6.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct HitDirections { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `hit` and `new` are never used [INFO] [stdout] --> src/day6.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl HitDirections { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 19 | fn hit(&mut self, direction: Direction) -> bool { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fn new(direction: Direction) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/day6.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NextMap` is never used [INFO] [stdout] --> src/day6.rs:53:6 [INFO] [stdout] | [INFO] [stdout] 53 | enum NextMap { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FinishedMap` is never used [INFO] [stdout] --> src/day6.rs:58:6 [INFO] [stdout] | [INFO] [stdout] 58 | enum FinishedMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `take_and_is_finished` is never used [INFO] [stdout] --> src/day6.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 63 | impl NextMap { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 64 | fn take_and_is_finished(self) -> (Vec>, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `turn` is never used [INFO] [stdout] --> src/day6.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn turn(d: Direction) -> Direction { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cell_from_char` is never used [INFO] [stdout] --> src/day6.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn cell_from_char(c: char) -> Cell { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `char_from_cell` is never used [INFO] [stdout] --> src/day6.rs:96:4 [INFO] [stdout] | [INFO] [stdout] 96 | fn char_from_cell(c: &Cell) -> char { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `text_to_map` is never used [INFO] [stdout] --> src/day6.rs:108:4 [INFO] [stdout] | [INFO] [stdout] 108 | fn text_to_map(text: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_map` is never used [INFO] [stdout] --> src/day6.rs:114:4 [INFO] [stdout] | [INFO] [stdout] 114 | fn print_map(map: &[Vec]) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `next_map` is never used [INFO] [stdout] --> src/day6.rs:123:4 [INFO] [stdout] | [INFO] [stdout] 123 | fn next_map(mut map: Vec>) -> NextMap { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_last_map` is never used [INFO] [stdout] --> src/day6.rs:166:4 [INFO] [stdout] | [INFO] [stdout] 166 | fn get_last_map(mut map: Vec>) -> FinishedMap { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_locations` is never used [INFO] [stdout] --> src/day6.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn count_locations(s: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_obstacles_that_cause_loops` is never used [INFO] [stdout] --> src/day6.rs:188:4 [INFO] [stdout] | [INFO] [stdout] 188 | fn count_obstacles_that_cause_loops(s: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Equation` is never constructed [INFO] [stdout] --> src/day7.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct Equation { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from_str`, `is_solvable`, and `is_solvable_2` are never used [INFO] [stdout] --> src/day7.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl Equation { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 7 | fn new(result: u64, factors: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | fn from_str(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | fn is_solvable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn is_solvable_2(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day7.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn part1(input: &str) -> u64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day7.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn part2(input: &str) -> u64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day8.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn parse_input(input: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_same_freequency_anthenas` is never used [INFO] [stdout] --> src/day8.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn find_same_freequency_anthenas(grid: &Vec>) -> HashMap> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_bounds` is never used [INFO] [stdout] --> src/day8.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn check_bounds(p: (i32, i32), grid_len: (i32, i32)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part_1` is never used [INFO] [stdout] --> src/day8.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn part_1(input: &str) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part_2` is never used [INFO] [stdout] --> src/day8.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn part_2(input: &str) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `input_to_file_map` is never used [INFO] [stdout] --> src/day9.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn input_to_file_map(input: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `move_blocks` is never used [INFO] [stdout] --> src/day9.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn move_blocks(file_map: &mut Vec>) -> () { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_check_sum` is never used [INFO] [stdout] --> src/day9.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn calculate_check_sum(file_map: &Vec>) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Chunk` is never constructed [INFO] [stdout] --> src/day9.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | struct Chunk { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part_2` is never used [INFO] [stdout] --> src/day9.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn part_2(input: &str) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_paths` is never used [INFO] [stdout] --> src/day10.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn count_paths(grid: &Vec>, start: (usize, usize), track_visited: bool) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part_one` is never used [INFO] [stdout] --> src/day10.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn part_one(input: &str) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part_two` is never used [INFO] [stdout] --> src/day10.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blink` is never used [INFO] [stdout] --> src/day11.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn blink(stones: &HashMap) -> HashMap { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day11.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn solve(input: &str, times: u8) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Grid` is never constructed [INFO] [stdout] --> src/day12.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Grid { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_with_chars` is never used [INFO] [stdout] --> src/day12.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Grid { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 10 | pub fn new_with_chars(data: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get` is never used [INFO] [stdout] --> src/day12.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Grid { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 16 | pub fn get(&self, pos: (isize, isize)) -> Option<&T> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DIRS` is never used [INFO] [stdout] --> src/day12.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const DIRS: [(isize, isize); 4] = [(-1, 0), (0, 1), (1, 0), (0, -1)]; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `flood` is never used [INFO] [stdout] --> src/day12.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn flood( [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part_one` is never used [INFO] [stdout] --> src/day12.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn part_one(grid: &Grid) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_cells` is never used [INFO] [stdout] --> src/day12.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn collect_cells( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scan_perimeters` is never used [INFO] [stdout] --> src/day12.rs:108:4 [INFO] [stdout] | [INFO] [stdout] 108 | fn scan_perimeters(region: &HashSet<(isize, isize)>) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part_two` is never used [INFO] [stdout] --> src/day12.rs:144:4 [INFO] [stdout] | [INFO] [stdout] 144 | fn part_two(grid: &Grid) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COST_MOVE_A` is never used [INFO] [stdout] --> src/day13.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | const COST_MOVE_A: usize = 3; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COST_MOVE_B` is never used [INFO] [stdout] --> src/day13.rs:2:7 [INFO] [stdout] | [INFO] [stdout] 2 | const COST_MOVE_B: usize = 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Machine` is never constructed [INFO] [stdout] --> src/day13.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct Machine { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `min_cost_to_win` is never used [INFO] [stdout] --> src/day13.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 16 | impl Machine { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 17 | fn min_cost_to_win(&self, target_offset: isize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_coordinates` is never used [INFO] [stdout] --> src/day13.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn parse_coordinates(s: &str) -> (&str, &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/day13.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn parse(input: &str) -> Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part_1` is never used [INFO] [stdout] --> src/day13.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn part_1(input: &[Machine]) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part_2` is never used [INFO] [stdout] --> src/day13.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn part_2(input: &[Machine]) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Robot` is never constructed [INFO] [stdout] --> src/day14.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct Robot { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `update_position_in_seconds`, `update_position`, `parse`, and `quadrant` are never used [INFO] [stdout] --> src/day14.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 9 | impl Robot { [INFO] [stdout] | ------------------------------------------------------------------ associated items in this implementation [INFO] [stdout] 10 | fn update_position_in_seconds(&mut self, seconds: isize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | fn update_position(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | fn parse(input: &str) -> Vec> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn quadrant(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `safety_factor_for_quadrants` is never used [INFO] [stdout] --> src/day14.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn safety_factor_for_quadrants( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part_1` is never used [INFO] [stdout] --> src/day14.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn part_1(input: &str) -> i32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `standard_deviation` is never used [INFO] [stdout] --> src/day14.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn standard_deviation(data: &[usize]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_picture_of_tree` is never used [INFO] [stdout] --> src/day14.rs:100:4 [INFO] [stdout] | [INFO] [stdout] 100 | fn find_picture_of_tree( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day14.rs:120:4 [INFO] [stdout] | [INFO] [stdout] 120 | fn part2(input: &str) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Position` is never constructed [INFO] [stdout] --> src/day15.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct Position { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tile` is never used [INFO] [stdout] --> src/day15.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | enum Tile { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Warehouse` is never constructed [INFO] [stdout] --> src/day15.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct Warehouse { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/day15.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 26 | impl Warehouse { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 27 | fn new(map: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn move_robot(&mut self, direction: char) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn can_move(&self, new_pos: Position, dx: isize, dy: isize) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | fn move_tile(&mut self, pos: Position, dx: isize, dy: isize) -> () { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | fn simulate(&mut self, moves: &str) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | fn calculate_gps_sum(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn scale_width(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day15.rs:198:4 [INFO] [stdout] | [INFO] [stdout] 198 | fn parse_input(input: &str) -> (Warehouse, &str) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TURN_COST` is never used [INFO] [stdout] --> src/day16.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const TURN_COST: usize = 1000; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MOVE_COST` is never used [INFO] [stdout] --> src/day16.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const MOVE_COST: usize = 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/day16.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `opposite`, `turn_left`, `turn_right`, and `move_from` are never used [INFO] [stdout] --> src/day16.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 16 | impl Direction { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 17 | fn opposite(&self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fn turn_left(self) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | fn turn_right(self) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn move_from(&self, pos: (usize, usize)) -> Option<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `State` is never constructed [INFO] [stdout] --> src/day16.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | struct State { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/day16.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 63 | impl State { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 64 | fn new(x: usize, y: usize, direction: Direction, score: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ScoreMatrix` is never used [INFO] [stdout] --> src/day16.rs:85:6 [INFO] [stdout] | [INFO] [stdout] 85 | type ScoreMatrix = Vec>>; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_lowest_score` is never used [INFO] [stdout] --> src/day16.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn find_lowest_score(maze: &[Vec]) -> (usize, ScoreMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_valid_moves` is never used [INFO] [stdout] --> src/day16.rs:116:4 [INFO] [stdout] | [INFO] [stdout] 116 | fn get_valid_moves( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_start_end` is never used [INFO] [stdout] --> src/day16.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn find_start_end(maze: &[Vec]) -> ((usize, usize), (usize, usize)) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_shortest_path_tiles` is never used [INFO] [stdout] --> src/day16.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | fn count_shortest_path_tiles(maze: &[Vec], score_matrix: &ScoreMatrix) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day16.rs:204:4 [INFO] [stdout] | [INFO] [stdout] 204 | fn parse_input(input: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Computer` is never constructed [INFO] [stdout] --> src/day17.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | struct Computer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_operand_value`, `execute_instruction`, `run`, `run_with_a`, and `verify_self_copy` are never used [INFO] [stdout] --> src/day17.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 40 | impl Computer { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 41 | fn new(program: Vec, a: i64, b: i64, c: i64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | fn get_operand_value(&self, operand: u8, is_literal: bool) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn execute_instruction(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn run(&mut self) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | fn run_with_a(&mut self, initial_a: i64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | fn verify_self_copy(&mut self, initial_a: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decoded_iteration` is never used [INFO] [stdout] --> src/day17.rs:138:4 [INFO] [stdout] | [INFO] [stdout] 138 | fn decoded_iteration(a: i64) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find` is never used [INFO] [stdout] --> src/day17.rs:147:4 [INFO] [stdout] | [INFO] [stdout] 147 | fn find(a: i64, program: &[u8], index: usize, results: &mut Vec) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day17.rs:162:4 [INFO] [stdout] | [INFO] [stdout] 162 | fn parse_input(input: &str) -> (Vec, i64, i64, i64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> src/day18.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `neighbors` are never used [INFO] [stdout] --> src/day18.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 9 | impl Point { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 10 | fn new(x: i32, y: i32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | fn neighbors(&self, max_coord: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day18.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn parse_input(input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_shortest_path` is never used [INFO] [stdout] --> src/day18.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn find_shortest_path(corrupted: &HashSet, max_coord: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day18.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn part1(input: &str) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day18.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn part2(input: &str) -> Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TrieNode` is never constructed [INFO] [stdout] --> src/day19.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct TrieNode { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TrieNode` has a derived impl for the trait `Default`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `insert` are never used [INFO] [stdout] --> src/day19.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 9 | impl TrieNode { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 10 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | fn insert(&mut self, pattern: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day19.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn parse_input(input: &str) -> (TrieNode, Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `can_make_pattern_with_cache` is never used [INFO] [stdout] --> src/day19.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn can_make_pattern_with_cache(target: &str, trie: &TrieNode, cache: &mut HashSet) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_pattern_ways` is never used [INFO] [stdout] --> src/day19.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn count_pattern_ways(target: &str, trie: &TrieNode, cache: &mut HashMap) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day19.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn part1(input: &str) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day19.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn part2(input: &str) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pos` is never constructed [INFO] [stdout] --> src/day20.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct Pos(i32, i32); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `neighbors` is never used [INFO] [stdout] --> src/day20.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl Pos { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 7 | fn neighbors(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Map` is never constructed [INFO] [stdout] --> src/day20.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct Map { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `parse`, `is_valid`, `is_wall`, `walkable_positions`, and `count_cheats_with_savings` are never used [INFO] [stdout] --> src/day20.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl Map { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 25 | fn parse(input: &str) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn is_valid(&self, pos: &Pos) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn is_wall(&self, pos: &Pos) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn walkable_positions(&self) -> Vec<(Pos, i32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn count_cheats_with_savings(&self, min_savings: i32, max_chat_length: i32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pos` is never constructed [INFO] [stdout] --> src/day21.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct Pos { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Direction` is never constructed [INFO] [stdout] --> src/day21.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BFS_DIRECTIONS` is never used [INFO] [stdout] --> src/day21.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const BFS_DIRECTIONS: [(char, Direction); 4] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_keypad` is never used [INFO] [stdout] --> src/day21.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn init_keypad() -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_directions` is never used [INFO] [stdout] --> src/day21.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn init_directions() -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_command` is never used [INFO] [stdout] --> src/day21.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn get_command(input: &HashMap, start: char, end: char) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_key_presses` is never used [INFO] [stdout] --> src/day21.rs:103:4 [INFO] [stdout] | [INFO] [stdout] 103 | fn get_key_presses( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day21.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn part1(input: &str) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day21.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn part2(input: &str) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MASK` is never used [INFO] [stdout] --> src/day22.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const MASK: i64 = (1 << 24) - 1; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `step` is never used [INFO] [stdout] --> src/day22.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn step(secret: &i64) -> i64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day22.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn part1(input: &str) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `idx` is never used [INFO] [stdout] --> src/day22.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn idx(a: i64, b: i64, c: i64, d: i64) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day22.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn part2(input: &str) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ComputerName` is never used [INFO] [stdout] --> src/day23.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type ComputerName = String; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Network` is never used [INFO] [stdout] --> src/day23.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type Network = HashMap>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Triangle` is never used [INFO] [stdout] --> src/day23.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | type Triangle = HashSet; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day23.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn part1(input: &str) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day23.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn part2(input: &str) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_network` is never used [INFO] [stdout] --> src/day23.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn parse_network(input: &str) -> Network { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contains_t_computer` is never used [INFO] [stdout] --> src/day23.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn contains_t_computer(triangle: &Triangle) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_triangle` is never used [INFO] [stdout] --> src/day23.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn is_triangle(network: &Network, a: &str, b: &str, c: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_triangles` is never used [INFO] [stdout] --> src/day23.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn find_triangles(network: &Network) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_clique` is never used [INFO] [stdout] --> src/day23.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn format_clique(clique: &HashSet) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_max_clique` is never used [INFO] [stdout] --> src/day23.rs:86:4 [INFO] [stdout] | [INFO] [stdout] 86 | fn find_max_clique(network: &Network) -> Triangle { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bron_kerbosch` is never used [INFO] [stdout] --> src/day23.rs:103:4 [INFO] [stdout] | [INFO] [stdout] 103 | fn bron_kerbosch( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Gate` is never used [INFO] [stdout] --> src/day24.rs:6:6 [INFO] [stdout] | [INFO] [stdout] 6 | enum Gate { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Connection` is never constructed [INFO] [stdout] --> src/day24.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct Connection<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `parse`, `is_direct`, `is_output`, `has_input`, and `has_output` are never used [INFO] [stdout] --> src/day24.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'a> Connection<'a> { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 21 | fn parse(line: &'a str) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn is_direct(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn is_output(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | fn has_input(&self, input: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | fn has_output(&self, output: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_circuit` is never used [INFO] [stdout] --> src/day24.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn parse_circuit(input: &str) -> (HashMap<&str, i32>, Vec, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `simulate_circuit` is never used [INFO] [stdout] --> src/day24.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn simulate_circuit<'a>(wires: &mut HashMap<&'a str, i32>, gates: &[Connection<'a>]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combine_z_wires` is never used [INFO] [stdout] --> src/day24.rs:111:4 [INFO] [stdout] | [INFO] [stdout] 111 | fn combine_z_wires(wires: &HashMap<&str, i32>, max_z_wire: usize) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day24.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn part1(input: &str) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part2` is never used [INFO] [stdout] --> src/day24.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn part2(input: &str) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/day25.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn parse(input: &str) -> (Vec>, Vec>) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum` is never used [INFO] [stdout] --> src/day25.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn sum(a: &Vec, b: &Vec) -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part1` is never used [INFO] [stdout] --> src/day25.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn part1(input: &str) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.46s [INFO] running `Command { std: "docker" "inspect" "5304ef7e3191d1e3512fe8b0f9ff37072b79a552793eca1a2482af6aed72bb04", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5304ef7e3191d1e3512fe8b0f9ff37072b79a552793eca1a2482af6aed72bb04", kill_on_drop: false }` [INFO] [stdout] 5304ef7e3191d1e3512fe8b0f9ff37072b79a552793eca1a2482af6aed72bb04 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bc8b32c83e4c6015f90aeba6041e8b71fa40a0680cb64281e8dfb5c2551e1c24 [INFO] running `Command { std: "docker" "start" "-a" "bc8b32c83e4c6015f90aeba6041e8b71fa40a0680cb64281e8dfb5c2551e1c24", kill_on_drop: false }` [INFO] [stderr] Compiling advent-2024 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: multiple patterns overlap on their endpoints [INFO] [stdout] --> src/day3.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 40 | (c, 4..=6) if c.is_digit(10) && !self.op1_done => { [INFO] [stdout] | ----- this range overlaps on `6_usize`... [INFO] [stdout] ... [INFO] [stdout] 50 | (c, 6..=11) if c.is_digit(10) && self.op1_done && !self.op2_done => { [INFO] [stdout] | ^^^^^^ ... with this range [INFO] [stdout] | [INFO] [stdout] = note: you likely meant to write mutually exclusive ranges [INFO] [stdout] = note: `#[warn(overlapping_range_endpoints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `init_wires` [INFO] [stdout] --> src/day24.rs:128:10 [INFO] [stdout] | [INFO] [stdout] 128 | let (init_wires, gates, max_z) = parse_circuit(input); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_wires` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `day18::Point` is more private than the item `day18::part2` [INFO] [stdout] --> src/day18.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn part2(input: &str) -> Point { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `day18::part2` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `day18::Point` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/day18.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | struct Point { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `height` and `width` are never read [INFO] [stdout] --> src/day12.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Grid { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 4 | pub cells: Vec>, [INFO] [stdout] 5 | pub height: isize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 6 | pub width: isize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `run_with_a` and `verify_self_copy` are never used [INFO] [stdout] --> src/day17.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 40 | impl Computer { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 120 | fn run_with_a(&mut self, initial_a: i64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | fn verify_self_copy(&mut self, initial_a: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `end` is never read [INFO] [stdout] --> src/day20.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 18 | struct Map { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | end: Pos, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Map` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.30s [INFO] running `Command { std: "docker" "inspect" "bc8b32c83e4c6015f90aeba6041e8b71fa40a0680cb64281e8dfb5c2551e1c24", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bc8b32c83e4c6015f90aeba6041e8b71fa40a0680cb64281e8dfb5c2551e1c24", kill_on_drop: false }` [INFO] [stdout] bc8b32c83e4c6015f90aeba6041e8b71fa40a0680cb64281e8dfb5c2551e1c24