[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.85.0 for beta-1.86-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Freedspool%2Faoc-rust" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/reedspool/aoc-rust on toolchain 1.85.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.85.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-4-tc1/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: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.85.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 04c1f1d643acae191b2e9fe508868a63c4650137a176cbf80ae2275d054f2798 [INFO] running `Command { std: "docker" "start" "-a" "04c1f1d643acae191b2e9fe508868a63c4650137a176cbf80ae2275d054f2798", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "04c1f1d643acae191b2e9fe508868a63c4650137a176cbf80ae2275d054f2798", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "04c1f1d643acae191b2e9fe508868a63c4650137a176cbf80ae2275d054f2798", kill_on_drop: false }` [INFO] [stdout] 04c1f1d643acae191b2e9fe508868a63c4650137a176cbf80ae2275d054f2798 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5f259322843df0ed4854ff84b558bf51cf1875710f432bdb09e5f6f73aca7b9b [INFO] running `Command { std: "docker" "start" "-a" "5f259322843df0ed4854ff84b558bf51cf1875710f432bdb09e5f6f73aca7b9b", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.32 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.78 [INFO] [stderr] Compiling syn v1.0.82 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling bumpalo v3.8.0 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling wasm-bindgen v0.2.78 [INFO] [stderr] Compiling regex-syntax v0.6.25 [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: 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: 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` and `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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: constant `START` is never used [INFO] [stdout] --> src/aoc_2019/day_4.rs:1:7 [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 `END` is never used [INFO] [stdout] --> src/aoc_2019/day_4.rs:2:7 [INFO] [stdout] | [INFO] [stdout] 2 | const END: i32 = 785961; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part_1` is never used [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 `part_2` is never used [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 `contains_pairs` is never used [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 `contains_pairs_no_triples` is never used [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 `next_decrease` is never used [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 `find_next_increase` is never used [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: fields `start` and `end` are never read [INFO] [stdout] --> src/aoc_2021/day_12.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | struct Cave { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 5 | big: bool, [INFO] [stdout] 6 | start: bool, [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] [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: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 13 | let _ = input.trim().split("\n").map(|line| { [INFO] [stdout] | +++++++ [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] ... | [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] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 14 | let _ = line.trim().chars().map(|energy| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.14s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.78 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "5f259322843df0ed4854ff84b558bf51cf1875710f432bdb09e5f6f73aca7b9b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f259322843df0ed4854ff84b558bf51cf1875710f432bdb09e5f6f73aca7b9b", kill_on_drop: false }` [INFO] [stdout] 5f259322843df0ed4854ff84b558bf51cf1875710f432bdb09e5f6f73aca7b9b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4fa1bbd3eba226a6a2b490eefb99d37590a40a88aec26fb6d26e47a893cfa653 [INFO] running `Command { std: "docker" "start" "-a" "4fa1bbd3eba226a6a2b490eefb99d37590a40a88aec26fb6d26e47a893cfa653", kill_on_drop: false }` [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 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` and `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 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: `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: 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: 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: 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] [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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: function `test_part_2` is never used [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] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start` and `end` are never read [INFO] [stdout] --> src/aoc_2021/day_12.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | struct Cave { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 5 | big: bool, [INFO] [stdout] 6 | start: bool, [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] [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: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 13 | let _ = input.trim().split("\n").map(|line| { [INFO] [stdout] | +++++++ [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] ... | [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] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 14 | let _ = line.trim().chars().map(|energy| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.25s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.78 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "4fa1bbd3eba226a6a2b490eefb99d37590a40a88aec26fb6d26e47a893cfa653", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4fa1bbd3eba226a6a2b490eefb99d37590a40a88aec26fb6d26e47a893cfa653", kill_on_drop: false }` [INFO] [stdout] 4fa1bbd3eba226a6a2b490eefb99d37590a40a88aec26fb6d26e47a893cfa653 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 113b1df2b0ee9f01f63fc1d960fa255601f716dfed1c19225e0cfac44e91dd2b [INFO] running `Command { std: "docker" "start" "-a" "113b1df2b0ee9f01f63fc1d960fa255601f716dfed1c19225e0cfac44e91dd2b", kill_on_drop: false }` [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` and `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: 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/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: unused variable: `current_string` [INFO] [stderr] --> src/aoc_2019/day_4.rs:7:13 [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: 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] 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: function `test_part_2` is never used [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] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: fields `start` and `end` are never read [INFO] [stderr] --> src/aoc_2021/day_12.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 4 | struct Cave { [INFO] [stderr] | ---- fields in this struct [INFO] [stderr] 5 | big: bool, [INFO] [stderr] 6 | start: bool, [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] [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: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 13 | let _ = input.trim().split("\n").map(|line| { [INFO] [stderr] | +++++++ [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] ... | [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] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 14 | let _ = line.trim().chars().map(|energy| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `rust-advent-of-code` (bin "rust-advent-of-code" test) generated 49 warnings (run `cargo fix --bin "rust-advent-of-code" --tests` to apply 23 suggestions) [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` (lib test) generated 10 warnings (9 duplicates) (run `cargo fix --lib -p rust-advent-of-code --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.78 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_advent_of_code-d7e6944bc955e89c) [INFO] [stdout] [INFO] [stdout] running 8 tests [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::basic_output_1 ... ok [INFO] [stdout] test intcode_interpreter::operation::tests::basic_add_op ... ok [INFO] [stdout] test intcode_interpreter::tests::basic_input_1 ... ok [INFO] [stdout] test intcode_interpreter::tests::overwrite_opcode ... 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.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rust_advent_of_code-1854cda51e57d6e9) [INFO] [stdout] [INFO] [stdout] running 63 tests [INFO] [stdout] test aoc_2015::day_1::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2015::day_1::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2019::day_2::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2019::day_1::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2019::day_1::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_contains_no_triples ... 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_4::tests::test_adj_same ... ok [INFO] [stdout] test aoc_2021::day_10::tests::test_part_1_example ... ok [INFO] [stdout] test aoc_2021::day_10::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2019::day_5::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_12::tests::test_part_1_example_1 ... ok [INFO] [stdout] test aoc_2021::day_3::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2019::day_4::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2021::day_2::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2021::day_10::tests::test_part_2_example ... ok [INFO] [stdout] test aoc_2021::day_1::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2019::day_4::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_10::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_2::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_4::tests::test_part_2_example ... ok [INFO] [stdout] test aoc_2021::day_5::tests::test_part_1_example ... ok [INFO] [stdout] test aoc_2021::day_1::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_4::tests::test_part_1 ... 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_3::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2021::day_5::tests::test_range_iterator_with_1_value ... 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 ... ok [INFO] [stdout] test aoc_2021::day_6::tests::test_part_2_example ... ok [INFO] [stdout] test aoc_2021::day_6::tests::test_part_1_example ... ok [INFO] [stdout] test aoc_2021::day_11::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_4::tests::test_part_2 ... ok [INFO] [stdout] test aoc_2021::day_5::tests::test_part_2_example ... ok [INFO] [stdout] test aoc_2021::day_7::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_9::tests::test_part_1_example ... ok [INFO] [stdout] test aoc_2021::day_9::tests::test_part_2_example ... 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_8::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_8::tests::test_part_2 ... ok [INFO] [stdout] test intcode_interpreter::operation::tests::basic_add_op ... ok [INFO] [stdout] test aoc_2021::day_9::tests::test_part_1 ... 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_add_1 ... ok [INFO] [stdout] test intcode_interpreter::tests::basic_immediate_mode_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 aoc_2021::day_12::tests::test_part_2_example_1 ... FAILED [INFO] [stdout] test aoc_2021::day_11::tests::test_part_2 ... ok [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_6::tests::test_part_1 ... ok [INFO] [stdout] test aoc_2021::day_5::tests::test_part_2 ... 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] [INFO] [stdout] thread 'aoc_2021::day_12::tests::test_part_2_example_1' panicked at src/aoc_2021/day_12.rs:290:9: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: 36 [INFO] [stdout] right: 103 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x62ab9fb7752a - std::backtrace_rs::backtrace::libunwind::trace::h88deb10bd0145eb8 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5 [INFO] [stdout] 1: 0x62ab9fb7752a - std::backtrace_rs::backtrace::trace_unsynchronized::he1036f5481c14dff [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x62ab9fb7752a - std::sys::backtrace::_print_fmt::hecc345b6e70c4b20 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x62ab9fb7752a - ::fmt::he089f96442833f67 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x62ab9fb9d0c3 - core::fmt::rt::Argument::fmt::h1f77cded99c71a14 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/rt.rs:177:76 [INFO] [stdout] 5: 0x62ab9fb9d0c3 - core::fmt::write::h2f210ed4c94745cb [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/mod.rs:1440:21 [INFO] [stdout] 6: 0x62ab9fb74643 - std::io::Write::write_fmt::he723b56f7e0bd522 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/io/mod.rs:1887:15 [INFO] [stdout] 7: 0x62ab9fb77372 - std::sys::backtrace::BacktraceLock::print::h810fbd31421329e6 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 8: 0x62ab9fb78a60 - std::panicking::default_hook::{{closure}}::hbaad47ed9dc6356d [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:295:22 [INFO] [stdout] 9: 0x62ab9fb787fd - std::panicking::default_hook::h24e207139139d40a [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:319:9 [INFO] [stdout] 10: 0x62ab9f9f5763 - as core::ops::function::Fn>::call::h63353c459bb27956 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/alloc/src/boxed.rs:2007:9 [INFO] [stdout] 11: 0x62ab9f9f5763 - test::test_main::{{closure}}::hd5af4d6c4e32fe08 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/test/src/lib.rs:134:21 [INFO] [stdout] 12: 0x62ab9fb79293 - as core::ops::function::Fn>::call::h3af32c23caf5c679 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/alloc/src/boxed.rs:2007:9 [INFO] [stdout] 13: 0x62ab9fb79293 - std::panicking::rust_panic_with_hook::ha9131beeb2ddc506 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:836:13 [INFO] [stdout] 14: 0x62ab9fb78f6a - std::panicking::begin_panic_handler::{{closure}}::h1bba0eaeb6da506f [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:701:13 [INFO] [stdout] 15: 0x62ab9fb77a29 - std::sys::backtrace::__rust_end_short_backtrace::h1d1ca3eade483f4c [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/sys/backtrace.rs:168:18 [INFO] [stdout] 16: 0x62ab9fb78bfd - rust_begin_unwind [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:692:5 [INFO] [stdout] 17: 0x62ab9f9582f0 - core::panicking::panic_fmt::h896a0727a1a943f9 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panicking.rs:75:14 [INFO] [stdout] 18: 0x62ab9f958743 - core::panicking::assert_failed_inner::ha51bf8fa7906dee4 [INFO] [stdout] 19: 0x62ab9f98d5fc - core::panicking::assert_failed::hd4e4fd6c1017ebcf [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panicking.rs:364:5 [INFO] [stdout] 20: 0x62ab9f9a5935 - rust_advent_of_code::aoc_2021::day_12::tests::test_part_2_example_1::hb5c1725ed4fd4b0a [INFO] [stdout] at /opt/rustwide/workdir/src/aoc_2021/day_12.rs:290:9 [INFO] [stdout] 21: 0x62ab9f9a5847 - rust_advent_of_code::aoc_2021::day_12::tests::test_part_2_example_1::{{closure}}::hbd44663c1c2b2cbe [INFO] [stdout] at /opt/rustwide/workdir/src/aoc_2021/day_12.rs:274:31 [INFO] [stdout] 22: 0x62ab9f9a7806 - core::ops::function::FnOnce::call_once::h6ce1ecb859ca7887 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x62ab9f9faf0b - core::ops::function::FnOnce::call_once::h8acc80b5a33ff319 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x62ab9f9faf0b - test::__rust_begin_short_backtrace::h52b6da716ad42b7d [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/test/src/lib.rs:632:18 [INFO] [stdout] 25: 0x62ab9f9f9e43 - test::run_test_in_process::{{closure}}::h2580047890abbefe [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/test/src/lib.rs:655:60 [INFO] [stdout] 26: 0x62ab9f9f9e43 - as core::ops::function::FnOnce<()>>::call_once::h936f8c89d0a99c40 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 27: 0x62ab9f9f9e43 - std::panicking::try::do_call::h868682cc368697f9 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:584:40 [INFO] [stdout] 28: 0x62ab9f9f9e43 - std::panicking::try::h0356ffc38cbb5501 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:547:19 [INFO] [stdout] 29: 0x62ab9f9f9e43 - std::panic::catch_unwind::h74edf102a3082536 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panic.rs:358:14 [INFO] [stdout] 30: 0x62ab9f9f9e43 - test::run_test_in_process::hc27d69576b7224e4 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/test/src/lib.rs:655:27 [INFO] [stdout] 31: 0x62ab9f9f9e43 - test::run_test::{{closure}}::h9f3bfaf910429adb [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/test/src/lib.rs:576:43 [INFO] [stdout] 32: 0x62ab9f9bdb75 - test::run_test::{{closure}}::h3d537cdce8ec5816 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/test/src/lib.rs:606:41 [INFO] [stdout] 33: 0x62ab9f9bdb75 - std::sys::backtrace::__rust_begin_short_backtrace::hb51d9a6c67ec382d [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/sys/backtrace.rs:152:18 [INFO] [stdout] 34: 0x62ab9f9c15b6 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h5738f3abb9603fe6 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/thread/mod.rs:564:17 [INFO] [stdout] 35: 0x62ab9f9c15b6 - as core::ops::function::FnOnce<()>>::call_once::h5e9f4b56e45e8108 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 36: 0x62ab9f9c15b6 - std::panicking::try::do_call::ha36db853b2f34e23 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:584:40 [INFO] [stdout] 37: 0x62ab9f9c15b6 - std::panicking::try::h57e1aa33a0efb1be [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:547:19 [INFO] [stdout] 38: 0x62ab9f9c15b6 - std::panic::catch_unwind::hdb71a6103024936e [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panic.rs:358:14 [INFO] [stdout] 39: 0x62ab9f9c15b6 - std::thread::Builder::spawn_unchecked_::{{closure}}::h8caa22218f423ab1 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/thread/mod.rs:562:30 [INFO] [stdout] 40: 0x62ab9f9c15b6 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb3b44780e9c053e5 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 41: 0x62ab9fb7d0fb - as core::ops::function::FnOnce>::call_once::h2649f14f1b1c150d [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/alloc/src/boxed.rs:1993:9 [INFO] [stdout] 42: 0x62ab9fb7d0fb - as core::ops::function::FnOnce>::call_once::hb2ade58cb34e1bc4 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/alloc/src/boxed.rs:1993:9 [INFO] [stdout] 43: 0x62ab9fb7d0fb - std::sys::pal::unix::thread::Thread::new::thread_start::ha07e360225fa3528 [INFO] [stdout] at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/sys/pal/unix/thread.rs:106:17 [INFO] [stdout] 44: 0x792dd014dac3 - [INFO] [stdout] 45: 0x792dd01dea04 - clone [INFO] [stdout] 46: 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 1.61s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--bin rust-advent-of-code` [INFO] running `Command { std: "docker" "inspect" "113b1df2b0ee9f01f63fc1d960fa255601f716dfed1c19225e0cfac44e91dd2b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "113b1df2b0ee9f01f63fc1d960fa255601f716dfed1c19225e0cfac44e91dd2b", kill_on_drop: false }` [INFO] [stdout] 113b1df2b0ee9f01f63fc1d960fa255601f716dfed1c19225e0cfac44e91dd2b