[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#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvmorin%2Faoc2022" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[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-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mvmorin/aoc2022 on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e38ec39beed0bc698803da201112512dc863d75c73b838947e769466853a0fdc
[INFO] running `Command { std: "docker" "start" "-a" "e38ec39beed0bc698803da201112512dc863d75c73b838947e769466853a0fdc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e38ec39beed0bc698803da201112512dc863d75c73b838947e769466853a0fdc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e38ec39beed0bc698803da201112512dc863d75c73b838947e769466853a0fdc", kill_on_drop: false }`
[INFO] [stdout] e38ec39beed0bc698803da201112512dc863d75c73b838947e769466853a0fdc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8227a7b508f46131528c632360198b00847031e7d7a7b7767ba10327ec4bf656
[INFO] running `Command { std: "docker" "start" "-a" "8227a7b508f46131528c632360198b00847031e7d7a7b7767ba10327ec4bf656", 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)]` (part of `#[warn(unused)]`) 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<u32>, Range<u32>) {
[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<T: PartialOrd>(a: &Range<T>, b: &Range<T>) -> 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<T: PartialOrd>(a: &Range<T>, b: &Range<T>) -> 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<Directory> {
[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<RefCell<DirData>>);
[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<RefCell<DirData>>);
[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<DirData> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn get_data_mut(&mut self) -> RefMut<DirData> {
[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<Vec<Tree>> {
[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<Vec<Tree>>) {
[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<Vec<Tree>>) -> 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<Vec<Tree>>) -> 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<Vec<Tree>>) -> 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<Knot>, 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<Knot>, dir: &Direction, visited_by_tail: &mut HashSet<Knot>) {
[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<Item = Ops>) {
[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<Monkey>, 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<Item = u64>) -> (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<Vec<u32>>) {
[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<u32>>) -> 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<Vec<u32>>, end: (usize,usize)) -> Vec<Vec<u32>> {
[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<I>(chars: &mut Peekable<I>) -> Option<Entry>
[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<Vec<bool>>;
[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<Sensor>, 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<Sensor>, 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<Sensor> {
[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<Node>,Vec<Vec<bool>>,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<Node>, edges: &Vec<Vec<bool>>) -> Vec<Vec<u64>> {
[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<Node>) -> Vec<usize> {
[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>) -> 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>) -> 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<Blueprint> {
[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<ListElem> {
[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<ListElem>) {
[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<ListElem>) -> (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<String,Monkey> {
[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<String,Monkey>) -> 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<String,Monkey>, 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<String,Monkey>, 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<Move> {
[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<T> Matrix<T>
[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<bool>) {
[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<bool>, 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<T> ShiftedIndexMatrix<T>
[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<Tile> {
[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<Tile>) -> ((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<Tile>, 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<Tile>, 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<T> Matrix<T>
[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<Vec<i64>> {
[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>) -> 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<i64> {
[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<i64>) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/day07/mod.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn get_data(&self) -> Ref<DirData> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn get_data(&self) -> Ref<'_, DirData> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/day07/mod.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn get_data_mut(&mut self) -> RefMut<DirData> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn get_data_mut(&mut self) -> RefMut<'_, DirData> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.46s
[INFO] running `Command { std: "docker" "inspect" "8227a7b508f46131528c632360198b00847031e7d7a7b7767ba10327ec4bf656", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8227a7b508f46131528c632360198b00847031e7d7a7b7767ba10327ec4bf656", kill_on_drop: false }`
[INFO] [stdout] 8227a7b508f46131528c632360198b00847031e7d7a7b7767ba10327ec4bf656
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5b2cc267586d1502f5986e7e12f9b329f5c2cfbc869b7a684078ac9461277ded
[INFO] running `Command { std: "docker" "start" "-a" "5b2cc267586d1502f5986e7e12f9b329f5c2cfbc869b7a684078ac9461277ded", kill_on_drop: false }`
[INFO] [stderr]    Compiling aoc2022 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/day07/mod.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn get_data(&self) -> Ref<DirData> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn get_data(&self) -> Ref<'_, DirData> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/day07/mod.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn get_data_mut(&mut self) -> RefMut<DirData> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn get_data_mut(&mut self) -> RefMut<'_, DirData> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.67s
[INFO] running `Command { std: "docker" "inspect" "5b2cc267586d1502f5986e7e12f9b329f5c2cfbc869b7a684078ac9461277ded", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5b2cc267586d1502f5986e7e12f9b329f5c2cfbc869b7a684078ac9461277ded", kill_on_drop: false }`
[INFO] [stdout] 5b2cc267586d1502f5986e7e12f9b329f5c2cfbc869b7a684078ac9461277ded
