[INFO] cloning repository https://github.com/mvmorin/aoc2022 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mvmorin/aoc2022" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvmorin%2Faoc2022", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvmorin%2Faoc2022'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 318cf8dae17c1fb5d9d06a20e17483ab06d6378e [INFO] building mvmorin/aoc2022 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%2Fmvmorin%2Faoc2022" "/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/mvmorin/aoc2022 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/mvmorin/aoc2022 [INFO] finished tweaking git repo https://github.com/mvmorin/aoc2022 [INFO] tweaked toml for git repo https://github.com/mvmorin/aoc2022 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/mvmorin/aoc2022 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] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [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] 902cb3a9e6e7d9dde50113bc1d3da9f8107a12828052be62e1b8cfacfc8c7d54 [INFO] running `Command { std: "docker" "start" "-a" "902cb3a9e6e7d9dde50113bc1d3da9f8107a12828052be62e1b8cfacfc8c7d54", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "902cb3a9e6e7d9dde50113bc1d3da9f8107a12828052be62e1b8cfacfc8c7d54", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "902cb3a9e6e7d9dde50113bc1d3da9f8107a12828052be62e1b8cfacfc8c7d54", kill_on_drop: false }` [INFO] [stdout] 902cb3a9e6e7d9dde50113bc1d3da9f8107a12828052be62e1b8cfacfc8c7d54 [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] ffe5582e04e17cbdf5ddb77d86e78fdff9df6e733ae1f95beaba0ae1839961df [INFO] running `Command { std: "docker" "start" "-a" "ffe5582e04e17cbdf5ddb77d86e78fdff9df6e733ae1f95beaba0ae1839961df", kill_on_drop: false }` [INFO] [stderr] Compiling either v1.8.0 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling aoc2022 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `calc_round_score_01` is never used [INFO] [stdout] --> src/day02/mod.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn calc_round_score_01(r: &str) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_round_score_02` is never used [INFO] [stdout] --> src/day02/mod.rs:55:4 [INFO] [stdout] | [INFO] [stdout] 55 | fn calc_round_score_02(r: &str) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_badge_priority` is never used [INFO] [stdout] --> src/day03/mod.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn get_badge_priority(bps: &[&str]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_backpack_priority` is never used [INFO] [stdout] --> src/day03/mod.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn get_backpack_priority(bp: &str) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_priority` is never used [INFO] [stdout] --> src/day03/mod.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn get_priority(c: char) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_ranges` is never used [INFO] [stdout] --> src/day04/mod.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn to_ranges(pair: &str) -> (Range, Range) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `range_contains` is never used [INFO] [stdout] --> src/day04/mod.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn range_contains(a: &Range, b: &Range) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `range_no_overlap` is never used [INFO] [stdout] --> src/day04/mod.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn range_no_overlap(a: &Range, b: &Range) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stacks` is never constructed [INFO] [stdout] --> src/day05/mod.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct Stacks { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from`, `move_one_by_one`, and `move_many` are never used [INFO] [stdout] --> src/day05/mod.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl Stacks { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 7 | fn from(s: &str, n_stacks: usize) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fn move_one_by_one(&mut self, m: &Move) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn move_many(&mut self, m: &Move) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Move` is never constructed [INFO] [stdout] --> src/day05/mod.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | struct Move { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from` is never used [INFO] [stdout] --> src/day05/mod.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 58 | impl Move { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 59 | fn from(s: &str) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scan_start_of_packet` is never used [INFO] [stdout] --> src/day06/mod.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn scan_start_of_packet(s: &str, window_size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_directories` is never used [INFO] [stdout] --> src/day07/mod.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn parse_directories(commands: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Directory` is never constructed [INFO] [stdout] --> src/day07/mod.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | struct Directory(Rc>); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DirectoryWeak` is never constructed [INFO] [stdout] --> src/day07/mod.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | struct DirectoryWeak(Weak>); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DirData` is never constructed [INFO] [stdout] --> src/day07/mod.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | struct DirData { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `File` is never constructed [INFO] [stdout] --> src/day07/mod.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | struct File { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/day07/mod.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 84 | impl Directory { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 85 | fn new(name: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn get_data(&self) -> Ref { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn get_data_mut(&mut self) -> RefMut { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | fn to_weak(&self) -> DirectoryWeak { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | fn add_subdir(&mut self, mut dir: Directory) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | fn get_subdir(&self, name: &str) -> Directory { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn get_parent(&self) -> Directory { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn add_file(&mut self, file: File) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | fn size(&mut self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `to_strong` and `new` are never used [INFO] [stdout] --> src/day07/mod.rs:146:8 [INFO] [stdout] | [INFO] [stdout] 145 | impl DirectoryWeak { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 146 | fn to_strong(&self) -> Directory { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tree` is never constructed [INFO] [stdout] --> src/day08/mod.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | struct Tree { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `visible` are never used [INFO] [stdout] --> src/day08/mod.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl Tree { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 24 | fn new(height: i32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fn visible(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string_to_trees` is never used [INFO] [stdout] --> src/day08/mod.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn string_to_trees(s: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_sightlines` is never used [INFO] [stdout] --> src/day08/mod.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn find_sightlines(trees: &mut Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/day08/mod.rs:96:6 [INFO] [stdout] | [INFO] [stdout] 96 | enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blocking_height` is never used [INFO] [stdout] --> src/day08/mod.rs:103:4 [INFO] [stdout] | [INFO] [stdout] 103 | fn blocking_height(t: &Tree, dir: Direction) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scenic_score` is never used [INFO] [stdout] --> src/day08/mod.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn scenic_score(row: usize, col: usize, trees: &Vec>) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_visible` is never used [INFO] [stdout] --> src/day08/mod.rs:154:4 [INFO] [stdout] | [INFO] [stdout] 154 | fn count_visible(trees: &Vec>) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `max_scenic_score` is never used [INFO] [stdout] --> src/day08/mod.rs:160:4 [INFO] [stdout] | [INFO] [stdout] 160 | fn max_scenic_score(trees: &Vec>) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_covered_by_tail` is never used [INFO] [stdout] --> src/day09/mod.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn count_covered_by_tail(string: &mut Vec, moves: &Vec<(Direction,usize)>) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/day09/mod.rs:30:6 [INFO] [stdout] | [INFO] [stdout] 30 | enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Knot` is never constructed [INFO] [stdout] --> src/day09/mod.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | struct Knot { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `step_knot` is never used [INFO] [stdout] --> src/day09/mod.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn step_knot(knot: &Knot, dir: &Direction) -> Knot { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `catch_up` is never used [INFO] [stdout] --> src/day09/mod.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn catch_up(head: &Knot, tail: &Knot) -> Knot { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `step_string` is never used [INFO] [stdout] --> src/day09/mod.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn step_string(string: &mut Vec, dir: &Direction, visited_by_tail: &mut HashSet) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_move` is never used [INFO] [stdout] --> src/day09/mod.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn parse_move(line: &str) -> (Direction, usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Ops` is never used [INFO] [stdout] --> src/day10/mod.rs:35:6 [INFO] [stdout] | [INFO] [stdout] 35 | enum Ops { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_op` is never used [INFO] [stdout] --> src/day10/mod.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn parse_op(line: &str) -> Ops { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cycles_to_complete` is never used [INFO] [stdout] --> src/day10/mod.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn cycles_to_complete(op: &Ops) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CPU` is never constructed [INFO] [stdout] --> src/day10/mod.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | struct CPU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/day10/mod.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 64 | impl CPU { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 65 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cycle` is never used [INFO] [stdout] --> src/day10/mod.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn cycle(cpu: &mut CPU, instructions: &mut impl Iterator) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `round` is never used [INFO] [stdout] --> src/day11/mod.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn round(monkeys: &mut VecDeque, calm_div: u64, worry_mod: u64) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `two_largest` is never used [INFO] [stdout] --> src/day11/mod.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn two_largest(it: impl Iterator) -> (u64, u64){ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Monkey` is never constructed [INFO] [stdout] --> src/day11/mod.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | struct Monkey { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from` and `inspect` are never used [INFO] [stdout] --> src/day11/mod.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 67 | impl Monkey { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 68 | fn from(s: &str) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn inspect(&mut self, calm_div: u64, worry_mod: u64) -> Option<(usize, u64)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `char_to_int` is never used [INFO] [stdout] --> src/day12/mod.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn char_to_int(c: char) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day12/mod.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn parse_input(input: &str) -> ((usize,usize), (usize,usize), Vec>) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `all_lowest_points` is never used [INFO] [stdout] --> src/day12/mod.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn all_lowest_points(map: &Vec>) -> Vec<(usize,usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `distances_to_end` is never used [INFO] [stdout] --> src/day12/mod.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn distances_to_end(map: &Vec>, end: (usize,usize)) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Entry` is never used [INFO] [stdout] --> src/day13/mod.rs:36:6 [INFO] [stdout] | [INFO] [stdout] 36 | enum Entry { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_ordered_bool` is never used [INFO] [stdout] --> src/day13/mod.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn is_ordered_bool(first: &Entry, second: &Entry) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_ordered` is never used [INFO] [stdout] --> src/day13/mod.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn is_ordered(first: &Entry, second: &Entry) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_pair` is never used [INFO] [stdout] --> src/day13/mod.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn parse_pair(s: &str) -> (Entry,Entry) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_entry` is never used [INFO] [stdout] --> src/day13/mod.rs:83:4 [INFO] [stdout] | [INFO] [stdout] 83 | fn parse_entry(chars: &mut Peekable) -> Option [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Map` is never used [INFO] [stdout] --> src/day14/mod.rs:2:6 [INFO] [stdout] | [INFO] [stdout] 2 | type Map = Vec>; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day14/mod.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn parse_input(input: &str) -> (Map, usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/day14/mod.rs:65:6 [INFO] [stdout] | [INFO] [stdout] 65 | enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `next` and `next_coord` are never used [INFO] [stdout] --> src/day14/mod.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 73 | impl Direction { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 74 | fn next(&self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | fn next_coord(&self,col:usize,row:usize) -> (usize,usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_sand_no_floor` is never used [INFO] [stdout] --> src/day14/mod.rs:93:4 [INFO] [stdout] | [INFO] [stdout] 93 | fn count_sand_no_floor(map: &mut Map, lowest: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_sand_floor` is never used [INFO] [stdout] --> src/day14/mod.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn count_sand_floor(map: &mut Map, lowest: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sensor` is never constructed [INFO] [stdout] --> src/day15/mod.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | struct Sensor { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_cannot_contain_beacon` is never used [INFO] [stdout] --> src/day15/mod.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn count_cannot_contain_beacon(sensors: &Vec, y: i64) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `free_on_diagonal` is never used [INFO] [stdout] --> src/day15/mod.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn free_on_diagonal(sensors: &Vec, diag: i64, max_coord: i64) -> (i64,i64,i64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day15/mod.rs:149:4 [INFO] [stdout] | [INFO] [stdout] 149 | fn parse_input(input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/day16/mod.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day16/mod.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn parse_input(input: &str) -> (Vec,Vec>,usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shortest_distances` is never used [INFO] [stdout] --> src/day16/mod.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn shortest_distances(nodes: &Vec, edges: &Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nonzero_flowrate` is never used [INFO] [stdout] --> src/day16/mod.rs:80:4 [INFO] [stdout] | [INFO] [stdout] 80 | fn nonzero_flowrate(nodes: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `max_release` is never used [INFO] [stdout] --> src/day16/mod.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn max_release( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `max_release_2` is never used [INFO] [stdout] --> src/day16/mod.rs:143:4 [INFO] [stdout] | [INFO] [stdout] 143 | fn max_release_2( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `simulate` is never used [INFO] [stdout] --> src/day17/mod.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn simulate(n_rocks: usize, moves: &Vec) -> i64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `simulate_periodic` is never used [INFO] [stdout] --> src/day17/mod.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn simulate_periodic(n_rocks: i64, moves: &Vec) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `r3`, `r2`, `r1`, `r0`, `width`, and `height` are never read [INFO] [stdout] --> src/day17/mod.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 84 | struct Shape { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 85 | r3: u8, [INFO] [stdout] | ^^ [INFO] [stdout] 86 | r2: u8, [INFO] [stdout] | ^^ [INFO] [stdout] 87 | r1: u8, [INFO] [stdout] | ^^ [INFO] [stdout] 88 | r0: u8, [INFO] [stdout] | ^^ [INFO] [stdout] 89 | width: u8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 90 | height: u8, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Shape` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SHAPES` is never used [INFO] [stdout] --> src/day17/mod.rs:93:7 [INFO] [stdout] | [INFO] [stdout] 93 | const SHAPES: [Shape;5] = [ [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `height`, `moves`, and `shapes` are never read [INFO] [stdout] --> src/day17/mod.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 139 | struct Chamber<'a> { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 140 | chamber: [u8; ROW_BUF_SIZE], [INFO] [stdout] 141 | height: i64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 142 | moves: CyclicIndexable<'a,i64>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 143 | shapes: CyclicIndexable<'a,Shape>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Chamber` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `shape_free`, `add_shape`, `clear_4_rows`, and `simulate_next_rock` are never used [INFO] [stdout] --> src/day17/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 146 | impl<'a> Chamber<'a> { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 147 | fn new(moves: &'a[i64], shapes: &'a[Shape]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn shape_free(&self, row: i64, col: i64, shape: Shape) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | fn add_shape(&mut self, row: i64, col: i64, shape: Shape) -> i64{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | fn clear_4_rows(&mut self, row: i64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | fn simulate_next_rock(&mut self) -> (i64,i64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/day17/mod.rs:267:8 [INFO] [stdout] | [INFO] [stdout] 266 | impl<'a,T> CyclicIndexable<'a,T> { [INFO] [stdout] | -------------------------------- associated function in this implementation [INFO] [stdout] 267 | fn new(vec: &'a [T]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIZE` is never used [INFO] [stdout] --> src/day18/mod.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const SIZE: usize = 20; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Droplet` is never constructed [INFO] [stdout] --> src/day18/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | struct Droplet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from`, `count_lava_neighbours`, `count_water_neighbours`, and `flood_water` are never used [INFO] [stdout] --> src/day18/mod.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl Droplet { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 32 | fn from(coords: &Vec<(usize,usize,usize)>) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | fn count_lava_neighbours(&self, x: usize, y: usize, z: usize) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn count_water_neighbours(&self, x: usize, y: usize, z: usize) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | fn flood_water(&mut self, x: usize, y: usize, z: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_coords` is never used [INFO] [stdout] --> src/day18/mod.rs:100:4 [INFO] [stdout] | [INFO] [stdout] 100 | fn parse_coords(input: &str) -> Vec<(usize,usize,usize)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Blueprint` is never constructed [INFO] [stdout] --> src/day19/mod.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | struct Blueprint { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `State` is never constructed [INFO] [stdout] --> src/day19/mod.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | struct State { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BuildDecision` is never used [INFO] [stdout] --> src/day19/mod.rs:55:6 [INFO] [stdout] | [INFO] [stdout] 55 | enum BuildDecision { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUILD_DECISIONS` is never used [INFO] [stdout] --> src/day19/mod.rs:64:7 [INFO] [stdout] | [INFO] [stdout] 64 | const BUILD_DECISIONS: [BuildDecision; 4] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_blueprints` is never used [INFO] [stdout] --> src/day19/mod.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn parse_blueprints(s: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `can_wait_for_resources` is never used [INFO] [stdout] --> src/day19/mod.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn can_wait_for_resources(state: &State, decision: &BuildDecision) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `time_to_collect_resources` is never used [INFO] [stdout] --> src/day19/mod.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn time_to_collect_resources(state: &State, decision: &BuildDecision, blueprint: &Blueprint) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `wait_for_resources` is never used [INFO] [stdout] --> src/day19/mod.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | fn wait_for_resources(state: &mut State, time: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build` is never used [INFO] [stdout] --> src/day19/mod.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn build(state: &mut State, decision: &BuildDecision, blueprint: &Blueprint) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pointless_to_build` is never used [INFO] [stdout] --> src/day19/mod.rs:198:4 [INFO] [stdout] | [INFO] [stdout] 198 | fn pointless_to_build(state: &State, decision: &BuildDecision, blueprint: &Blueprint) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `max_geodes` is never used [INFO] [stdout] --> src/day19/mod.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn max_geodes(blueprint: &Blueprint, max_time: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `prev` is never read [INFO] [stdout] --> src/day20/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 32 | struct ListElem { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 36 | prev: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ListElem` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/day20/mod.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn parse(s: &str) -> Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `move_elem` is never used [INFO] [stdout] --> src/day20/mod.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn move_elem(elem: usize, list: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_coords` is never used [INFO] [stdout] --> src/day20/mod.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn get_coords(list: &Vec) -> (i64,i64,i64) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Monkey` is never constructed [INFO] [stdout] --> src/day21/mod.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct Monkey { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Operator` is never used [INFO] [stdout] --> src/day21/mod.rs:36:6 [INFO] [stdout] | [INFO] [stdout] 36 | enum Operator { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_monkeys` is never used [INFO] [stdout] --> src/day21/mod.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn parse_monkeys(s: &str) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value` is never used [INFO] [stdout] --> src/day21/mod.rs:80:4 [INFO] [stdout] | [INFO] [stdout] 80 | fn get_value(name: &str, monkeys: &HashMap) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `on_human_branch` is never used [INFO] [stdout] --> src/day21/mod.rs:96:4 [INFO] [stdout] | [INFO] [stdout] 96 | fn on_human_branch<'a>(name: &'a str, monkeys: &'a HashMap, cache: &mut HashMap<&'a str,bool>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `propagate_to_human` is never used [INFO] [stdout] --> src/day21/mod.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn propagate_to_human<'a>(val: u64, name: &str, monkeys: &'a HashMap, cache: &mut HashMap<&'a str, bool>) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Segment` is never constructed [INFO] [stdout] --> src/day22/mod.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | struct Segment { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Move` is never used [INFO] [stdout] --> src/day22/mod.rs:49:6 [INFO] [stdout] | [INFO] [stdout] 49 | enum Move { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/day22/mod.rs:56:6 [INFO] [stdout] | [INFO] [stdout] 56 | enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Position` is never constructed [INFO] [stdout] --> src/day22/mod.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | struct Position { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `apply_move_flat`, `apply_move_cube`, `step_flat`, `step_cube`, `to_global_coord`, and `to_password` are never used [INFO] [stdout] --> src/day22/mod.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 69 | impl Position { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 70 | fn apply_move_flat(&mut self, m: &Move, segments: &HashMap<(usize,usize),Segment>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | fn apply_move_cube(&mut self, m: &Move, segments: &HashMap<(usize,usize),Segment>, segment_connections: &HashMap<(usize,usize,Directi... [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | fn step_flat(&mut self, segments: &HashMap<(usize,usize),Segment>) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | fn step_cube(&mut self, segments: &HashMap<(usize,usize), Segment>, segment_connections: &HashMap<(usize,usize,Direction),(usize,usiz... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | fn to_global_coord(&self, segments: &HashMap<(usize,usize),Segment>) -> (usize,usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | fn to_password(&self, segments: &HashMap<(usize,usize), Segment>) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `wrapping_add` is never used [INFO] [stdout] --> src/day22/mod.rs:212:4 [INFO] [stdout] | [INFO] [stdout] 212 | fn wrapping_add(a: usize, da: isize, wrap: usize) -> (usize,bool) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_map_segments` is never used [INFO] [stdout] --> src/day22/mod.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn parse_map_segments(s: &str) -> (HashMap<(usize,usize),Segment>, (usize,usize), (usize,usize)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_moves` is never used [INFO] [stdout] --> src/day22/mod.rs:284:4 [INFO] [stdout] | [INFO] [stdout] 284 | fn parse_moves(s: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_segment_connections` is never used [INFO] [stdout] --> src/day22/mod.rs:310:4 [INFO] [stdout] | [INFO] [stdout] 310 | fn parse_segment_connections(s: &str) -> HashMap<(usize,usize,Direction), (usize,usize,Direction)>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `str_to_direction` is never used [INFO] [stdout] --> src/day22/mod.rs:341:4 [INFO] [stdout] | [INFO] [stdout] 341 | fn str_to_direction(s: &str) -> Direction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, and `set` are never used [INFO] [stdout] --> src/day22/mod.rs:363:8 [INFO] [stdout] | [INFO] [stdout] 360 | / impl Matrix [INFO] [stdout] 361 | | where T: Copy + std::fmt::Debug [INFO] [stdout] | |_______________________________- associated items in this implementation [INFO] [stdout] 362 | { [INFO] [stdout] 363 | fn new(init: T, n_rows: usize, n_cols: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 375 | fn get(&self, row: usize, col: usize) -> T { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 380 | fn set(&mut self, row: usize, col: usize, el: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COORD_BOUND` is never used [INFO] [stdout] --> src/day23/mod.rs:26:7 [INFO] [stdout] | [INFO] [stdout] 26 | const COORD_BOUND: u32 = 130; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day23/mod.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn parse_input(s: &str) -> (Vec<(i64,i64)>, ShiftedIndexMatrix) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `N_NE_E_SE_S_SW_W_NW` is never used [INFO] [stdout] --> src/day23/mod.rs:45:7 [INFO] [stdout] | [INFO] [stdout] 45 | const N_NE_E_SE_S_SW_W_NW: [(i64,i64); 8] = [(-1,0),(-1,1),(0,1),(1,1),(1,0),(1,-1),(0,-1),(-1,-1)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `N_NW_NE` is never used [INFO] [stdout] --> src/day23/mod.rs:47:7 [INFO] [stdout] | [INFO] [stdout] 47 | const N_NW_NE: [(i64,i64); 3] = [(-1,0),(-1,-1),(-1,1)]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `S_SW_SE` is never used [INFO] [stdout] --> src/day23/mod.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | const S_SW_SE: [(i64,i64); 3] = [(1,0),(1,-1),(1,1)]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W_NW_SW` is never used [INFO] [stdout] --> src/day23/mod.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const W_NW_SW: [(i64,i64); 3] = [(0,-1),(-1,-1),(1,-1)]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `E_NE_SE` is never used [INFO] [stdout] --> src/day23/mod.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const E_NE_SE: [(i64,i64); 3] = [(0,1),(-1,1),(1,1)]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DIRECTIONS` is never used [INFO] [stdout] --> src/day23/mod.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const DIRECTIONS: [&[(i64,i64)]; 4] = [&N_NW_NE, &S_SW_SE, &W_NW_SW, &E_NE_SE]; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_round` is never used [INFO] [stdout] --> src/day23/mod.rs:54:4 [INFO] [stdout] | [INFO] [stdout] 54 | fn perform_round(elves: &mut Vec<(i64,i64)>, map: &mut ShiftedIndexMatrix, round_idx: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_bounds` is never used [INFO] [stdout] --> src/day23/mod.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn find_bounds(elves: &Vec<(i64,i64)>) -> (i64,i64,i64,i64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `centered`, `get`, and `set` are never used [INFO] [stdout] --> src/day23/mod.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 121 | / impl ShiftedIndexMatrix [INFO] [stdout] 122 | | where T: Copy [INFO] [stdout] | |_____________- associated items in this implementation [INFO] [stdout] 123 | { [INFO] [stdout] 124 | fn centered(idx_bound: u32, fill: T) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | fn get(&self, row: i64, col: i64) -> T { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | fn set(&mut self, row: i64, col: i64, val: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tile` is never used [INFO] [stdout] --> src/day24/mod.rs:21:6 [INFO] [stdout] | [INFO] [stdout] 21 | enum Tile { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/day24/mod.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn parse_input(s: &str) -> Matrix { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_start_goal` is never used [INFO] [stdout] --> src/day24/mod.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn find_start_goal(map: &Matrix) -> ((usize,usize), (usize,usize)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `index_add_with_wrap` is never used [INFO] [stdout] --> src/day24/mod.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn index_add_with_wrap(idx: usize, to_add: isize, low: usize, up: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `position_free_at_time` is never used [INFO] [stdout] --> src/day24/mod.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn position_free_at_time(map: &Matrix, row: usize, col: usize, min: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `min_time_through` is never used [INFO] [stdout] --> src/day24/mod.rs:95:4 [INFO] [stdout] | [INFO] [stdout] 95 | fn min_time_through(map: &Matrix, start: (usize,usize), goal: (usize,usize), start_time: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, and `set` are never used [INFO] [stdout] --> src/day24/mod.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 146 | / impl Matrix [INFO] [stdout] 147 | | where T: Copy + std::fmt::Debug [INFO] [stdout] | |_______________________________- associated items in this implementation [INFO] [stdout] 148 | { [INFO] [stdout] 149 | fn new(init: T, n_rows: usize, n_cols: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | fn get(&self, row: usize, col: usize) -> T { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | fn set(&mut self, row: usize, col: usize, el: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_snafus` is never used [INFO] [stdout] --> src/day25/mod.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn parse_snafus(s: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `snafu_to_i64` is never used [INFO] [stdout] --> src/day25/mod.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn snafu_to_i64(snafu: &Vec) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `i64_to_snafu` is never used [INFO] [stdout] --> src/day25/mod.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn i64_to_snafu(mut num: i64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `snafu_to_string` is never used [INFO] [stdout] --> src/day25/mod.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn snafu_to_string(snafu: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.82s [INFO] running `Command { std: "docker" "inspect" "ffe5582e04e17cbdf5ddb77d86e78fdff9df6e733ae1f95beaba0ae1839961df", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ffe5582e04e17cbdf5ddb77d86e78fdff9df6e733ae1f95beaba0ae1839961df", kill_on_drop: false }` [INFO] [stdout] ffe5582e04e17cbdf5ddb77d86e78fdff9df6e733ae1f95beaba0ae1839961df [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] ceceb1f6dae71579aa6ddca864a5ddc62de71678bc7c1c29f2409b4c9ec6b210 [INFO] running `Command { std: "docker" "start" "-a" "ceceb1f6dae71579aa6ddca864a5ddc62de71678bc7c1c29f2409b4c9ec6b210", kill_on_drop: false }` [INFO] [stderr] Compiling aoc2022 v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.17s [INFO] running `Command { std: "docker" "inspect" "ceceb1f6dae71579aa6ddca864a5ddc62de71678bc7c1c29f2409b4c9ec6b210", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ceceb1f6dae71579aa6ddca864a5ddc62de71678bc7c1c29f2409b4c9ec6b210", kill_on_drop: false }` [INFO] [stdout] ceceb1f6dae71579aa6ddca864a5ddc62de71678bc7c1c29f2409b4c9ec6b210