[INFO] cloning repository https://github.com/TimJennings/aoc2024-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TimJennings/aoc2024-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTimJennings%2Faoc2024-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTimJennings%2Faoc2024-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] afec1d5dc3b34b72573fa367ea59dad6f15e9410 [INFO] building TimJennings/aoc2024-rs against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTimJennings%2Faoc2024-rs" "/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/TimJennings/aoc2024-rs on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/TimJennings/aoc2024-rs [INFO] finished tweaking git repo https://github.com/TimJennings/aoc2024-rs [INFO] tweaked toml for git repo https://github.com/TimJennings/aoc2024-rs written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/TimJennings/aoc2024-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] 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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 207bc16ced1ce4e48fb82d3e225bee4fb39121e2dbcf8545ffd85b118074165d [INFO] running `Command { std: "docker" "start" "-a" "207bc16ced1ce4e48fb82d3e225bee4fb39121e2dbcf8545ffd85b118074165d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "207bc16ced1ce4e48fb82d3e225bee4fb39121e2dbcf8545ffd85b118074165d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "207bc16ced1ce4e48fb82d3e225bee4fb39121e2dbcf8545ffd85b118074165d", kill_on_drop: false }` [INFO] [stdout] 207bc16ced1ce4e48fb82d3e225bee4fb39121e2dbcf8545ffd85b118074165d [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=forbid -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 39fc5fb73b1a8d1dd0c05002322edc83f674ff8683623a21abf57f788cc7c60e [INFO] running `Command { std: "docker" "start" "-a" "39fc5fb73b1a8d1dd0c05002322edc83f674ff8683623a21abf57f788cc7c60e", kill_on_drop: false }` [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling aoc24 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `many0` [INFO] [stdout] --> src/day1/mod.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | multi::{fold_many0, many0}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parser_u64` [INFO] [stdout] --> src/day13/mod.rs:11:29 [INFO] [stdout] | [INFO] [stdout] 11 | nom_utils::{parser_i64, parser_u64}, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/day13/mod.rs:155:53 [INFO] [stdout] | [INFO] [stdout] 155 | tokens = tokens + eliminate(game).unwrap_or((0)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 155 - tokens = tokens + eliminate(game).unwrap_or((0)); [INFO] [stdout] 155 + tokens = tokens + eliminate(game).unwrap_or(0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/day13/mod.rs:178:53 [INFO] [stdout] | [INFO] [stdout] 178 | tokens = tokens + eliminate(game).unwrap_or((0)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 178 - tokens = tokens + eliminate(game).unwrap_or((0)); [INFO] [stdout] 178 + tokens = tokens + eliminate(game).unwrap_or(0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::IResult` [INFO] [stdout] --> src/day15/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::IResult; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `read_file_to_vec` [INFO] [stdout] --> src/day15/mod.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | string_utils::{read_file_to_string, read_file_to_vec}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LEFT_HALF_BOX` should have an upper camel case name [INFO] [stdout] --> src/day15/mod.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | LEFT_HALF_BOX, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftHalfBox` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_HALF_BOX` should have an upper camel case name [INFO] [stdout] --> src/day15/mod.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | RIGHT_HALF_BOX, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightHalfBox` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `many0` [INFO] [stdout] --> src/day3/mod.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | multi::{fold_many0, many0}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/day5/mod.rs:22:19 [INFO] [stdout] | [INFO] [stdout] 22 | let mid = (update.len() / 2); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 22 - let mid = (update.len() / 2); [INFO] [stdout] 22 + let mid = update.len() / 2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/day5/mod.rs:50:19 [INFO] [stdout] | [INFO] [stdout] 50 | let mid = (update.len() / 2); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 50 - let mid = (update.len() / 2); [INFO] [stdout] 50 + let mid = update.len() / 2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::peek` [INFO] [stdout] --> src/day6/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::combinator::peek; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Grid` [INFO] [stdout] --> src/day6/mod.rs:6:48 [INFO] [stdout] | [INFO] [stdout] 6 | grid::{self, parse_string_grid, Direction, Grid}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `string_utils::read_file_to_string` [INFO] [stdout] --> src/day7/mod.rs:10:50 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::common::{self, nom_utils::parser_u64, string_utils::read_file_to_string}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/day7/mod.rs:44:50 [INFO] [stdout] | [INFO] [stdout] 44 | fn parse_equations(input: &str) -> IResult<&str, (Vec<(u64, Vec)>)> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 44 - fn parse_equations(input: &str) -> IResult<&str, (Vec<(u64, Vec)>)> { [INFO] [stdout] 44 + fn parse_equations(input: &str) -> IResult<&str, Vec<(u64, Vec)>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/day9/mod.rs:68:29 [INFO] [stdout] | [INFO] [stdout] 68 | file_map.insert((next_id), (memory.len(), digit)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 68 - file_map.insert((next_id), (memory.len(), digit)); [INFO] [stdout] 68 + file_map.insert(next_id, (memory.len(), digit)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/day9/mod.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | if (next_id == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 127 - if (next_id == 0) { [INFO] [stdout] 127 + if next_id == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/common/grid.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::{Display, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day10/mod.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | mut nines: &mut HashSet<(usize, usize)>, [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/day10/mod.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | mut nines: &mut Vec<(usize, usize)>, [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bX_bY` [INFO] [stdout] --> src/day13/mod.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | let bX_bY = b.0 * b.1; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_bX_bY` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bY_neg_bX` [INFO] [stdout] --> src/day13/mod.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | let bY_neg_bX = b.1 * -b.0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bY_neg_bX` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day13/mod.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | let mut result = many0(parse_claw_game)(input.as_str()); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `safety_factor` [INFO] [stdout] --> src/day14/mod.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | let safety_factor = [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_safety_factor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `centre_count` [INFO] [stdout] --> src/day14/mod.rs:208:13 [INFO] [stdout] | [INFO] [stdout] 208 | let centre_count = image [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_centre_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day15/mod.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let mut grid = &read_file_to_string("input/day15-grid.txt"); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/day15/mod.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | _ => write!(f, "?"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/day15/mod.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 75 | Self::WALL => write!(f, "#"), [INFO] [stdout] | ---------- matches some of the same values [INFO] [stdout] 76 | Self::ROBOT => write!(f, "@"), [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] 77 | Self::BOX => write!(f, "O"), [INFO] [stdout] | --------- matches some of the same values [INFO] [stdout] 78 | Self::SPACE => write!(f, "."), [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 81 | _ => write!(f, "?"), [INFO] [stdout] | ^ ...and 2 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/day15/mod.rs:101:13 [INFO] [stdout] | [INFO] [stdout] 101 | _ => (0, 0), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/day15/mod.rs:101:13 [INFO] [stdout] | [INFO] [stdout] 97 | Program::DOWN => (0, 1), [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] 98 | Program::UP => (0, -1), [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] 99 | Program::LEFT => (-1, 0), [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] 100 | Program::RIGHT => (1, 0), [INFO] [stdout] | -------------- matches some of the same values [INFO] [stdout] 101 | _ => (0, 0), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `directions` [INFO] [stdout] --> src/day4/mod.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | let directions: Vec = vec![NORTH, NE, EAST, SE, SOUTH, SW, WEST, NW]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_directions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day4/mod.rs:138:16 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn new(mut input: &str) -> Self { [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/day6/mod.rs:107:13 [INFO] [stdout] | [INFO] [stdout] 107 | let mut walk_set = HashSet::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_file_to_vec` is never used [INFO] [stdout] --> src/common/string_utils.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn read_file_to_vec(file_path: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NORTH` is never used [INFO] [stdout] --> src/day12/mod.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const NORTH: Direction = Direction { x: 0, y: -1 }; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NORTH_EAST` is never used [INFO] [stdout] --> src/day12/mod.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const NORTH_EAST: Direction = Direction { x: 1, y: -1 }; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EAST` is never used [INFO] [stdout] --> src/day12/mod.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const EAST: Direction = Direction { x: 1, y: 0 }; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SOUTH_EAST` is never used [INFO] [stdout] --> src/day12/mod.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const SOUTH_EAST: Direction = Direction { x: 1, y: 1 }; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SOUTH` is never used [INFO] [stdout] --> src/day12/mod.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const SOUTH: Direction = Direction { x: 0, y: 1 }; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SOUTH_WEST` is never used [INFO] [stdout] --> src/day12/mod.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const SOUTH_WEST: Direction = Direction { x: -1, y: 1 }; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WEST` is never used [INFO] [stdout] --> src/day12/mod.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const WEST: Direction = Direction { x: -1, y: 0 }; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NORTH_WEST` is never used [INFO] [stdout] --> src/day12/mod.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const NORTH_WEST: Direction = Direction { x: -1, y: -1 }; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/day13/mod.rs:146:8 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/day15/mod.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day3/mod.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 29 | Char(&'a str), [INFO] [stdout] | ---- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 29 | Char(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day3/mod.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | Do(&'a str), [INFO] [stdout] | -- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 31 | Do(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day3/mod.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | Dont(&'a str), [INFO] [stdout] | ---- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 32 | Dont(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/common/grid.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | self.at(x as i32, y as i32).unwrap().fmt(f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 25 | let _ = self.at(x as i32, y as i32).unwrap().fmt(f); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/common/grid.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | write!(f, "\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vecI` should have a snake case name [INFO] [stdout] --> src/common/grid.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let vecI = string_utils::string_to_vec(input); [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `vec_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vecC` should have a snake case name [INFO] [stdout] --> src/common/grid.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | let mut vecC = Vec::new(); [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `vec_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentX` should have a snake case name [INFO] [stdout] --> src/day10/mod.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let currentX = trailhead.0; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `current_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentY` should have a snake case name [INFO] [stdout] --> src/day10/mod.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let currentY = trailhead.1; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `current_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentX` should have a snake case name [INFO] [stdout] --> src/day10/mod.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let currentX = trailhead.0; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `current_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentY` should have a snake case name [INFO] [stdout] --> src/day10/mod.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let currentY = trailhead.1; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `current_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstWay` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | let firstWay = inner_eliminate(game.a, game.b, game.prize); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `first_way` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `secondWay` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | let secondWay = inner_eliminate(game.b, game.a, game.prize); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `second_way` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstTokens` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | let firstTokens = match firstWay { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `first_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `secondTokens` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | let secondTokens = match secondWay { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `second_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `prizeX_bY` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | let prizeX_bY = prize.0 * b.1; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `prize_x_b_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `aX_bY` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | let aX_bY = a.0 * b.1; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `a_x_b_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `bX_bY` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | let bX_bY = b.0 * b.1; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `b_x_b_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `prizeY__neg_bX` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | let prizeY__neg_bX = prize.1 * -b.0; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `prize_y_neg_b_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `aY_neg_bX` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | let aY_neg_bX = a.1 * -b.0; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `a_y_neg_b_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `bY_neg_bX` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | let bY_neg_bX = b.1 * -b.0; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `b_y_neg_b_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `aX` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | let aX = aX_bY + aY_neg_bX; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `a_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `aResult` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | let aResult = prize_neg_b / aX; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `aX` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | let aX = aResult * a.0; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `a_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `prizeX_neg_aX` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | let prizeX_neg_aX = prize.0 - aX; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `prize_x_neg_a_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `bResult` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | let bResult = prizeX_neg_aX / b.0; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NORTH` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let NORTH = Direction { x: -1, y: 0 }; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `north` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NE` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let NE: Direction = Direction { x: -1, y: 1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ne` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `EAST` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let EAST: Direction = Direction { x: 0, y: 1 }; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `east` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SE` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let SE: Direction = Direction { x: 1, y: 1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `se` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SOUTH` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let SOUTH: Direction = Direction { x: 1, y: 0 }; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `south` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SW` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let SW: Direction = Direction { x: 1, y: -1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `sw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `WEST` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let WEST: Direction = Direction { x: 0, y: -1 }; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `west` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NW` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let NW: Direction = Direction { x: -1, y: -1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `nw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `checkX` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:27:29 [INFO] [stdout] | [INFO] [stdout] 27 | let mut checkX = x + direction.x; [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `check_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `checkY` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:28:29 [INFO] [stdout] | [INFO] [stdout] 28 | let mut checkY = y + direction.y; [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `check_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NORTH` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let NORTH = Direction { x: -1, y: 0 }; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `north` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NE` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | let NE: Direction = Direction { x: -1, y: 1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ne` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `EAST` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | let EAST: Direction = Direction { x: 0, y: 1 }; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `east` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SE` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | let SE: Direction = Direction { x: 1, y: 1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `se` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SOUTH` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | let SOUTH: Direction = Direction { x: 1, y: 0 }; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `south` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SW` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let SW: Direction = Direction { x: 1, y: -1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `sw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `WEST` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | let WEST: Direction = Direction { x: 0, y: -1 }; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `west` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NW` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let NW: Direction = Direction { x: -1, y: -1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `nw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstDiag` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:77:25 [INFO] [stdout] | [INFO] [stdout] 77 | let mut firstDiag = false; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `first_diag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vecI` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | let vecI = common::string_utils::string_to_vec(input); [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `vec_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/day5/mod.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | Err(E) => Err(E), [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/day5/mod.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | Err(E) => Err(E), [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardX` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:21:14 [INFO] [stdout] | [INFO] [stdout] 21 | let (mut guardX, mut guardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardY` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:21:26 [INFO] [stdout] | [INFO] [stdout] 21 | let (mut guardX, mut guardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardDirection` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | let mut guardDirection = NORTH; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `guard_direction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardX` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:67:14 [INFO] [stdout] | [INFO] [stdout] 67 | let (mut guardX, mut guardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardY` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:67:26 [INFO] [stdout] | [INFO] [stdout] 67 | let (mut guardX, mut guardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardDirection` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | let mut guardDirection = NORTH; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `guard_direction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newGuardX` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:100:10 [INFO] [stdout] | [INFO] [stdout] 100 | let (newGuardX, newGuardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `new_guard_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newGuardY` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | let (newGuardX, newGuardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `new_guard_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardX` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | mut guardX: i32, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardY` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | mut guardY: i32, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardDirection` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | mut guardDirection: Direction, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `guard_direction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/day9/mod.rs:86:11 [INFO] [stdout] | [INFO] [stdout] 86 | while next_id >= 0 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.35s [INFO] running `Command { std: "docker" "inspect" "39fc5fb73b1a8d1dd0c05002322edc83f674ff8683623a21abf57f788cc7c60e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "39fc5fb73b1a8d1dd0c05002322edc83f674ff8683623a21abf57f788cc7c60e", kill_on_drop: false }` [INFO] [stdout] 39fc5fb73b1a8d1dd0c05002322edc83f674ff8683623a21abf57f788cc7c60e [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=forbid -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 200ecbb29caa3543e1741659003c7cb4ee5d7e9b532cd8627557f9d7704db294 [INFO] running `Command { std: "docker" "start" "-a" "200ecbb29caa3543e1741659003c7cb4ee5d7e9b532cd8627557f9d7704db294", kill_on_drop: false }` [INFO] [stderr] Compiling aoc24 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Grid` [INFO] [stdout] --> src/day10/mod.rs:176:49 [INFO] [stdout] | [INFO] [stdout] 176 | common::grid::{self, parse_string_grid, Grid}, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/day12/mod.rs:16:37 [INFO] [stdout] | [INFO] [stdout] 16 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `NORTH_EAST` and `NORTH_WEST` [INFO] [stdout] --> src/day12/mod.rs:25:30 [INFO] [stdout] | [INFO] [stdout] 25 | day12::{EAST, NORTH, NORTH_EAST, NORTH_WEST, SOUTH, SOUTH_EAST, SOUTH_WEST, WEST}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/day12/mod.rs:99:30 [INFO] [stdout] | [INFO] [stdout] 99 | .get((&(current_char, (x + direction.x, y + direction.y)))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 99 - .get((&(current_char, (x + direction.x, y + direction.y)))) [INFO] [stdout] 99 + .get(&(current_char, (x + direction.x, y + direction.y))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/day12/mod.rs:340:22 [INFO] [stdout] | [INFO] [stdout] 340 | .get((&(current_char, (x + direction.x, y + direction.y)))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 340 - .get((&(current_char, (x + direction.x, y + direction.y)))) [INFO] [stdout] 340 + .get(&(current_char, (x + direction.x, y + direction.y))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/day12/mod.rs:355:22 [INFO] [stdout] | [INFO] [stdout] 355 | .get((&(current_char, (x + direction.x, y + direction.y)))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 355 - .get((&(current_char, (x + direction.x, y + direction.y)))) [INFO] [stdout] 355 + .get(&(current_char, (x + direction.x, y + direction.y))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parser_u64` [INFO] [stdout] --> src/day13/mod.rs:11:29 [INFO] [stdout] | [INFO] [stdout] 11 | nom_utils::{parser_i64, parser_u64}, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/day13/mod.rs:155:53 [INFO] [stdout] | [INFO] [stdout] 155 | tokens = tokens + eliminate(game).unwrap_or((0)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 155 - tokens = tokens + eliminate(game).unwrap_or((0)); [INFO] [stdout] 155 + tokens = tokens + eliminate(game).unwrap_or(0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/day13/mod.rs:178:53 [INFO] [stdout] | [INFO] [stdout] 178 | tokens = tokens + eliminate(game).unwrap_or((0)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 178 - tokens = tokens + eliminate(game).unwrap_or((0)); [INFO] [stdout] 178 + tokens = tokens + eliminate(game).unwrap_or(0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/day13/mod.rs:236:57 [INFO] [stdout] | [INFO] [stdout] 236 | let tokens_used = eliminate(game).unwrap_or((0)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 236 - let tokens_used = eliminate(game).unwrap_or((0)); [INFO] [stdout] 236 + let tokens_used = eliminate(game).unwrap_or(0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/day13/mod.rs:256:57 [INFO] [stdout] | [INFO] [stdout] 256 | tokens = tokens + eliminate(game).unwrap_or((0)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 256 - tokens = tokens + eliminate(game).unwrap_or((0)); [INFO] [stdout] 256 + tokens = tokens + eliminate(game).unwrap_or(0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::IResult` [INFO] [stdout] --> src/day15/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::IResult; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `read_file_to_vec` [INFO] [stdout] --> src/day15/mod.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | string_utils::{read_file_to_string, read_file_to_vec}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LEFT_HALF_BOX` should have an upper camel case name [INFO] [stdout] --> src/day15/mod.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | LEFT_HALF_BOX, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftHalfBox` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_HALF_BOX` should have an upper camel case name [INFO] [stdout] --> src/day15/mod.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | RIGHT_HALF_BOX, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightHalfBox` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `many0` [INFO] [stdout] --> src/day3/mod.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | multi::{fold_many0, many0}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::common` [INFO] [stdout] --> src/day4/mod.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | use crate::common; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `*` [INFO] [stdout] --> src/day4/mod.rs:167:34 [INFO] [stdout] | [INFO] [stdout] 167 | use super::{Direction, Grid, *}; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/day5/mod.rs:22:19 [INFO] [stdout] | [INFO] [stdout] 22 | let mid = (update.len() / 2); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 22 - let mid = (update.len() / 2); [INFO] [stdout] 22 + let mid = update.len() / 2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/day5/mod.rs:50:19 [INFO] [stdout] | [INFO] [stdout] 50 | let mid = (update.len() / 2); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 50 - let mid = (update.len() / 2); [INFO] [stdout] 50 + let mid = update.len() / 2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `common` and `update_is_broken` [INFO] [stdout] --> src/day5/mod.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | common, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 150 | day5::{get_invalid_updates, get_valid_updates, parse_update, update_is_broken}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/day5/mod.rs:219:23 [INFO] [stdout] | [INFO] [stdout] 219 | let mid = (update.len() / 2); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 219 - let mid = (update.len() / 2); [INFO] [stdout] 219 + let mid = update.len() / 2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::peek` [INFO] [stdout] --> src/day6/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::combinator::peek; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Grid` [INFO] [stdout] --> src/day6/mod.rs:6:48 [INFO] [stdout] | [INFO] [stdout] 6 | grid::{self, parse_string_grid, Direction, Grid}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/day6/mod.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | self, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `string_utils::read_file_to_string` [INFO] [stdout] --> src/day7/mod.rs:10:50 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::common::{self, nom_utils::parser_u64, string_utils::read_file_to_string}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/day7/mod.rs:44:50 [INFO] [stdout] | [INFO] [stdout] 44 | fn parse_equations(input: &str) -> IResult<&str, (Vec<(u64, Vec)>)> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 44 - fn parse_equations(input: &str) -> IResult<&str, (Vec<(u64, Vec)>)> { [INFO] [stdout] 44 + fn parse_equations(input: &str) -> IResult<&str, Vec<(u64, Vec)>> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Grid` [INFO] [stdout] --> src/day8/mod.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | grid::{self, parse_string_grid, Grid}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/day8/mod.rs:64:29 [INFO] [stdout] | [INFO] [stdout] 64 | let antix = (firstx - secondx); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 64 - let antix = (firstx - secondx); [INFO] [stdout] 64 + let antix = firstx - secondx; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/day8/mod.rs:65:29 [INFO] [stdout] | [INFO] [stdout] 65 | let antiy = (firsty - secondy); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 65 - let antiy = (firsty - secondy); [INFO] [stdout] 65 + let antiy = firsty - secondy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/day8/mod.rs:137:29 [INFO] [stdout] | [INFO] [stdout] 137 | let antix = (firstx - secondx); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 137 - let antix = (firstx - secondx); [INFO] [stdout] 137 + let antix = firstx - secondx; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/day8/mod.rs:138:29 [INFO] [stdout] | [INFO] [stdout] 138 | let antiy = (firsty - secondy); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 138 - let antiy = (firsty - secondy); [INFO] [stdout] 138 + let antiy = firsty - secondy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/day8/mod.rs:210:29 [INFO] [stdout] | [INFO] [stdout] 210 | let antix = (firstx - secondx); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 210 - let antix = (firstx - secondx); [INFO] [stdout] 210 + let antix = firstx - secondx; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/day8/mod.rs:211:29 [INFO] [stdout] | [INFO] [stdout] 211 | let antiy = (firsty - secondy); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 211 - let antiy = (firsty - secondy); [INFO] [stdout] 211 + let antiy = firsty - secondy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/day8/mod.rs:273:29 [INFO] [stdout] | [INFO] [stdout] 273 | let antix = (firstx - secondx); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 273 - let antix = (firstx - secondx); [INFO] [stdout] 273 + let antix = firstx - secondx; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/day8/mod.rs:274:29 [INFO] [stdout] | [INFO] [stdout] 274 | let antiy = (firsty - secondy); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 274 - let antiy = (firsty - secondy); [INFO] [stdout] 274 + let antiy = firsty - secondy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/day9/mod.rs:68:29 [INFO] [stdout] | [INFO] [stdout] 68 | file_map.insert((next_id), (memory.len(), digit)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 68 - file_map.insert((next_id), (memory.len(), digit)); [INFO] [stdout] 68 + file_map.insert(next_id, (memory.len(), digit)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/day9/mod.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | if (next_id == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 127 - if (next_id == 0) { [INFO] [stdout] 127 + if next_id == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/day9/mod.rs:213:33 [INFO] [stdout] | [INFO] [stdout] 213 | file_map.insert((next_id), (memory.len(), digit)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 213 - file_map.insert((next_id), (memory.len(), digit)); [INFO] [stdout] 213 + file_map.insert(next_id, (memory.len(), digit)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/day9/mod.rs:272:16 [INFO] [stdout] | [INFO] [stdout] 272 | if (next_id == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 272 - if (next_id == 0) { [INFO] [stdout] 272 + if next_id == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/common/grid.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::{Display, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/day5/mod.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day10/mod.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | mut nines: &mut HashSet<(usize, usize)>, [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/day10/mod.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | mut nines: &mut Vec<(usize, usize)>, [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day11/mod.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | let input = read_file_to_string("input/day11.txt"); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [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/day11/mod.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | let mut stones: Vec = TEST_DATA [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bX_bY` [INFO] [stdout] --> src/day13/mod.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | let bX_bY = b.0 * b.1; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_bX_bY` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bY_neg_bX` [INFO] [stdout] --> src/day13/mod.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | let bY_neg_bX = b.1 * -b.0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bY_neg_bX` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day13/mod.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | let mut result = many0(parse_claw_game)(input.as_str()); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `safety_factor` [INFO] [stdout] --> src/day14/mod.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | let safety_factor = [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_safety_factor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `centre_count` [INFO] [stdout] --> src/day14/mod.rs:208:13 [INFO] [stdout] | [INFO] [stdout] 208 | let centre_count = image [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_centre_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day15/mod.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let mut grid = &read_file_to_string("input/day15-grid.txt"); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/day15/mod.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | _ => write!(f, "?"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/day15/mod.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 75 | Self::WALL => write!(f, "#"), [INFO] [stdout] | ---------- matches some of the same values [INFO] [stdout] 76 | Self::ROBOT => write!(f, "@"), [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] 77 | Self::BOX => write!(f, "O"), [INFO] [stdout] | --------- matches some of the same values [INFO] [stdout] 78 | Self::SPACE => write!(f, "."), [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 81 | _ => write!(f, "?"), [INFO] [stdout] | ^ ...and 2 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/day15/mod.rs:101:13 [INFO] [stdout] | [INFO] [stdout] 101 | _ => (0, 0), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/day15/mod.rs:101:13 [INFO] [stdout] | [INFO] [stdout] 97 | Program::DOWN => (0, 1), [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] 98 | Program::UP => (0, -1), [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] 99 | Program::LEFT => (-1, 0), [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] 100 | Program::RIGHT => (1, 0), [INFO] [stdout] | -------------- matches some of the same values [INFO] [stdout] 101 | _ => (0, 0), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `directions` [INFO] [stdout] --> src/day4/mod.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | let directions: Vec = vec![NORTH, NE, EAST, SE, SOUTH, SW, WEST, NW]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_directions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day4/mod.rs:138:16 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn new(mut input: &str) -> Self { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `directions` [INFO] [stdout] --> src/day4/mod.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | let directions: Vec = vec![NORTH, NE, EAST, SE, SOUTH, SW, WEST, NW]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_directions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day6/mod.rs:107:13 [INFO] [stdout] | [INFO] [stdout] 107 | let mut walk_set = HashSet::new(); [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/day6/mod.rs:307:17 [INFO] [stdout] | [INFO] [stdout] 307 | let mut walk_set = HashSet::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_file_to_vec` is never used [INFO] [stdout] --> src/common/string_utils.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn read_file_to_vec(file_path: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NORTH_EAST` is never used [INFO] [stdout] --> src/day12/mod.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const NORTH_EAST: Direction = Direction { x: 1, y: -1 }; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NORTH_WEST` is never used [INFO] [stdout] --> src/day12/mod.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const NORTH_WEST: Direction = Direction { x: -1, y: -1 }; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA_1` is never used [INFO] [stdout] --> src/day12/mod.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | const TEST_DATA_1: &str = r"AAAA [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA_2` is never used [INFO] [stdout] --> src/day12/mod.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | const TEST_DATA_2: &str = r"OOOOO [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA_3` is never used [INFO] [stdout] --> src/day12/mod.rs:39:11 [INFO] [stdout] | [INFO] [stdout] 39 | const TEST_DATA_3: &str = r"RRRRIICCFF [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA_4` is never used [INFO] [stdout] --> src/day12/mod.rs:50:11 [INFO] [stdout] | [INFO] [stdout] 50 | const TEST_DATA_4: &str = r"EEEEE [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_DATA_5` is never used [INFO] [stdout] --> src/day12/mod.rs:56:11 [INFO] [stdout] | [INFO] [stdout] 56 | const TEST_DATA_5: &str = r"AAAAAA [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/day13/mod.rs:146:8 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/day15/mod.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn run() { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day3/mod.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 29 | Char(&'a str), [INFO] [stdout] | ---- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 29 | Char(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day3/mod.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | Do(&'a str), [INFO] [stdout] | -- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 31 | Do(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day3/mod.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | Dont(&'a str), [INFO] [stdout] | ---- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 32 | Dont(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/common/grid.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | self.at(x as i32, y as i32).unwrap().fmt(f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 25 | let _ = self.at(x as i32, y as i32).unwrap().fmt(f); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/common/grid.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | write!(f, "\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vecI` should have a snake case name [INFO] [stdout] --> src/common/grid.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let vecI = string_utils::string_to_vec(input); [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `vec_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vecC` should have a snake case name [INFO] [stdout] --> src/common/grid.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | let mut vecC = Vec::new(); [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `vec_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentX` should have a snake case name [INFO] [stdout] --> src/day10/mod.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let currentX = trailhead.0; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `current_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentY` should have a snake case name [INFO] [stdout] --> src/day10/mod.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let currentY = trailhead.1; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `current_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentX` should have a snake case name [INFO] [stdout] --> src/day10/mod.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let currentX = trailhead.0; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `current_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentY` should have a snake case name [INFO] [stdout] --> src/day10/mod.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let currentY = trailhead.1; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `current_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentX` should have a snake case name [INFO] [stdout] --> src/day10/mod.rs:207:17 [INFO] [stdout] | [INFO] [stdout] 207 | let currentX = trailhead.0; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `current_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentY` should have a snake case name [INFO] [stdout] --> src/day10/mod.rs:208:17 [INFO] [stdout] | [INFO] [stdout] 208 | let currentY = trailhead.1; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `current_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentX` should have a snake case name [INFO] [stdout] --> src/day10/mod.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | let currentX = trailhead.0; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `current_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentY` should have a snake case name [INFO] [stdout] --> src/day10/mod.rs:239:17 [INFO] [stdout] | [INFO] [stdout] 239 | let currentY = trailhead.1; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `current_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstWay` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | let firstWay = inner_eliminate(game.a, game.b, game.prize); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `first_way` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `secondWay` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | let secondWay = inner_eliminate(game.b, game.a, game.prize); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `second_way` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstTokens` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | let firstTokens = match firstWay { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `first_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `secondTokens` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | let secondTokens = match secondWay { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `second_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `prizeX_bY` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | let prizeX_bY = prize.0 * b.1; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `prize_x_b_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `aX_bY` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | let aX_bY = a.0 * b.1; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `a_x_b_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `bX_bY` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | let bX_bY = b.0 * b.1; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `b_x_b_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `prizeY__neg_bX` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | let prizeY__neg_bX = prize.1 * -b.0; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `prize_y_neg_b_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `aY_neg_bX` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | let aY_neg_bX = a.1 * -b.0; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `a_y_neg_b_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `bY_neg_bX` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | let bY_neg_bX = b.1 * -b.0; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `b_y_neg_b_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `aX` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | let aX = aX_bY + aY_neg_bX; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `a_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `aResult` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | let aResult = prize_neg_b / aX; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `aX` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | let aX = aResult * a.0; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `a_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `prizeX_neg_aX` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | let prizeX_neg_aX = prize.0 - aX; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `prize_x_neg_a_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `bResult` should have a snake case name [INFO] [stdout] --> src/day13/mod.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | let bResult = prizeX_neg_aX / b.0; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `b_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newPosition` should have a snake case name [INFO] [stdout] --> src/day14/mod.rs:388:21 [INFO] [stdout] | [INFO] [stdout] 388 | let mut newPosition = ( [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `new_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NORTH` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let NORTH = Direction { x: -1, y: 0 }; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `north` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NE` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let NE: Direction = Direction { x: -1, y: 1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ne` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `EAST` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let EAST: Direction = Direction { x: 0, y: 1 }; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `east` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SE` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let SE: Direction = Direction { x: 1, y: 1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `se` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SOUTH` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let SOUTH: Direction = Direction { x: 1, y: 0 }; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `south` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SW` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let SW: Direction = Direction { x: 1, y: -1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `sw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `WEST` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let WEST: Direction = Direction { x: 0, y: -1 }; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `west` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NW` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let NW: Direction = Direction { x: -1, y: -1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `nw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `checkX` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:27:29 [INFO] [stdout] | [INFO] [stdout] 27 | let mut checkX = x + direction.x; [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `check_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `checkY` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:28:29 [INFO] [stdout] | [INFO] [stdout] 28 | let mut checkY = y + direction.y; [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `check_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NORTH` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let NORTH = Direction { x: -1, y: 0 }; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `north` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NE` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | let NE: Direction = Direction { x: -1, y: 1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ne` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `EAST` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | let EAST: Direction = Direction { x: 0, y: 1 }; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `east` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SE` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | let SE: Direction = Direction { x: 1, y: 1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `se` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SOUTH` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | let SOUTH: Direction = Direction { x: 1, y: 0 }; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `south` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SW` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let SW: Direction = Direction { x: 1, y: -1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `sw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `WEST` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | let WEST: Direction = Direction { x: 0, y: -1 }; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `west` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NW` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let NW: Direction = Direction { x: -1, y: -1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `nw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstDiag` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:77:25 [INFO] [stdout] | [INFO] [stdout] 77 | let mut firstDiag = false; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `first_diag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vecI` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | let vecI = common::string_utils::string_to_vec(input); [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `vec_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NORTH` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | let NORTH = Direction { x: -1, y: 0 }; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `north` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NE` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | let NE: Direction = Direction { x: -1, y: 1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ne` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `EAST` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:208:13 [INFO] [stdout] | [INFO] [stdout] 208 | let EAST: Direction = Direction { x: 0, y: 1 }; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `east` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SE` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 209 | let SE: Direction = Direction { x: 1, y: 1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `se` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SOUTH` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | let SOUTH: Direction = Direction { x: 1, y: 0 }; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `south` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SW` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | let SW: Direction = Direction { x: 1, y: -1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `sw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `WEST` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:212:13 [INFO] [stdout] | [INFO] [stdout] 212 | let WEST: Direction = Direction { x: 0, y: -1 }; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `west` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NW` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | let NW: Direction = Direction { x: -1, y: -1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `nw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstDiag` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:225:29 [INFO] [stdout] | [INFO] [stdout] 225 | let mut firstDiag = false; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `first_diag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NORTH` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:274:13 [INFO] [stdout] | [INFO] [stdout] 274 | let NORTH = Direction { x: -1, y: 0 }; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `north` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NE` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:275:13 [INFO] [stdout] | [INFO] [stdout] 275 | let NE: Direction = Direction { x: -1, y: 1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ne` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `EAST` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:276:13 [INFO] [stdout] | [INFO] [stdout] 276 | let EAST: Direction = Direction { x: 0, y: 1 }; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `east` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SE` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:277:13 [INFO] [stdout] | [INFO] [stdout] 277 | let SE: Direction = Direction { x: 1, y: 1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `se` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SOUTH` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:278:13 [INFO] [stdout] | [INFO] [stdout] 278 | let SOUTH: Direction = Direction { x: 1, y: 0 }; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `south` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SW` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:279:13 [INFO] [stdout] | [INFO] [stdout] 279 | let SW: Direction = Direction { x: 1, y: -1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `sw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `WEST` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:280:13 [INFO] [stdout] | [INFO] [stdout] 280 | let WEST: Direction = Direction { x: 0, y: -1 }; [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `west` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NW` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 281 | let NW: Direction = Direction { x: -1, y: -1 }; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `nw` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `checkX` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:294:33 [INFO] [stdout] | [INFO] [stdout] 294 | let mut checkX = x + direction.x; [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `check_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `checkY` should have a snake case name [INFO] [stdout] --> src/day4/mod.rs:295:33 [INFO] [stdout] | [INFO] [stdout] 295 | let mut checkY = y + direction.y; [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `check_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/day5/mod.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | Err(E) => Err(E), [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/day5/mod.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | Err(E) => Err(E), [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardX` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:21:14 [INFO] [stdout] | [INFO] [stdout] 21 | let (mut guardX, mut guardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardY` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:21:26 [INFO] [stdout] | [INFO] [stdout] 21 | let (mut guardX, mut guardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardDirection` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | let mut guardDirection = NORTH; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `guard_direction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardX` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:67:14 [INFO] [stdout] | [INFO] [stdout] 67 | let (mut guardX, mut guardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardY` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:67:26 [INFO] [stdout] | [INFO] [stdout] 67 | let (mut guardX, mut guardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardDirection` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | let mut guardDirection = NORTH; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `guard_direction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newGuardX` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:100:10 [INFO] [stdout] | [INFO] [stdout] 100 | let (newGuardX, newGuardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `new_guard_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newGuardY` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | let (newGuardX, newGuardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `new_guard_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardX` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | mut guardX: i32, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardY` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | mut guardY: i32, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardDirection` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | mut guardDirection: Direction, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `guard_direction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardX` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:216:18 [INFO] [stdout] | [INFO] [stdout] 216 | let (mut guardX, mut guardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardY` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:216:30 [INFO] [stdout] | [INFO] [stdout] 216 | let (mut guardX, mut guardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardDirection` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:218:17 [INFO] [stdout] | [INFO] [stdout] 218 | let mut guardDirection = NORTH; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `guard_direction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardX` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:263:18 [INFO] [stdout] | [INFO] [stdout] 263 | let (mut guardX, mut guardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardY` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:263:30 [INFO] [stdout] | [INFO] [stdout] 263 | let (mut guardX, mut guardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `guard_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `guardDirection` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:265:17 [INFO] [stdout] | [INFO] [stdout] 265 | let mut guardDirection = NORTH; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `guard_direction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newGuardX` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:300:14 [INFO] [stdout] | [INFO] [stdout] 300 | let (newGuardX, newGuardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `new_guard_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newGuardY` should have a snake case name [INFO] [stdout] --> src/day6/mod.rs:300:25 [INFO] [stdout] | [INFO] [stdout] 300 | let (newGuardX, newGuardY) = grid.find_first(&'^').unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `new_guard_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/day9/mod.rs:86:11 [INFO] [stdout] | [INFO] [stdout] 86 | while next_id >= 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/day9/mod.rs:231:15 [INFO] [stdout] | [INFO] [stdout] 231 | while next_id >= 0 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.34s [INFO] running `Command { std: "docker" "inspect" "200ecbb29caa3543e1741659003c7cb4ee5d7e9b532cd8627557f9d7704db294", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "200ecbb29caa3543e1741659003c7cb4ee5d7e9b532cd8627557f9d7704db294", kill_on_drop: false }` [INFO] [stdout] 200ecbb29caa3543e1741659003c7cb4ee5d7e9b532cd8627557f9d7704db294