[INFO] cloning repository https://github.com/reedspool/aoc-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/reedspool/aoc-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Freedspool%2Faoc-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Freedspool%2Faoc-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9b3fc2040da0d841d24befe435b32b02b1814941 [INFO] testing reedspool/aoc-rust against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Freedspool%2Faoc-rust" "/workspace/builds/worker-17/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-17/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/reedspool/aoc-rust on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/reedspool/aoc-rust [INFO] finished tweaking git repo https://github.com/reedspool/aoc-rust [INFO] tweaked toml for git repo https://github.com/reedspool/aoc-rust written to /workspace/builds/worker-17/source/Cargo.toml [INFO] crate git repo https://github.com/reedspool/aoc-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-17/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-17/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3dc3b1a415becfe984f779e429e757181c1ccdff295867192013d7805d58f760 [INFO] running `Command { std: "docker" "start" "-a" "3dc3b1a415becfe984f779e429e757181c1ccdff295867192013d7805d58f760", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3dc3b1a415becfe984f779e429e757181c1ccdff295867192013d7805d58f760", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3dc3b1a415becfe984f779e429e757181c1ccdff295867192013d7805d58f760", kill_on_drop: false }` [INFO] [stdout] 3dc3b1a415becfe984f779e429e757181c1ccdff295867192013d7805d58f760 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-17/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-17/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2ee85b638a08c8299f15ace60e58ac52b1f134f1340b21fde1ad96460c37373d [INFO] running `Command { std: "docker" "start" "-a" "2ee85b638a08c8299f15ace60e58ac52b1f134f1340b21fde1ad96460c37373d", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling proc-macro2 v1.0.32 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling syn v1.0.82 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.78 [INFO] [stderr] Compiling bumpalo v3.8.0 [INFO] [stderr] Compiling wasm-bindgen v0.2.78 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling quote v1.0.10 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.78 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.78 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.78 [INFO] [stderr] Compiling rust-advent-of-code v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `OpCode` [INFO] [stdout] --> src/intcode_interpreter.rs:1:45 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::intcode_interpreter::operation::{OpCode, Operation}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/intcode_interpreter/operation.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 78 - let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] 78 + let output_location = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/intcode_interpreter/operation.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | let (output) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 89 - let (output) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] 89 + let output = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/intcode_interpreter/operation.rs:153:10 [INFO] [stdout] | [INFO] [stdout] 153 | ) -> (i32) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 153 - ) -> (i32) { [INFO] [stdout] 153 + ) -> i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_location` [INFO] [stdout] --> src/intcode_interpreter/operation.rs:78:22 [INFO] [stdout] | [INFO] [stdout] 78 | let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_location` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OpCode` [INFO] [stdout] --> src/intcode_interpreter.rs:1:45 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::intcode_interpreter::operation::{OpCode, Operation}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/intcode_interpreter/operation.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 78 - let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] 78 + let output_location = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/intcode_interpreter/operation.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | let (output) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 89 - let (output) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] 89 + let output = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/intcode_interpreter/operation.rs:153:10 [INFO] [stdout] | [INFO] [stdout] 153 | ) -> (i32) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 153 - ) -> (i32) { [INFO] [stdout] 153 + ) -> i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::advent_utilities::read_input` [INFO] [stdout] --> src/aoc_2015/day_1.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | use crate::advent_utilities::read_input; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `directions` should have an upper camel case name [INFO] [stdout] --> src/aoc_2021/day_2.rs:1:6 [INFO] [stdout] | [INFO] [stdout] 1 | enum directions { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `Directions` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `forward` should have an upper camel case name [INFO] [stdout] --> src/aoc_2021/day_2.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | forward, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `up` should have an upper camel case name [INFO] [stdout] --> src/aoc_2021/day_2.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | up, [INFO] [stdout] | ^^ help: convert the identifier to upper camel case (notice the capitalization): `Up` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `down` should have an upper camel case name [INFO] [stdout] --> src/aoc_2021/day_2.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | down [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Down` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/aoc_2021/day_4.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/aoc_2021/day_9.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap`, `HashSet` [INFO] [stdout] --> src/aoc_2021/day_10.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/aoc_2021/day_12.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/aoc_2021/day_12.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | if (infinite_loop_trap == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 71 - if (infinite_loop_trap == 0) { [INFO] [stdout] 71 + if infinite_loop_trap == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let mut program = Program::parse(input); [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: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::BufRead` [INFO] [stdout] --> src/aoc_2021/day_4.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::BufRead; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_location` [INFO] [stdout] --> src/intcode_interpreter/operation.rs:78:22 [INFO] [stdout] | [INFO] [stdout] 78 | let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_location` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_string` [INFO] [stdout] --> src/aoc_2019/day_4.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | let mut current_string: &str; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_string` [INFO] [stdout] --> src/aoc_2019/day_4.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let mut current_string: &str; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/aoc_2021/day_3.rs:157:10 [INFO] [stdout] | [INFO] [stdout] 157 | for (index, byte) in oxygen_rating_candidates[0].as_bytes().iter().enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/aoc_2021/day_3.rs:166:10 [INFO] [stdout] | [INFO] [stdout] 166 | for (index, byte) in co2_rating_candidates[0].as_bytes().iter().enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `newborn` [INFO] [stdout] --> src/aoc_2021/day_6.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | for newborn in 0..reproducing { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_newborn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `day` [INFO] [stdout] --> src/aoc_2021/day_6.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | for day in 0..days { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_day` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max` [INFO] [stdout] --> src/aoc_2021/day_7.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let max = xs.iter().max().unwrap(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left_side` [INFO] [stdout] --> src/aoc_2021/day_8.rs:62:10 [INFO] [stdout] | [INFO] [stdout] 62 | for (left_side, right_side, all_digits) in &parts { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_side` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unknown` [INFO] [stdout] --> src/aoc_2021/day_10.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 40 | unknown => panic!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unknown` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unknown` [INFO] [stdout] --> src/aoc_2021/day_10.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | unknown => panic!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unknown` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point` [INFO] [stdout] --> src/aoc_2021/day_11.rs:71:10 [INFO] [stdout] | [INFO] [stdout] 71 | for (point, value) in map.iter_mut() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2019/day_4.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | let mut current_string = ¤t.to_string(); [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: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2019/day_4.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | let mut current_string = ¤t.to_string(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_3.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut num_bits = lines[0].len(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_3.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | let mut lines = input.trim().split("\n"); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_3.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | let mut lines_vec = lines.clone().collect::>(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_3.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | let mut counts = count_it(lines_vec); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/aoc_2021/day_5.rs:105:25 [INFO] [stdout] | [INFO] [stdout] 103 | match grid.get(&point) { [INFO] [stdout] | ---------------- immutable borrow occurs here [INFO] [stdout] 104 | Some(value) => { [INFO] [stdout] 105 | grid.insert(point, value + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/aoc_2021/day_5.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 72 | match grid.get(&point) { [INFO] [stdout] | ---------------- immutable borrow occurs here [INFO] [stdout] 73 | Some(value) => { [INFO] [stdout] 74 | grid.insert(point, value + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/aoc_2021/day_5.rs:177:25 [INFO] [stdout] | [INFO] [stdout] 175 | match grid.get(&point) { [INFO] [stdout] | ---------------- immutable borrow occurs here [INFO] [stdout] 176 | Some(value) => { [INFO] [stdout] 177 | grid.insert(point, value + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/aoc_2021/day_5.rs:253:25 [INFO] [stdout] | [INFO] [stdout] 251 | match grid.get(&moving_point) { [INFO] [stdout] | ----------------------- immutable borrow occurs here [INFO] [stdout] 252 | Some(value) => { [INFO] [stdout] 253 | grid.insert(moving_point.clone(), value + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/aoc_2021/day_5.rs:208:25 [INFO] [stdout] | [INFO] [stdout] 206 | match grid.get(&point) { [INFO] [stdout] | ---------------- immutable borrow occurs here [INFO] [stdout] 207 | Some(value) => { [INFO] [stdout] 208 | grid.insert(point, value + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/aoc_2021/day_5.rs:238:21 [INFO] [stdout] | [INFO] [stdout] 236 | match grid.get(&moving_point) { [INFO] [stdout] | ----------------------- immutable borrow occurs here [INFO] [stdout] 237 | Some(value) => { [INFO] [stdout] 238 | grid.insert(moving_point.clone(), value + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_6.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let mut fish : Vec = input.trim().split(",").map(|f| f.parse().unwrap()).collect(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_7.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let mut median; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_9.rs:148:25 [INFO] [stdout] | [INFO] [stdout] 148 | let mut top_basin = basins.get_mut(top_basin_index).unwrap(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_9.rs:158:25 [INFO] [stdout] | [INFO] [stdout] 158 | let mut left_basin = basins.get_mut(left_basin_index).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `*map` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/aoc_2021/day_11.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 61 | let energy = map.get(&p).unwrap(); [INFO] [stdout] | ----------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 67 | map.insert(p, energy + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^------^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `START` [INFO] [stdout] --> src/aoc_2019/day_4.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | const START: i32 = 271973; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `END` [INFO] [stdout] --> src/aoc_2019/day_4.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | const END: i32 = 785961; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part_1` [INFO] [stdout] --> src/aoc_2019/day_4.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn part_1() -> i32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part_2` [INFO] [stdout] --> src/aoc_2019/day_4.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn part_2() -> i32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `contains_pairs` [INFO] [stdout] --> src/aoc_2019/day_4.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn contains_pairs(value: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `contains_pairs_no_triples` [INFO] [stdout] --> src/aoc_2019/day_4.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn contains_pairs_no_triples(value: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `next_decrease` [INFO] [stdout] --> src/aoc_2019/day_4.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn next_decrease(value: &str) -> Option<(usize, u8)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_next_increase` [INFO] [stdout] --> src/aoc_2019/day_4.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | fn find_next_increase(value: &str, place: (usize, u8)) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `start` [INFO] [stdout] --> src/aoc_2021/day_12.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | start: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Cave` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/aoc_2021/day_12.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `end` [INFO] [stdout] --> src/aoc_2021/day_12.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | end: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Cave` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/aoc_2021/day_12.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/aoc_2021/day_3.rs:73:11 [INFO] [stdout] | [INFO] [stdout] 73 | while index >= 0 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/aoc_2021/day_3.rs:105:11 [INFO] [stdout] | [INFO] [stdout] 105 | while index >= 0 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `stepX` should have a snake case name [INFO] [stdout] --> src/aoc_2021/day_5.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | let stepX: i32 = match line.beg.x < line.end.x { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `step_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `stepY` should have a snake case name [INFO] [stdout] --> src/aoc_2021/day_5.rs:228:13 [INFO] [stdout] | [INFO] [stdout] 228 | let stepY: i32 = match line.beg.y < line.end.y { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `step_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `collect` that must be used [INFO] [stdout] --> src/aoc_2021/day_11.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | / input.trim().split("\n").map(|line| { [INFO] [stdout] 14 | | line.trim().chars().map(|energy| { [INFO] [stdout] 15 | | [INFO] [stdout] 16 | | let energy = energy.to_string().parse::().unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 24 | | y += 1; [INFO] [stdout] 25 | | }).collect::<()>(); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `collect` that must be used [INFO] [stdout] --> src/aoc_2021/day_11.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | / line.trim().chars().map(|energy| { [INFO] [stdout] 15 | | [INFO] [stdout] 16 | | let energy = energy.to_string().parse::().unwrap(); [INFO] [stdout] 17 | | [INFO] [stdout] ... | [INFO] [stdout] 20 | | x += 1; [INFO] [stdout] 21 | | }).collect::<()>(); [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 60 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 35.94s [INFO] running `Command { std: "docker" "inspect" "2ee85b638a08c8299f15ace60e58ac52b1f134f1340b21fde1ad96460c37373d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2ee85b638a08c8299f15ace60e58ac52b1f134f1340b21fde1ad96460c37373d", kill_on_drop: false }` [INFO] [stdout] 2ee85b638a08c8299f15ace60e58ac52b1f134f1340b21fde1ad96460c37373d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-17/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-17/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6a86e468b8c5ff50f5d5de76208b5b5cb51dd3a535d0ea8b58035c5dc590c742 [INFO] running `Command { std: "docker" "start" "-a" "6a86e468b8c5ff50f5d5de76208b5b5cb51dd3a535d0ea8b58035c5dc590c742", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling rust-advent-of-code v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `OpCode` [INFO] [stdout] --> src/intcode_interpreter.rs:1:45 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::intcode_interpreter::operation::{OpCode, Operation}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/intcode_interpreter/operation.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 78 - let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] 78 + let output_location = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/intcode_interpreter/operation.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | let (output) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 89 - let (output) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] 89 + let output = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/intcode_interpreter/operation.rs:153:10 [INFO] [stdout] | [INFO] [stdout] 153 | ) -> (i32) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 153 - ) -> (i32) { [INFO] [stdout] 153 + ) -> i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_location` [INFO] [stdout] --> src/intcode_interpreter/operation.rs:78:22 [INFO] [stdout] | [INFO] [stdout] 78 | let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_location` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/intcode_interpreter.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | let mut program = Program::parse("4,0,99"); [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: variable does not need to be mutable [INFO] [stdout] --> src/intcode_interpreter.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | let mut program = Program::parse("1102,4,3,0,99"); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/intcode_interpreter.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | let mut program = Program::parse("1002,4,3,0,99"); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/intcode_interpreter.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | let mut program = Program::parse("102,4,3,0,99"); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let mut program = Program::parse(input); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OpCode` [INFO] [stdout] --> src/intcode_interpreter.rs:1:45 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::intcode_interpreter::operation::{OpCode, Operation}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/intcode_interpreter/operation.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 78 - let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] 78 + let output_location = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/intcode_interpreter/operation.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | let (output) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 89 - let (output) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] 89 + let output = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/intcode_interpreter/operation.rs:153:10 [INFO] [stdout] | [INFO] [stdout] 153 | ) -> (i32) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 153 - ) -> (i32) { [INFO] [stdout] 153 + ) -> i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `directions` should have an upper camel case name [INFO] [stdout] --> src/aoc_2021/day_2.rs:1:6 [INFO] [stdout] | [INFO] [stdout] 1 | enum directions { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `Directions` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `forward` should have an upper camel case name [INFO] [stdout] --> src/aoc_2021/day_2.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | forward, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `up` should have an upper camel case name [INFO] [stdout] --> src/aoc_2021/day_2.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | up, [INFO] [stdout] | ^^ help: convert the identifier to upper camel case (notice the capitalization): `Up` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `down` should have an upper camel case name [INFO] [stdout] --> src/aoc_2021/day_2.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | down [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Down` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/aoc_2021/day_4.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/aoc_2021/day_9.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap`, `HashSet` [INFO] [stdout] --> src/aoc_2021/day_10.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/aoc_2021/day_12.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/aoc_2021/day_12.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | if (infinite_loop_trap == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 71 - if (infinite_loop_trap == 0) { [INFO] [stdout] 71 + if infinite_loop_trap == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::BufRead` [INFO] [stdout] --> src/aoc_2021/day_4.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::BufRead; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_location` [INFO] [stdout] --> src/intcode_interpreter/operation.rs:78:22 [INFO] [stdout] | [INFO] [stdout] 78 | let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_location` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_string` [INFO] [stdout] --> src/aoc_2019/day_4.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | let mut current_string: &str; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_string` [INFO] [stdout] --> src/aoc_2019/day_4.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let mut current_string: &str; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/aoc_2021/day_3.rs:157:10 [INFO] [stdout] | [INFO] [stdout] 157 | for (index, byte) in oxygen_rating_candidates[0].as_bytes().iter().enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/aoc_2021/day_3.rs:166:10 [INFO] [stdout] | [INFO] [stdout] 166 | for (index, byte) in co2_rating_candidates[0].as_bytes().iter().enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `newborn` [INFO] [stdout] --> src/aoc_2021/day_6.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | for newborn in 0..reproducing { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_newborn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `day` [INFO] [stdout] --> src/aoc_2021/day_6.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | for day in 0..days { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_day` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max` [INFO] [stdout] --> src/aoc_2021/day_7.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let max = xs.iter().max().unwrap(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left_side` [INFO] [stdout] --> src/aoc_2021/day_8.rs:62:10 [INFO] [stdout] | [INFO] [stdout] 62 | for (left_side, right_side, all_digits) in &parts { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_side` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unknown` [INFO] [stdout] --> src/aoc_2021/day_10.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 40 | unknown => panic!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unknown` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unknown` [INFO] [stdout] --> src/aoc_2021/day_10.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | unknown => panic!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unknown` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point` [INFO] [stdout] --> src/aoc_2021/day_11.rs:71:10 [INFO] [stdout] | [INFO] [stdout] 71 | for (point, value) in map.iter_mut() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/aoc_2021/day_5.rs:346:13 [INFO] [stdout] | [INFO] [stdout] 346 | for i in 1..=1 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2019/day_4.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | let mut current_string = ¤t.to_string(); [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: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2019/day_4.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | let mut current_string = ¤t.to_string(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_3.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut num_bits = lines[0].len(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_3.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | let mut lines = input.trim().split("\n"); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_3.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | let mut lines_vec = lines.clone().collect::>(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_3.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | let mut counts = count_it(lines_vec); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/aoc_2021/day_5.rs:105:25 [INFO] [stdout] | [INFO] [stdout] 103 | match grid.get(&point) { [INFO] [stdout] | ---------------- immutable borrow occurs here [INFO] [stdout] 104 | Some(value) => { [INFO] [stdout] 105 | grid.insert(point, value + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/aoc_2021/day_5.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 72 | match grid.get(&point) { [INFO] [stdout] | ---------------- immutable borrow occurs here [INFO] [stdout] 73 | Some(value) => { [INFO] [stdout] 74 | grid.insert(point, value + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/aoc_2021/day_5.rs:177:25 [INFO] [stdout] | [INFO] [stdout] 175 | match grid.get(&point) { [INFO] [stdout] | ---------------- immutable borrow occurs here [INFO] [stdout] 176 | Some(value) => { [INFO] [stdout] 177 | grid.insert(point, value + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/aoc_2021/day_5.rs:253:25 [INFO] [stdout] | [INFO] [stdout] 251 | match grid.get(&moving_point) { [INFO] [stdout] | ----------------------- immutable borrow occurs here [INFO] [stdout] 252 | Some(value) => { [INFO] [stdout] 253 | grid.insert(moving_point.clone(), value + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/aoc_2021/day_5.rs:208:25 [INFO] [stdout] | [INFO] [stdout] 206 | match grid.get(&point) { [INFO] [stdout] | ---------------- immutable borrow occurs here [INFO] [stdout] 207 | Some(value) => { [INFO] [stdout] 208 | grid.insert(point, value + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/aoc_2021/day_5.rs:238:21 [INFO] [stdout] | [INFO] [stdout] 236 | match grid.get(&moving_point) { [INFO] [stdout] | ----------------------- immutable borrow occurs here [INFO] [stdout] 237 | Some(value) => { [INFO] [stdout] 238 | grid.insert(moving_point.clone(), value + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_6.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let mut fish : Vec = input.trim().split(",").map(|f| f.parse().unwrap()).collect(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_7.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let mut median; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_9.rs:148:25 [INFO] [stdout] | [INFO] [stdout] 148 | let mut top_basin = basins.get_mut(top_basin_index).unwrap(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/aoc_2021/day_9.rs:158:25 [INFO] [stdout] | [INFO] [stdout] 158 | let mut left_basin = basins.get_mut(left_basin_index).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `*map` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/aoc_2021/day_11.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 61 | let energy = map.get(&p).unwrap(); [INFO] [stdout] | ----------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 67 | map.insert(p, energy + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^------^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/intcode_interpreter.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | let mut program = Program::parse("4,0,99"); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/intcode_interpreter.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | let mut program = Program::parse("1102,4,3,0,99"); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/intcode_interpreter.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | let mut program = Program::parse("1002,4,3,0,99"); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/intcode_interpreter.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | let mut program = Program::parse("102,4,3,0,99"); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `start` [INFO] [stdout] --> src/aoc_2021/day_12.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | start: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Cave` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/aoc_2021/day_12.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `end` [INFO] [stdout] --> src/aoc_2021/day_12.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | end: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Cave` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/aoc_2021/day_12.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_part_2` [INFO] [stdout] --> src/aoc_2019/day_2.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | fn test_part_2() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/aoc_2021/day_3.rs:73:11 [INFO] [stdout] | [INFO] [stdout] 73 | while index >= 0 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/aoc_2021/day_3.rs:105:11 [INFO] [stdout] | [INFO] [stdout] 105 | while index >= 0 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `stepX` should have a snake case name [INFO] [stdout] --> src/aoc_2021/day_5.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | let stepX: i32 = match line.beg.x < line.end.x { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `step_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `stepY` should have a snake case name [INFO] [stdout] --> src/aoc_2021/day_5.rs:228:13 [INFO] [stdout] | [INFO] [stdout] 228 | let stepY: i32 = match line.beg.y < line.end.y { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `step_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `collect` that must be used [INFO] [stdout] --> src/aoc_2021/day_11.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | / input.trim().split("\n").map(|line| { [INFO] [stdout] 14 | | line.trim().chars().map(|energy| { [INFO] [stdout] 15 | | [INFO] [stdout] 16 | | let energy = energy.to_string().parse::().unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 24 | | y += 1; [INFO] [stdout] 25 | | }).collect::<()>(); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `collect` that must be used [INFO] [stdout] --> src/aoc_2021/day_11.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | / line.trim().chars().map(|energy| { [INFO] [stdout] 15 | | [INFO] [stdout] 16 | | let energy = energy.to_string().parse::().unwrap(); [INFO] [stdout] 17 | | [INFO] [stdout] ... | [INFO] [stdout] 20 | | x += 1; [INFO] [stdout] 21 | | }).collect::<()>(); [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 57 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 13.69s [INFO] running `Command { std: "docker" "inspect" "6a86e468b8c5ff50f5d5de76208b5b5cb51dd3a535d0ea8b58035c5dc590c742", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a86e468b8c5ff50f5d5de76208b5b5cb51dd3a535d0ea8b58035c5dc590c742", kill_on_drop: false }` [INFO] [stdout] 6a86e468b8c5ff50f5d5de76208b5b5cb51dd3a535d0ea8b58035c5dc590c742 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-17/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-17/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 0ae29f58314ca43b2887b289ee6ed4b3ed98517d79ec5f7ccaced6987db8a768 [INFO] running `Command { std: "docker" "start" "-a" "0ae29f58314ca43b2887b289ee6ed4b3ed98517d79ec5f7ccaced6987db8a768", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused import: `OpCode` [INFO] [stderr] --> src/intcode_interpreter.rs:1:45 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::intcode_interpreter::operation::{OpCode, Operation}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around pattern [INFO] [stderr] --> src/intcode_interpreter/operation.rs:78:21 [INFO] [stderr] | [INFO] [stderr] 78 | let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 78 - let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stderr] 78 + let output_location = Operation::get_stuff_for_basic_unary_op( [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around pattern [INFO] [stderr] --> src/intcode_interpreter/operation.rs:89:21 [INFO] [stderr] | [INFO] [stderr] 89 | let (output) = Operation::get_stuff_for_basic_unary_op( [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 89 - let (output) = Operation::get_stuff_for_basic_unary_op( [INFO] [stderr] 89 + let output = Operation::get_stuff_for_basic_unary_op( [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/intcode_interpreter/operation.rs:153:10 [INFO] [stderr] | [INFO] [stderr] 153 | ) -> (i32) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 153 - ) -> (i32) { [INFO] [stderr] 153 + ) -> i32 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: type `directions` should have an upper camel case name [INFO] [stderr] --> src/aoc_2021/day_2.rs:1:6 [INFO] [stderr] | [INFO] [stderr] 1 | enum directions { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `Directions` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `forward` should have an upper camel case name [INFO] [stderr] --> src/aoc_2021/day_2.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | forward, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Forward` [INFO] [stderr] [INFO] [stderr] warning: variant `up` should have an upper camel case name [INFO] [stderr] --> src/aoc_2021/day_2.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | up, [INFO] [stderr] | ^^ help: convert the identifier to upper camel case (notice the capitalization): `Up` [INFO] [stderr] [INFO] [stderr] warning: variant `down` should have an upper camel case name [INFO] [stderr] --> src/aoc_2021/day_2.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | down [INFO] [stderr] | ^^^^ help: convert the identifier to upper camel case: `Down` [INFO] [stderr] [INFO] [stderr] warning: unused import: `regex::Regex` [INFO] [stderr] --> src/aoc_2021/day_4.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use regex::Regex; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashMap` [INFO] [stderr] --> src/aoc_2021/day_9.rs:1:24 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HashMap`, `HashSet` [INFO] [stderr] --> src/aoc_2021/day_10.rs:1:24 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashSet` [INFO] [stderr] --> src/aoc_2021/day_12.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/aoc_2021/day_12.rs:71:12 [INFO] [stderr] | [INFO] [stderr] 71 | if (infinite_loop_trap == 0) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 71 - if (infinite_loop_trap == 0) { [INFO] [stderr] 71 + if infinite_loop_trap == 0 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::BufRead` [INFO] [stderr] --> src/aoc_2021/day_4.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::io::BufRead; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_location` [INFO] [stderr] --> src/intcode_interpreter/operation.rs:78:22 [INFO] [stderr] | [INFO] [stderr] 78 | let (output_location) = Operation::get_stuff_for_basic_unary_op( [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_location` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_string` [INFO] [stdout] [INFO] [stderr] --> src/aoc_2019/day_4.rs:7:13 [INFO] [stdout] running 8 tests [INFO] [stderr] | [INFO] [stderr] 7 | let mut current_string: &str; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_string` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_string` [INFO] [stderr] --> src/aoc_2019/day_4.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | let mut current_string: &str; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_string` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/aoc_2021/day_3.rs:157:10 [INFO] [stderr] | [INFO] [stderr] 157 | for (index, byte) in oxygen_rating_candidates[0].as_bytes().iter().enumerate() { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/aoc_2021/day_3.rs:166:10 [INFO] [stderr] | [INFO] [stderr] 166 | for (index, byte) in co2_rating_candidates[0].as_bytes().iter().enumerate() { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `newborn` [INFO] [stderr] --> src/aoc_2021/day_6.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | for newborn in 0..reproducing { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_newborn` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `day` [INFO] [stderr] --> src/aoc_2021/day_6.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | for day in 0..days { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_day` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `max` [INFO] [stderr] --> src/aoc_2021/day_7.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let max = xs.iter().max().unwrap(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_max` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `left_side` [INFO] [stderr] --> src/aoc_2021/day_8.rs:62:10 [INFO] [stderr] | [INFO] [stderr] 62 | for (left_side, right_side, all_digits) in &parts { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_side` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `unknown` [INFO] [stderr] --> src/aoc_2021/day_10.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | unknown => panic!(), [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unknown` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `unknown` [INFO] [stderr] --> src/aoc_2021/day_10.rs:82:21 [INFO] [stderr] | [INFO] [stderr] 82 | unknown => panic!(), [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unknown` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `point` [INFO] [stderr] --> src/aoc_2021/day_11.rs:71:10 [INFO] [stderr] | [INFO] [stderr] 71 | for (point, value) in map.iter_mut() { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/aoc_2021/day_5.rs:346:13 [INFO] [stderr] | [INFO] [stderr] 346 | for i in 1..=1 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/aoc_2019/day_4.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | let mut current_string = ¤t.to_string(); [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/aoc_2019/day_4.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | let mut current_string = ¤t.to_string(); [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/aoc_2021/day_3.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | let mut num_bits = lines[0].len(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/aoc_2021/day_3.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | let mut lines = input.trim().split("\n"); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/aoc_2021/day_3.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | let mut lines_vec = lines.clone().collect::>(); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/aoc_2021/day_3.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | let mut counts = count_it(lines_vec); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/aoc_2021/day_5.rs:105:25 [INFO] [stderr] | [INFO] [stderr] 103 | match grid.get(&point) { [INFO] [stderr] | ---------------- immutable borrow occurs here [INFO] [stderr] 104 | Some(value) => { [INFO] [stderr] 105 | grid.insert(point, value + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stderr] | | | [INFO] [stderr] | | immutable borrow later used here [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/aoc_2021/day_5.rs:74:25 [INFO] [stderr] | [INFO] [stderr] 72 | match grid.get(&point) { [INFO] [stderr] | ---------------- immutable borrow occurs here [INFO] [stderr] 73 | Some(value) => { [INFO] [stderr] 74 | grid.insert(point, value + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stderr] | | | [INFO] [stderr] | | immutable borrow later used here [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/aoc_2021/day_5.rs:177:25 [INFO] [stderr] | [INFO] [stderr] 175 | match grid.get(&point) { [INFO] [stderr] | ---------------- immutable borrow occurs here [INFO] [stderr] 176 | Some(value) => { [INFO] [stderr] 177 | grid.insert(point, value + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stderr] | | | [INFO] [stderr] | | immutable borrow later used here [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/aoc_2021/day_5.rs:253:25 [INFO] [stderr] | [INFO] [stderr] 251 | match grid.get(&moving_point) { [INFO] [stderr] | ----------------------- immutable borrow occurs here [INFO] [stderr] 252 | Some(value) => { [INFO] [stderr] 253 | grid.insert(moving_point.clone(), value + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stderr] | | | [INFO] [stderr] | | immutable borrow later used here [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/aoc_2021/day_5.rs:208:25 [INFO] [stderr] | [INFO] [stderr] 206 | match grid.get(&point) { [INFO] [stderr] | ---------------- immutable borrow occurs here [INFO] [stderr] 207 | Some(value) => { [INFO] [stderr] 208 | grid.insert(point, value + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stderr] | | | [INFO] [stderr] | | immutable borrow later used here [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `grid` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/aoc_2021/day_5.rs:238:21 [INFO] [stderr] | [INFO] [stderr] 236 | match grid.get(&moving_point) { [INFO] [stderr] | ----------------------- immutable borrow occurs here [INFO] [stderr] 237 | Some(value) => { [INFO] [stderr] 238 | grid.insert(moving_point.clone(), value + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stderr] | | | [INFO] [stderr] | | immutable borrow later used here [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/aoc_2021/day_6.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | let mut fish : Vec = input.trim().split(",").map(|f| f.parse().unwrap()).collect(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/aoc_2021/day_7.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | let mut median; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/aoc_2021/day_9.rs:148:25 [INFO] [stderr] | [INFO] [stderr] 148 | let mut top_basin = basins.get_mut(top_basin_index).unwrap(); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/aoc_2021/day_9.rs:158:25 [INFO] [stderr] | [INFO] [stderr] 158 | let mut left_basin = basins.get_mut(left_basin_index).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `*map` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/aoc_2021/day_11.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 61 | let energy = map.get(&p).unwrap(); [INFO] [stderr] | ----------- immutable borrow occurs here [INFO] [stderr] ... [INFO] [stderr] 67 | map.insert(p, energy + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^------^^^^^ [INFO] [stderr] | | | [INFO] [stderr] | | immutable borrow later used here [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/intcode_interpreter.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | let mut program = Program::parse("4,0,99"); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/intcode_interpreter.rs:121:13 [INFO] [stderr] | [INFO] [stderr] 121 | let mut program = Program::parse("1102,4,3,0,99"); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/intcode_interpreter.rs:124:13 [INFO] [stderr] | [INFO] [stderr] 124 | let mut program = Program::parse("1002,4,3,0,99"); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/intcode_interpreter.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | let mut program = Program::parse("102,4,3,0,99"); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `start` [INFO] [stderr] --> src/aoc_2021/day_12.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | start: bool, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] note: `Cave` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/aoc_2021/day_12.rs:3:10 [INFO] [stderr] | [INFO] [stderr] 3 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `end` [INFO] [stderr] --> src/aoc_2021/day_12.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | end: bool, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Cave` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/aoc_2021/day_12.rs:3:10 [INFO] [stderr] | [INFO] [stderr] 3 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_part_2` [INFO] [stderr] --> src/aoc_2019/day_2.rs:51:8 [INFO] [stderr] | [INFO] [stderr] 51 | fn test_part_2() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/aoc_2021/day_3.rs:73:11 [INFO] [stderr] | [INFO] [stderr] 73 | while index >= 0 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/aoc_2021/day_3.rs:105:11 [INFO] [stderr] | [INFO] [stderr] 105 | while index >= 0 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `stepX` should have a snake case name [INFO] [stderr] --> src/aoc_2021/day_5.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | let stepX: i32 = match line.beg.x < line.end.x { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `step_x` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `stepY` should have a snake case name [INFO] [stderr] --> src/aoc_2021/day_5.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | let stepY: i32 = match line.beg.y < line.end.y { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `step_y` [INFO] [stderr] [INFO] [stderr] warning: unused return value of `collect` that must be used [INFO] [stderr] --> src/aoc_2021/day_11.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / input.trim().split("\n").map(|line| { [INFO] [stderr] 14 | | line.trim().chars().map(|energy| { [INFO] [stderr] 15 | | [INFO] [stderr] 16 | | let energy = energy.to_string().parse::().unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 24 | | y += 1; [INFO] [stderr] 25 | | }).collect::<()>(); [INFO] [stderr] | |_______________________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: unused return value of `collect` that must be used [INFO] [stderr] --> src/aoc_2021/day_11.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | / line.trim().chars().map(|energy| { [INFO] [stderr] 15 | | [INFO] [stderr] 16 | | let energy = energy.to_string().parse::().unwrap(); [INFO] [stderr] 17 | | [INFO] [stderr] ... | [INFO] [stderr] 20 | | x += 1; [INFO] [stderr] 21 | | }).collect::<()>(); [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/intcode_interpreter.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | let mut program = Program::parse("4,0,99"); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | let mut program = Program::parse(input); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: `rust-advent-of-code` (bin "rust-advent-of-code" test) generated 57 warnings [INFO] [stderr] warning: `rust-advent-of-code` (lib test) generated 10 warnings (8 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 4.81s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rust_advent_of_code-f5e72c3758791c94) [INFO] [stdout] test intcode_interpreter::operation::tests::basic_add_op ... ok [INFO] [stdout] test intcode_interpreter::tests::basic_add_1 ... ok [INFO] [stdout] test intcode_interpreter::tests::basic_multiply_1 ... ok [INFO] [stdout] test intcode_interpreter::tests::immediate_halt ... ok [INFO] [stdout] test intcode_interpreter::tests::overwrite_opcode ... ok [INFO] [stdout] test intcode_interpreter::tests::basic_output_1 ... ok [INFO] [stdout] test intcode_interpreter::tests::basic_input_1 ... ok [INFO] [stdout] test intcode_interpreter::tests::basic_immediate_mode_1 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rust_advent_of_code-22acea43d5837ea1) [INFO] [stdout] [INFO] [stdout] running 63 tests [INFO] [stdout] test aoc_2015::day_1::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2015::day_1::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2019::day_1::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2019::day_4::tests::test_contains_no_triples ... ok [INFO] [stdout] test aoc_2019::day_2::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2019::day_3::tests::test_walk_and_record ... ok [INFO] [stdout] test aoc_2019::day_4::tests::test_find_next_increase ... ok [INFO] [stdout] test aoc_2019::day_4::tests::test_monotonically_increasing_digits ... ok [INFO] [stdout] test aoc_2019::day_1::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2019::day_5::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2019::day_4::tests::test_adj_same ... ok [INFO] [stdout] test aoc_2021::day_10::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_10::tests::test_part_2_example ... ok [INFO] [stdout] test aoc_2019::day_4::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_12::tests::test_part_1_example_1 ... ok [INFO] [stdout] test aoc_2019::day_4::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2021::day_1::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_10::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2021::day_10::tests::test_part_1_example ... ok [INFO] [stdout] test aoc_2021::day_2::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_2::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2021::day_3::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_1::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2021::day_3::tests::test_part_2_with_test_data ... ok [INFO] [stdout] test aoc_2021::day_4::tests::test_part_1_example ... ok [INFO] [stdout] test aoc_2021::day_4::tests::test_part_2_example ... ok [INFO] [stdout] test aoc_2021::day_5::tests::test_range_iterator_with_1_value ... ok [INFO] [stdout] test aoc_2021::day_5::tests::test_part_1_example ... ok [INFO] [stdout] test aoc_2021::day_5::tests::test_part_2_example ... ok [INFO] [stdout] test aoc_2021::day_6::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2021::day_7::tests::test_part_1_example ... ok [INFO] [stdout] test aoc_2021::day_6::tests::test_part_2_example ... ok [INFO] [stdout] test aoc_2021::day_7::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_3::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2021::day_7::tests::test_part_2_example ... ok [INFO] [stdout] test aoc_2021::day_8::tests::test_count_shared ... ok [INFO] [stdout] test aoc_2021::day_9::tests::test_part_1_example ... ok [INFO] [stdout] test aoc_2021::day_11::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_8::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_4::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_9::tests::test_part_2_example ... ok [INFO] [stdout] test intcode_interpreter::operation::tests::basic_add_op ... ok [INFO] [stdout] test intcode_interpreter::tests::basic_add_1 ... ok [INFO] [stdout] test intcode_interpreter::tests::basic_immediate_mode_1 ... ok [INFO] [stdout] test intcode_interpreter::tests::basic_input_1 ... ok [INFO] [stdout] test intcode_interpreter::tests::basic_multiply_1 ... ok [INFO] [stdout] test intcode_interpreter::tests::basic_output_1 ... ok [INFO] [stdout] test aoc_2021::day_8::tests::test_part_2 ... ok [INFO] [stdout] test intcode_interpreter::tests::immediate_halt ... ok [INFO] [stdout] test intcode_interpreter::tests::overwrite_opcode ... ok [INFO] [stdout] test aoc_2021::day_6::tests::test_part_1_example ... ok [INFO] [stdout] test aoc_2021::day_4::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2021::day_9::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_11::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2021::day_12::tests::test_part_2_example_1 ... FAILED [INFO] [stdout] test aoc_2021::day_12::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_7::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2021::day_5::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_5::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2021::day_6::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2019::day_3::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_9::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2019::day_3::tests::test_part_2 ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- aoc_2021::day_12::tests::test_part_2_example_1 stdout ---- [INFO] [stdout] End visited is "start,b,end" [INFO] [stdout] End visited is "start,b,d,b,end" [INFO] [stdout] End visited is "start,b,d,b,A,end" [INFO] [stdout] End visited is "start,b,d,b,A,c,A,end" [INFO] [stdout] End visited is "start,b,A,end" [INFO] [stdout] End visited is "start,b,A,b,end" [INFO] [stdout] End visited is "start,b,A,b,A,end" [INFO] [stdout] End visited is "start,b,A,b,A,c,A,end" [INFO] [stdout] End visited is "start,b,A,c,A,end" [INFO] [stdout] End visited is "start,b,A,c,A,b,end" [INFO] [stdout] End visited is "start,b,A,c,A,b,A,end" [INFO] [stdout] End visited is "start,b,A,c,A,c,A,end" [INFO] [stdout] End visited is "start,A,end" [INFO] [stdout] End visited is "start,A,b,end" [INFO] [stdout] End visited is "start,A,b,d,b,end" [INFO] [stdout] End visited is "start,A,b,d,b,A,end" [INFO] [stdout] End visited is "start,A,b,d,b,A,c,A,end" [INFO] [stdout] End visited is "start,A,b,A,end" [INFO] [stdout] End visited is "start,A,b,A,b,end" [INFO] [stdout] End visited is "start,A,b,A,b,A,end" [INFO] [stdout] End visited is "start,A,b,A,b,A,c,A,end" [INFO] [stdout] End visited is "start,A,b,A,c,A,end" [INFO] [stdout] End visited is "start,A,b,A,c,A,b,end" [INFO] [stdout] End visited is "start,A,b,A,c,A,b,A,end" [INFO] [stdout] End visited is "start,A,b,A,c,A,c,A,end" [INFO] [stdout] End visited is "start,A,c,A,end" [INFO] [stdout] End visited is "start,A,c,A,b,end" [INFO] [stdout] End visited is "start,A,c,A,b,d,b,end" [INFO] [stdout] End visited is "start,A,c,A,b,d,b,A,end" [INFO] [stdout] End visited is "start,A,c,A,b,A,end" [INFO] [stdout] End visited is "start,A,c,A,b,A,b,end" [INFO] [stdout] End visited is "start,A,c,A,b,A,b,A,end" [INFO] [stdout] End visited is "start,A,c,A,b,A,c,A,end" [INFO] [stdout] End visited is "start,A,c,A,c,A,end" [INFO] [stdout] End visited is "start,A,c,A,c,A,b,end" [INFO] [stdout] End visited is "start,A,c,A,c,A,b,A,end" [INFO] [stdout] thread 'aoc_2021::day_12::tests::test_part_2_example_1' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `36`, [INFO] [stdout] right: `103`', src/aoc_2021/day_12.rs:290:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x557c4e296fcd - std::backtrace_rs::backtrace::libunwind::trace::hee598835bc88d35b [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x557c4e296fcd - std::backtrace_rs::backtrace::trace_unsynchronized::h9cdc730ba5cf5d72 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x557c4e296fcd - std::sys_common::backtrace::_print_fmt::h75aeaf7ed30e43fa [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:66:5 [INFO] [stdout] 3: 0x557c4e296fcd - ::fmt::h606862f787600875 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:45:22 [INFO] [stdout] 4: 0x557c4e2bc58c - core::fmt::write::he803f0f418caf762 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/fmt/mod.rs:1190:17 [INFO] [stdout] 5: 0x557c4e2928c8 - std::io::Write::write_fmt::hbe7c1a63616291e2 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/io/mod.rs:1657:15 [INFO] [stdout] 6: 0x557c4e2992a7 - std::sys_common::backtrace::_print::h64d038cf8ac3e13e [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:48:5 [INFO] [stdout] 7: 0x557c4e2992a7 - std::sys_common::backtrace::print::h359300b4a7fccf65 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:35:9 [INFO] [stdout] 8: 0x557c4e2992a7 - std::panicking::default_hook::{{closure}}::hf51be35e2f510149 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:295:22 [INFO] [stdout] 9: 0x557c4e298fdc - std::panicking::default_hook::h03ca0f22e1d2d25e [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:311:9 [INFO] [stdout] 10: 0x557c4e2999f9 - std::panicking::rust_panic_with_hook::h3b7380e99b825b63 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:698:17 [INFO] [stdout] 11: 0x557c4e2996e7 - std::panicking::begin_panic_handler::{{closure}}::h8e849d0710154ce0 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:588:13 [INFO] [stdout] 12: 0x557c4e297494 - std::sys_common::backtrace::__rust_end_short_backtrace::hedcdaddbd4c46cc5 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:138:18 [INFO] [stdout] 13: 0x557c4e2993f9 - rust_begin_unwind [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:584:5 [INFO] [stdout] 14: 0x557c4e020673 - core::panicking::panic_fmt::he1bbc7336d49a357 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/panicking.rs:143:14 [INFO] [stdout] 15: 0x557c4e2bb118 - core::panicking::assert_failed_inner::hbaac70a629215a04 [INFO] [stdout] 16: 0x557c4e07112a - core::panicking::assert_failed::h9cf482a66956b2b4 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/panicking.rs:182:5 [INFO] [stdout] 17: 0x557c4e094770 - rust_advent_of_code::aoc_2021::day_12::tests::test_part_2_example_1::h5473e0b1043f6f04 [INFO] [stdout] at /opt/rustwide/workdir/src/aoc_2021/day_12.rs:290:9 [INFO] [stdout] 18: 0x557c4e09466a - rust_advent_of_code::aoc_2021::day_12::tests::test_part_2_example_1::{{closure}}::h18889b3d2c1553e5 [INFO] [stdout] at /opt/rustwide/workdir/src/aoc_2021/day_12.rs:274:5 [INFO] [stdout] 19: 0x557c4e0902ae - core::ops::function::FnOnce::call_once::h42b7c2e0f2200151 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 20: 0x557c4e0c27f3 - core::ops::function::FnOnce::call_once::h2a47b4b927cb6ca5 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 21: 0x557c4e0c27f3 - test::__rust_begin_short_backtrace::h594ef8055a183b9b [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/test/src/lib.rs:575:5 [INFO] [stdout] 22: 0x557c4e0c14d4 - as core::ops::function::FnOnce>::call_once::hb40cbb8bc3e1be15 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/alloc/src/boxed.rs:1853:9 [INFO] [stdout] 23: 0x557c4e0c14d4 - as core::ops::function::FnOnce<()>>::call_once::ha4f2bd3b806745a0 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 24: 0x557c4e0c14d4 - std::panicking::try::do_call::h92af9f8bc77a5987 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:492:40 [INFO] [stdout] 25: 0x557c4e0c14d4 - std::panicking::try::h9df49eeae42572b7 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:456:19 [INFO] [stdout] 26: 0x557c4e0c14d4 - std::panic::catch_unwind::h101dbadc82bbe0fd [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panic.rs:137:14 [INFO] [stdout] 27: 0x557c4e0c14d4 - test::run_test_in_process::h2ad7bffb068e750a [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/test/src/lib.rs:598:18 [INFO] [stdout] 28: 0x557c4e0c14d4 - test::run_test::run_test_inner::{{closure}}::h384faf46554c5acb [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/test/src/lib.rs:492:39 [INFO] [stdout] 29: 0x557c4e0cadf1 - test::run_test::run_test_inner::{{closure}}::h17cfe94835a46685 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/test/src/lib.rs:519:37 [INFO] [stdout] 30: 0x557c4e0cadf1 - std::sys_common::backtrace::__rust_begin_short_backtrace::h82709e5086312627 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:122:18 [INFO] [stdout] 31: 0x557c4e09746f - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hdfea66a201b39571 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/thread/mod.rs:498:17 [INFO] [stdout] 32: 0x557c4e09746f - as core::ops::function::FnOnce<()>>::call_once::h4912df03598e67fa [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 33: 0x557c4e09746f - std::panicking::try::do_call::h6d5dc1045d0eade8 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:492:40 [INFO] [stdout] 34: 0x557c4e09746f - std::panicking::try::hbc897fc717ec6571 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:456:19 [INFO] [stdout] 35: 0x557c4e09746f - std::panic::catch_unwind::h27f1e958c91391ad [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panic.rs:137:14 [INFO] [stdout] 36: 0x557c4e09746f - std::thread::Builder::spawn_unchecked_::{{closure}}::h1b42e48537edc3c0 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/thread/mod.rs:497:30 [INFO] [stdout] 37: 0x557c4e09746f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9137b3d6d2a88354 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 38: 0x557c4e29f6e3 - as core::ops::function::FnOnce>::call_once::hf70ac038171e3e1a [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/alloc/src/boxed.rs:1853:9 [INFO] [stdout] 39: 0x557c4e29f6e3 - as core::ops::function::FnOnce>::call_once::he6690128792365ad [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/alloc/src/boxed.rs:1853:9 [INFO] [stdout] 40: 0x557c4e29f6e3 - std::sys::unix::thread::Thread::new::thread_start::ha07928d93d5a5ec9 [INFO] [stdout] at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys/unix/thread.rs:108:17 [INFO] [stdout] 41: 0x7fed8d11d609 - start_thread [INFO] [stdout] 42: 0x7fed8ceed163 - clone [INFO] [stdout] 43: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] aoc_2021::day_12::tests::test_part_2_example_1 [INFO] [stdout] [INFO] [stdout] test result: FAILED. 62 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.40s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--bin rust-advent-of-code' [INFO] running `Command { std: "docker" "inspect" "0ae29f58314ca43b2887b289ee6ed4b3ed98517d79ec5f7ccaced6987db8a768", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0ae29f58314ca43b2887b289ee6ed4b3ed98517d79ec5f7ccaced6987db8a768", kill_on_drop: false }` [INFO] [stdout] 0ae29f58314ca43b2887b289ee6ed4b3ed98517d79ec5f7ccaced6987db8a768