[INFO] cloning repository https://github.com/dwendelen/adventofcode_2022
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dwendelen/adventofcode_2022" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdwendelen%2Fadventofcode_2022", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdwendelen%2Fadventofcode_2022'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c1effe6a9bb837084a0563b3e15b25d3d63a85dd
[INFO] checking dwendelen/adventofcode_2022/c1effe6a9bb837084a0563b3e15b25d3d63a85dd against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdwendelen%2Fadventofcode_2022" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/dwendelen/adventofcode_2022 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/dwendelen/adventofcode_2022
[INFO] finished tweaking git repo https://github.com/dwendelen/adventofcode_2022
[INFO] tweaked toml for git repo https://github.com/dwendelen/adventofcode_2022 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/dwendelen/adventofcode_2022 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" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3911f37c066d1c618bc284b8ba7a146e251ea28b91e52f26b553a26feb94f6fc
[INFO] running `Command { std: "docker" "start" "-a" "3911f37c066d1c618bc284b8ba7a146e251ea28b91e52f26b553a26feb94f6fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3911f37c066d1c618bc284b8ba7a146e251ea28b91e52f26b553a26feb94f6fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3911f37c066d1c618bc284b8ba7a146e251ea28b91e52f26b553a26feb94f6fc", kill_on_drop: false }`
[INFO] [stdout] 3911f37c066d1c618bc284b8ba7a146e251ea28b91e52f26b553a26feb94f6fc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a1505beaa68bbefa8fd36ac75f00a375b0af96e03dceb62dfcfeeece4f1b8e4e
[INFO] running `Command { std: "docker" "start" "-a" "a1505beaa68bbefa8fd36ac75f00a375b0af96e03dceb62dfcfeeece4f1b8e4e", kill_on_drop: false }`
[INFO] [stderr]     Checking regex-syntax v0.6.28
[INFO] [stderr]     Checking aho-corasick v0.7.20
[INFO] [stderr]     Checking regex v1.7.0
[INFO] [stderr]     Checking adventofcode_2022 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::cmp::Ordering::Less`
[INFO] [stdout]  --> src/day13/day13_b.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cmp::Ordering::Less;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/day17/day17_b.rs:143:34
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     *max_y = max((y + j), *max_y);
[INFO] [stdout]     |                                  ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 143 -                     *max_y = max((y + j), *max_y);
[INFO] [stdout] 143 +                     *max_y = max(y + j, *max_y);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day16/day16_b.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 |         if(state.persons[other_person].time != 999) {
[INFO] [stdout]     |           ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 108 -         if(state.persons[other_person].time != 999) {
[INFO] [stdout] 108 +         if state.persons[other_person].time != 999 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_max_start`
[INFO] [stdout]   --> src/day17/day17_b.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let (y_max_start, blocks_start, y_max_stop, blocks_stop ) = find_loop_size(instructions.clone(), blocks.clone());
[INFO] [stdout]    |          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_max_start`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_max_stop`
[INFO] [stdout]   --> src/day17/day17_b.rs:49:37
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let (y_max_start, blocks_start, y_max_stop, blocks_stop ) = find_loop_size(instructions.clone(), blocks.clone());
[INFO] [stdout]    |                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_max_stop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_max_four_loops`
[INFO] [stdout]   --> src/day17/day17_b.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let y_max_four_loops = simulate_n_blocks(instructions.clone(), blocks.clone(), blocks_stop + 3 * loop_size);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_max_four_loops`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_max_five_loops`
[INFO] [stdout]   --> src/day17/day17_b.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let y_max_five_loops = simulate_n_blocks(instructions.clone(), blocks.clone(), blocks_stop + 4 * loop_size);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_max_five_loops`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `max`, `min`
[INFO] [stdout]  --> src/day15/day15_a.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::{max, min};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/day15/day15_a.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 |     print(&root, (i32::MIN / 4), -(i32::MIN / 4));
[INFO] [stdout]    |                  ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -     print(&root, (i32::MIN / 4), -(i32::MIN / 4));
[INFO] [stdout] 51 +     print(&root, i32::MIN / 4, -(i32::MIN / 4));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/day15/day15_a.rs:121:29
[INFO] [stdout]     |
[INFO] [stdout] 121 |         return Tree::range2((i32::MIN / 4), start, end, -(i32::MIN / 4), val_in, val_out)
[INFO] [stdout]     |                             ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -         return Tree::range2((i32::MIN / 4), start, end, -(i32::MIN / 4), val_in, val_out)
[INFO] [stdout] 121 +         return Tree::range2(i32::MIN / 4, start, end, -(i32::MIN / 4), val_in, val_out)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_chunk` is never used
[INFO] [stdout]   --> src/day13/day13_b.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn map_chunk(lines: &[String]) -> (Node, Node) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day17/day17_b.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let mut c = if state[y as usize] & bit == 0 {
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]    --> src/day17/day17_b.rs:162:4
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn print(state: &Vec<u8>, max_y: i32, amount: i32) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `max`, `min`
[INFO] [stdout]  --> src/day15/day15_a.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::{max, min};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/day15/day15_a.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 |     print(&root, (i32::MIN / 4), -(i32::MIN / 4));
[INFO] [stdout]    |                  ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -     print(&root, (i32::MIN / 4), -(i32::MIN / 4));
[INFO] [stdout] 51 +     print(&root, i32::MIN / 4, -(i32::MIN / 4));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/day15/day15_a.rs:121:29
[INFO] [stdout]     |
[INFO] [stdout] 121 |         return Tree::range2((i32::MIN / 4), start, end, -(i32::MIN / 4), val_in, val_out)
[INFO] [stdout]     |                             ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -         return Tree::range2((i32::MIN / 4), start, end, -(i32::MIN / 4), val_in, val_out)
[INFO] [stdout] 121 +         return Tree::range2(i32::MIN / 4, start, end, -(i32::MIN / 4), val_in, val_out)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `LinkedList`
[INFO] [stdout]  --> src/day19/day19_b.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, LinkedList};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `max`, `min`
[INFO] [stdout]  --> src/day15/day15_b.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::{max, min};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/day15/day15_b.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |         simplify(match(tree) {
[INFO] [stdout]    |                       ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 62 -         simplify(match(tree) {
[INFO] [stdout] 62 +         simplify(match tree {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day15/day15_b.rs:149:15
[INFO] [stdout]     |
[INFO] [stdout] 149 |             if(get_val(tree, 0, search_space, 0, search_space, x, y)) {
[INFO] [stdout]     |               ^                                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 149 -             if(get_val(tree, 0, search_space, 0, search_space, x, y)) {
[INFO] [stdout] 149 +             if get_val(tree, 0, search_space, 0, search_space, x, y) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/day15/day15_b.rs:219:65
[INFO] [stdout]     |
[INFO] [stdout] 219 | ...   return Tree::range2(range_l, range_r, range_b, range_t, (i32::MIN / 4), -(i32::MIN / 4), (i32::MIN / 4), -(i32::MIN / 4), val_in, v...
[INFO] [stdout]     |                                                               ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 219 -         return Tree::range2(range_l, range_r, range_b, range_t, (i32::MIN / 4), -(i32::MIN / 4), (i32::MIN / 4), -(i32::MIN / 4), val_in, val_out)
[INFO] [stdout] 219 +         return Tree::range2(range_l, range_r, range_b, range_t, i32::MIN / 4, -(i32::MIN / 4), (i32::MIN / 4), -(i32::MIN / 4), val_in, val_out)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/day15/day15_b.rs:219:98
[INFO] [stdout]     |
[INFO] [stdout] 219 | ...   return Tree::range2(range_l, range_r, range_b, range_t, (i32::MIN / 4), -(i32::MIN / 4), (i32::MIN / 4), -(i32::MIN / 4), val_in, v...
[INFO] [stdout]     |                                                                                                ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 219 -         return Tree::range2(range_l, range_r, range_b, range_t, (i32::MIN / 4), -(i32::MIN / 4), (i32::MIN / 4), -(i32::MIN / 4), val_in, val_out)
[INFO] [stdout] 219 +         return Tree::range2(range_l, range_r, range_b, range_t, (i32::MIN / 4), -(i32::MIN / 4), i32::MIN / 4, -(i32::MIN / 4), val_in, val_out)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::raw::gid_t`
[INFO] [stdout]  --> src/day22/day22_a.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::raw::gid_t;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/day21/day21_a.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |                     op: |a,b| panic!(),
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::os::unix::raw::gid_t`: these type aliases are no longer supported by the standard library, the `libc` crate on crates.io should be used instead for the correct definitions
[INFO] [stdout]  --> src/day22/day22_a.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::raw::gid_t;
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/day21/day21_a.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 |                     op: |a,b| panic!(),
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/day06/day06_b.rs:13:40
[INFO] [stdout]    |
[INFO] [stdout] 13 |             is_unique(wnd.iter().map(|(i, e)|*e).collect())
[INFO] [stdout]    |                                        ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]    --> src/day21/day21_b.rs:196:27
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn apply(self: &Self, l: i64, r: i64) -> i64 {
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/day21/day21_b.rs:196:35
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn apply(self: &Self, l: i64, r: i64) -> i64 {
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `LinkedList`
[INFO] [stdout]  --> src/day19/day19_a.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, LinkedList};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq`
[INFO] [stdout]    --> src/day21/day21_b.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 |     fn solve_l(self: &Self, eq: i64, r: i64) -> i64 {
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_eq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/day21/day21_b.rs:200:38
[INFO] [stdout]     |
[INFO] [stdout] 200 |     fn solve_l(self: &Self, eq: i64, r: i64) -> i64 {
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq`
[INFO] [stdout]    --> src/day21/day21_b.rs:204:29
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn solve_r(self: &Self, eq: i64, l: i64) -> i64 {
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_eq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]    --> src/day21/day21_b.rs:204:38
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn solve_r(self: &Self, eq: i64, l: i64) -> i64 {
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]    --> src/day15/day15_b.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn print(tree: &Tree, search_space: i32) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_val` is never used
[INFO] [stdout]    --> src/day15/day15_b.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn get_val(tree: &Tree, grid_l: i32, grid_r: i32, grid_b: i32, grid_t: i32, x: i32, y: i32) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `range` and `range2` are never used
[INFO] [stdout]    --> src/day15/day15_b.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 217 | impl Tree {
[INFO] [stdout]     | --------- associated functions in this implementation
[INFO] [stdout] 218 |     fn range(range_l: i32, range_r: i32, range_b: i32, range_t: i32, val_in: bool, val_out: bool) -> Tree {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn range2(range_l: i32, range_r: i32, range_b: i32, range_t: i32, grid_l: i32, grid_r: i32, grid_b: i32, grid_t: i32, val_in: bool, v...
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `LinkedList`
[INFO] [stdout]  --> src/day17/day17_a.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, LinkedList};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Captures`, `Regex`
[INFO] [stdout]  --> src/day17/day17_a.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use regex::{Captures, Regex};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]    --> src/day21/day21_b.rs:196:27
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn apply(self: &Self, l: i64, r: i64) -> i64 {
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/day21/day21_b.rs:196:35
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn apply(self: &Self, l: i64, r: i64) -> i64 {
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq`
[INFO] [stdout]    --> src/day21/day21_b.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 |     fn solve_l(self: &Self, eq: i64, r: i64) -> i64 {
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_eq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/day21/day21_b.rs:200:38
[INFO] [stdout]     |
[INFO] [stdout] 200 |     fn solve_l(self: &Self, eq: i64, r: i64) -> i64 {
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq`
[INFO] [stdout]    --> src/day21/day21_b.rs:204:29
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn solve_r(self: &Self, eq: i64, l: i64) -> i64 {
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_eq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]    --> src/day21/day21_b.rs:204:38
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn solve_r(self: &Self, eq: i64, l: i64) -> i64 {
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/day17/day17_a.rs:85:37
[INFO] [stdout]    |
[INFO] [stdout] 85 |                         max_y = max((y + j), max_y);
[INFO] [stdout]    |                                     ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 85 -                         max_y = max((y + j), max_y);
[INFO] [stdout] 85 +                         max_y = max(y + j, max_y);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `LinkedList`
[INFO] [stdout]  --> src/day19/day19_b.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, LinkedList};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `LinkedList`
[INFO] [stdout]  --> src/day19/day19_a.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, LinkedList};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::LinkedList`
[INFO] [stdout]  --> src/day20/day20_b.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::LinkedList;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Rem`
[INFO] [stdout]  --> src/day20/day20_b.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Rem;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `LinkedList`
[INFO] [stdout]  --> src/day17/day17_a.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, LinkedList};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Captures`, `Regex`
[INFO] [stdout]  --> src/day17/day17_a.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use regex::{Captures, Regex};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]    --> src/day17/day17_a.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn print(state: &Vec<u8>, yy: i32, block: &Vec<u8>) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/day17/day17_a.rs:85:37
[INFO] [stdout]    |
[INFO] [stdout] 85 |                         max_y = max((y + j), max_y);
[INFO] [stdout]    |                                     ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 85 -                         max_y = max((y + j), max_y);
[INFO] [stdout] 85 +                         max_y = max(y + j, max_y);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/day20/day20_b.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn print(current: &Vec<Num>) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]    --> src/day17/day17_a.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn print(state: &Vec<u8>, yy: i32, block: &Vec<u8>) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/day21/day21_a.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |                     op: |a,b| panic!(),
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/day21/day21_a.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 |                     op: |a,b| panic!(),
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::LinkedList`
[INFO] [stdout]  --> src/day20/day20_a.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::LinkedList;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Rem`
[INFO] [stdout]  --> src/day20/day20_a.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Rem;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::binary_heap::Iter`
[INFO] [stdout]  --> src/day12/day12_b.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::binary_heap::Iter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `max`, `min`
[INFO] [stdout]  --> src/day15/day15_b.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::{max, min};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/day15/day15_b.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |         simplify(match(tree) {
[INFO] [stdout]    |                       ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 62 -         simplify(match(tree) {
[INFO] [stdout] 62 +         simplify(match tree {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/day20/day20_a.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn print(current: &Vec<Num>) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/day17/day17_b.rs:143:34
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     *max_y = max((y + j), *max_y);
[INFO] [stdout]     |                                  ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 143 -                     *max_y = max((y + j), *max_y);
[INFO] [stdout] 143 +                     *max_y = max(y + j, *max_y);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day15/day15_b.rs:149:15
[INFO] [stdout]     |
[INFO] [stdout] 149 |             if(get_val(tree, 0, search_space, 0, search_space, x, y)) {
[INFO] [stdout]     |               ^                                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 149 -             if(get_val(tree, 0, search_space, 0, search_space, x, y)) {
[INFO] [stdout] 149 +             if get_val(tree, 0, search_space, 0, search_space, x, y) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/day15/day15_b.rs:219:65
[INFO] [stdout]     |
[INFO] [stdout] 219 | ...   return Tree::range2(range_l, range_r, range_b, range_t, (i32::MIN / 4), -(i32::MIN / 4), (i32::MIN / 4), -(i32::MIN / 4), val_in, v...
[INFO] [stdout]     |                                                               ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 219 -         return Tree::range2(range_l, range_r, range_b, range_t, (i32::MIN / 4), -(i32::MIN / 4), (i32::MIN / 4), -(i32::MIN / 4), val_in, val_out)
[INFO] [stdout] 219 +         return Tree::range2(range_l, range_r, range_b, range_t, i32::MIN / 4, -(i32::MIN / 4), (i32::MIN / 4), -(i32::MIN / 4), val_in, val_out)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/day15/day15_b.rs:219:98
[INFO] [stdout]     |
[INFO] [stdout] 219 | ...   return Tree::range2(range_l, range_r, range_b, range_t, (i32::MIN / 4), -(i32::MIN / 4), (i32::MIN / 4), -(i32::MIN / 4), val_in, v...
[INFO] [stdout]     |                                                                                                ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 219 -         return Tree::range2(range_l, range_r, range_b, range_t, (i32::MIN / 4), -(i32::MIN / 4), (i32::MIN / 4), -(i32::MIN / 4), val_in, val_out)
[INFO] [stdout] 219 +         return Tree::range2(range_l, range_r, range_b, range_t, (i32::MIN / 4), -(i32::MIN / 4), i32::MIN / 4, -(i32::MIN / 4), val_in, val_out)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_max_start`
[INFO] [stdout]   --> src/day17/day17_b.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let (y_max_start, blocks_start, y_max_stop, blocks_stop ) = find_loop_size(instructions.clone(), blocks.clone());
[INFO] [stdout]    |          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_max_start`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_max_stop`
[INFO] [stdout]   --> src/day17/day17_b.rs:49:37
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let (y_max_start, blocks_start, y_max_stop, blocks_stop ) = find_loop_size(instructions.clone(), blocks.clone());
[INFO] [stdout]    |                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_max_stop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_max_four_loops`
[INFO] [stdout]   --> src/day17/day17_b.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let y_max_four_loops = simulate_n_blocks(instructions.clone(), blocks.clone(), blocks_stop + 3 * loop_size);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_max_four_loops`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_max_five_loops`
[INFO] [stdout]   --> src/day17/day17_b.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let y_max_five_loops = simulate_n_blocks(instructions.clone(), blocks.clone(), blocks_stop + 4 * loop_size);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_max_five_loops`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::LinkedList`
[INFO] [stdout]  --> src/day20/day20_a.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::LinkedList;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]    --> src/day15/day15_b.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn print(tree: &Tree, search_space: i32) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_val` is never used
[INFO] [stdout]    --> src/day15/day15_b.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn get_val(tree: &Tree, grid_l: i32, grid_r: i32, grid_b: i32, grid_t: i32, x: i32, y: i32) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `range` and `range2` are never used
[INFO] [stdout]    --> src/day15/day15_b.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 217 | impl Tree {
[INFO] [stdout]     | --------- associated functions in this implementation
[INFO] [stdout] 218 |     fn range(range_l: i32, range_r: i32, range_b: i32, range_t: i32, val_in: bool, val_out: bool) -> Tree {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn range2(range_l: i32, range_r: i32, range_b: i32, range_t: i32, grid_l: i32, grid_r: i32, grid_b: i32, grid_t: i32, val_in: bool, v...
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Rem`
[INFO] [stdout]  --> src/day20/day20_a.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Rem;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day17/day17_b.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let mut c = if state[y as usize] & bit == 0 {
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::LinkedList`
[INFO] [stdout]  --> src/day20/day20_b.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::LinkedList;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Rem`
[INFO] [stdout]  --> src/day20/day20_b.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Rem;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]    --> src/day17/day17_b.rs:162:4
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn print(state: &Vec<u8>, max_y: i32, amount: i32) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/day20/day20_b.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn print(current: &Vec<Num>) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/day20/day20_a.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn print(current: &Vec<Num>) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]    --> src/day23/day23_b.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn print(pos: &HashSet<(i32, i32)>) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering::Less`
[INFO] [stdout]  --> src/day13/day13_b.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cmp::Ordering::Less;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/day16/day16_b.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 |         if(state.persons[other_person].time != 999) {
[INFO] [stdout]     |           ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 108 -         if(state.persons[other_person].time != 999) {
[INFO] [stdout] 108 +         if state.persons[other_person].time != 999 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]    --> src/day23/day23_b.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn print(pos: &HashSet<(i32, i32)>) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_chunk` is never used
[INFO] [stdout]   --> src/day13/day13_b.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn map_chunk(lines: &[String]) -> (Node, Node) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::binary_heap::Iter`
[INFO] [stdout]  --> src/day12/day12_b.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::binary_heap::Iter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::raw::gid_t`
[INFO] [stdout]  --> src/day22/day22_a.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::raw::gid_t;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::os::unix::raw::gid_t`: these type aliases are no longer supported by the standard library, the `libc` crate on crates.io should be used instead for the correct definitions
[INFO] [stdout]  --> src/day22/day22_a.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::raw::gid_t;
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/day06/day06_b.rs:13:40
[INFO] [stdout]    |
[INFO] [stdout] 13 |             is_unique(wnd.iter().map(|(i, e)|*e).collect())
[INFO] [stdout]    |                                        ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.69s
[INFO] running `Command { std: "docker" "inspect" "a1505beaa68bbefa8fd36ac75f00a375b0af96e03dceb62dfcfeeece4f1b8e4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a1505beaa68bbefa8fd36ac75f00a375b0af96e03dceb62dfcfeeece4f1b8e4e", kill_on_drop: false }`
[INFO] [stdout] a1505beaa68bbefa8fd36ac75f00a375b0af96e03dceb62dfcfeeece4f1b8e4e
