[INFO] cloning repository https://github.com/benvonhandorf/aoc-2024 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/benvonhandorf/aoc-2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbenvonhandorf%2Faoc-2024", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbenvonhandorf%2Faoc-2024'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5fd041ac15999d1ddafc0d7b736cd9d6c6fc626a [INFO] checking benvonhandorf/aoc-2024 against try#863511eff87e66198b396935f3b5c8a543022f53 for pr-139493-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbenvonhandorf%2Faoc-2024" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/benvonhandorf/aoc-2024 [INFO] finished tweaking git repo https://github.com/benvonhandorf/aoc-2024 [INFO] tweaked toml for git repo https://github.com/benvonhandorf/aoc-2024 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/benvonhandorf/aoc-2024 on toolchain 863511eff87e66198b396935f3b5c8a543022f53 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+863511eff87e66198b396935f3b5c8a543022f53" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/benvonhandorf/aoc-2024 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" "+863511eff87e66198b396935f3b5c8a543022f53" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+863511eff87e66198b396935f3b5c8a543022f53" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a2a48e73460d9eb429abb46cb12803c9cd29e490239ee9da88f00559d6dd7f71 [INFO] running `Command { std: "docker" "start" "-a" "a2a48e73460d9eb429abb46cb12803c9cd29e490239ee9da88f00559d6dd7f71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a2a48e73460d9eb429abb46cb12803c9cd29e490239ee9da88f00559d6dd7f71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a2a48e73460d9eb429abb46cb12803c9cd29e490239ee9da88f00559d6dd7f71", kill_on_drop: false }` [INFO] [stdout] a2a48e73460d9eb429abb46cb12803c9cd29e490239ee9da88f00559d6dd7f71 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+863511eff87e66198b396935f3b5c8a543022f53" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 28f4b586306521a4ce9a1dc40eaba93bcc50e1863f980b4908ef8c07c9a3c55c [INFO] running `Command { std: "docker" "start" "-a" "28f4b586306521a4ce9a1dc40eaba93bcc50e1863f980b4908ef8c07c9a3c55c", kill_on_drop: false }` [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking advent_1 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `io::Error` [INFO] [stdout] --> src/advent2.rs:1:31 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fs::read_to_string, io::Error}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/advent2.rs:25:55 [INFO] [stdout] | [INFO] [stdout] 25 | let deltas : Vec = levels.windows(2).map(|w| (w[0] - w[1]) ) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 25 - let deltas : Vec = levels.windows(2).map(|w| (w[0] - w[1]) ) [INFO] [stdout] 25 + let deltas : Vec = levels.windows(2).map(|w| w[0] - w[1] ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `io::Error`, `ops::IndexMut`, and `slice::RChunks` [INFO] [stdout] --> src/advent3.rs:1:31 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fs::read_to_string, io::Error, ops::IndexMut, slice::RChunks}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/advent4.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IndexMut`, `io::Error`, and `slice::RChunks` [INFO] [stdout] --> src/advent4.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | io::Error, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 6 | ops::{Index, IndexMut}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 7 | slice::RChunks, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `iproduct` [INFO] [stdout] --> src/advent5.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::{iproduct, Itertools}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/advent5.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IndexMut`, `Index`, `io::Error`, and `slice::RChunks` [INFO] [stdout] --> src/advent5.rs:4:47 [INFO] [stdout] | [INFO] [stdout] 4 | collections::HashMap, fs::read_to_string, io::Error, ops::{Index, IndexMut}, slice::RChunks [INFO] [stdout] | ^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/advent5.rs:95:25 [INFO] [stdout] | [INFO] [stdout] 95 | .map(|v| v.get( (v.len() / 2) ).unwrap() ) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 95 - .map(|v| v.get( (v.len() / 2) ).unwrap() ) [INFO] [stdout] 95 + .map(|v| v.get( v.len() / 2 ).unwrap() ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/advent5.rs:193:20 [INFO] [stdout] | [INFO] [stdout] 193 | v.get( (l / 2) ).unwrap().clone() [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 193 - v.get( (l / 2) ).unwrap().clone() [INFO] [stdout] 193 + v.get( l / 2 ).unwrap().clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/advent5.rs:222:20 [INFO] [stdout] | [INFO] [stdout] 222 | v.get( (l / 2) ).unwrap().clone() [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 222 - v.get( (l / 2) ).unwrap().clone() [INFO] [stdout] 222 + v.get( l / 2 ).unwrap().clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `iproduct` [INFO] [stdout] --> src/advent6.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::{iproduct, Itertools}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/advent6.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IndexMut`, `Index`, `collections::HashMap`, `io::Error`, and `slice::RChunks` [INFO] [stdout] --> src/advent6.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | collections::HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | fs::read_to_string, [INFO] [stdout] 6 | io::Error, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 7 | ops::{Index, IndexMut}, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] 8 | slice::RChunks, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/advent6.rs:370:12 [INFO] [stdout] | [INFO] [stdout] 370 | if let (Some(guard_state)) = guard_state { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 370 - if let (Some(guard_state)) = guard_state { [INFO] [stdout] 370 + if let Some(guard_state) = guard_state { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/advent1.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io::Error` [INFO] [stdout] --> src/advent2.rs:1:31 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fs::read_to_string, io::Error}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/advent2.rs:25:55 [INFO] [stdout] | [INFO] [stdout] 25 | let deltas : Vec = levels.windows(2).map(|w| (w[0] - w[1]) ) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 25 - let deltas : Vec = levels.windows(2).map(|w| (w[0] - w[1]) ) [INFO] [stdout] 25 + let deltas : Vec = levels.windows(2).map(|w| w[0] - w[1] ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `io::Error`, `ops::IndexMut`, and `slice::RChunks` [INFO] [stdout] --> src/advent3.rs:1:31 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fs::read_to_string, io::Error, ops::IndexMut, slice::RChunks}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/advent4.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IndexMut`, `io::Error`, and `slice::RChunks` [INFO] [stdout] --> src/advent4.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | io::Error, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 6 | ops::{Index, IndexMut}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 7 | slice::RChunks, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `iproduct` [INFO] [stdout] --> src/advent5.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::{iproduct, Itertools}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/advent5.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IndexMut`, `Index`, `io::Error`, and `slice::RChunks` [INFO] [stdout] --> src/advent5.rs:4:47 [INFO] [stdout] | [INFO] [stdout] 4 | collections::HashMap, fs::read_to_string, io::Error, ops::{Index, IndexMut}, slice::RChunks [INFO] [stdout] | ^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `iproduct` [INFO] [stdout] --> src/advent6.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::{iproduct, Itertools}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/advent6.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IndexMut`, `Index`, `collections::HashMap`, `io::Error`, and `slice::RChunks` [INFO] [stdout] --> src/advent6.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | collections::HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | fs::read_to_string, [INFO] [stdout] 6 | io::Error, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 7 | ops::{Index, IndexMut}, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] 8 | slice::RChunks, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/advent3.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Itertools` [INFO] [stdout] --> src/advent6.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::{iproduct, Itertools}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/advent3.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Itertools` [INFO] [stdout] --> src/advent6.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::{iproduct, Itertools}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/advent5.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | let mut parts = s.split(","); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/advent5.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | let mut parts = s.split(","); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_lines_advent1` is never used [INFO] [stdout] --> src/advent1.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn read_lines_advent1(filename: &str) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advent1a` is never used [INFO] [stdout] --> src/advent1.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn advent1a() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrInfo` is never constructed [INFO] [stdout] --> src/advent2.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct ErrInfo { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_lines` is never used [INFO] [stdout] --> src/advent2.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn read_lines(filename: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `safe_levels` is never used [INFO] [stdout] --> src/advent2.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn safe_levels(levels: &Vec) -> Result<(), ErrInfo> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `safe_levels_problem_dampner` is never used [INFO] [stdout] --> src/advent2.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn safe_levels_problem_dampner(levels: &Vec) -> Result<(), ErrInfo> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advent2a` is never used [INFO] [stdout] --> src/advent2.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn advent2a() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advent2b` is never used [INFO] [stdout] --> src/advent2.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn advent2b() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrInfo` is never constructed [INFO] [stdout] --> src/advent3.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | struct ErrInfo { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_lines` is never used [INFO] [stdout] --> src/advent3.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn read_lines(filename: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advent3a` is never used [INFO] [stdout] --> src/advent3.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn advent3a() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advent3b` is never used [INFO] [stdout] --> src/advent3.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn advent3b() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TARGET_XMAS` is never used [INFO] [stdout] --> src/advent4.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const TARGET_XMAS: &str = "XMAS"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TARGET_MAS` is never used [INFO] [stdout] --> src/advent4.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const TARGET_MAS: &str = "MAS"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_lines_advent1` is never used [INFO] [stdout] --> src/advent4.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn read_lines_advent1(filename: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BoardIndex` is never constructed [INFO] [stdout] --> src/advent4.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | struct BoardIndex { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BoardIndexOffset` is never constructed [INFO] [stdout] --> src/advent4.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct BoardIndexOffset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `negate` are never used [INFO] [stdout] --> src/advent4.rs:33:14 [INFO] [stdout] | [INFO] [stdout] 32 | impl BoardIndexOffset { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 33 | const fn new(x: i32, y: i32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn negate(&self) -> BoardIndexOffset { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OFFSETS` is never used [INFO] [stdout] --> src/advent4.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | const OFFSETS: [BoardIndexOffset; 8] = [ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OFFSETS_DIAGONALS` is never used [INFO] [stdout] --> src/advent4.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | const OFFSETS_DIAGONALS: [BoardIndexOffset; 4] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `offset` are never used [INFO] [stdout] --> src/advent4.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl BoardIndex { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 61 | pub fn new(x: u32, y: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn offset(&self, offset: &BoardIndexOffset) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BoardIndexSequence` is never constructed [INFO] [stdout] --> src/advent4.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | struct BoardIndexSequence { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/advent4.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 87 | impl BoardIndexSequence { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 88 | fn new(start: BoardIndex, offset: BoardIndexOffset, length: u32) -> BoardIndexSequence { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Board` is never constructed [INFO] [stdout] --> src/advent4.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | struct Board { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/advent4.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 123 | impl Board { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 124 | fn new(b: Vec>) -> Board { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_string`, `get_rows`, and `get_columns` are never used [INFO] [stdout] --> src/advent4.rs:145:8 [INFO] [stdout] | [INFO] [stdout] 144 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 145 | fn get_string(&self, index: BoardIndexSequence) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | fn get_rows(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | fn get_columns(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advent4b` is never used [INFO] [stdout] --> src/advent4.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | pub fn advent4b(filename: &str) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_order_lines` is never used [INFO] [stdout] --> src/advent5.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn read_order_lines(filename: &str) -> Vec<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_update_lines` is never used [INFO] [stdout] --> src/advent5.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn read_update_lines(filename: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_is_in_order` is never used [INFO] [stdout] --> src/advent5.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn update_is_in_order(update: &Vec, rules:&HashMap>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_data_for_token` is never used [INFO] [stdout] --> src/advent5.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn load_data_for_token(token: &str) -> (Vec<(usize, usize)>, Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `updates_in_order` is never used [INFO] [stdout] --> src/advent5.rs:62:4 [INFO] [stdout] | [INFO] [stdout] 62 | fn updates_in_order(token: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fix_broken_rules` is never used [INFO] [stdout] --> src/advent5.rs:102:4 [INFO] [stdout] | [INFO] [stdout] 102 | fn fix_broken_rules(input_update: &Vec, rules:&HashMap>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/advent6.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `move_offset` and `rotate` are never used [INFO] [stdout] --> src/advent6.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 19 | impl Direction { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 20 | fn move_offset(&self) -> Position { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | fn rotate(&self) -> Direction { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MazeCell` is never used [INFO] [stdout] --> src/advent6.rs:40:6 [INFO] [stdout] | [INFO] [stdout] 40 | enum MazeCell { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Position` is never constructed [INFO] [stdout] --> src/advent6.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | struct Position { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `new_i32`, and `add` are never used [INFO] [stdout] --> src/advent6.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 52 | impl Position { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 53 | fn new(x: usize, y: usize) -> Position { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn new_i32(x: i32, y: i32) -> Position { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn add(&self, other: Position) -> Position { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GuardState` is never constructed [INFO] [stdout] --> src/advent6.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | struct GuardState { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_char` is never used [INFO] [stdout] --> src/advent6.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl MazeCell { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 79 | fn from_char(c: char) -> MazeCell { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Maze` is never used [INFO] [stdout] --> src/advent6.rs:94:6 [INFO] [stdout] | [INFO] [stdout] 94 | type Maze = Vec>; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_position_valid` is never used [INFO] [stdout] --> src/advent6.rs:96:4 [INFO] [stdout] | [INFO] [stdout] 96 | fn is_position_valid(m: &Maze, p: &Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_maze_lines` is never used [INFO] [stdout] --> src/advent6.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn read_maze_lines(filename: &str) -> Maze { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_guard` is never used [INFO] [stdout] --> src/advent6.rs:112:4 [INFO] [stdout] | [INFO] [stdout] 112 | fn find_guard(m: &Maze) -> GuardState { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `move_guard_single` is never used [INFO] [stdout] --> src/advent6.rs:127:4 [INFO] [stdout] | [INFO] [stdout] 127 | fn move_guard_single(m: &mut Maze, guard: &GuardState) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `move_guard_until_stop` is never used [INFO] [stdout] --> src/advent6.rs:154:4 [INFO] [stdout] | [INFO] [stdout] 154 | fn move_guard_until_stop( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `useful_barrier_location` is never used [INFO] [stdout] --> src/advent6.rs:174:4 [INFO] [stdout] | [INFO] [stdout] 174 | fn useful_barrier_location( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extrapolate_backwards` is never used [INFO] [stdout] --> src/advent6.rs:202:4 [INFO] [stdout] | [INFO] [stdout] 202 | fn extrapolate_backwards(m: &mut Maze, guard_states: &Vec, extrapolated_states: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `move_guard_until_exit` is never used [INFO] [stdout] --> src/advent6.rs:236:4 [INFO] [stdout] | [INFO] [stdout] 236 | fn move_guard_until_exit(m: &mut Maze, guard: GuardState) -> (Vec, u32, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `barrier_locations` [INFO] [stdout] --> src/advent6.rs:336:31 [INFO] [stdout] | [INFO] [stdout] 336 | let (guard_states, moves, barrier_locations) = move_guard_until_exit(&mut maze, guard_state); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_barrier_locations` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `barrier_locations` [INFO] [stdout] --> src/advent6.rs:352:31 [INFO] [stdout] | [INFO] [stdout] 352 | let (guard_states, moves, barrier_locations) = move_guard_until_exit(&mut maze, guard_state); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_barrier_locations` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advent1a` is never used [INFO] [stdout] --> src/advent1.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn advent1a() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrInfo` is never constructed [INFO] [stdout] --> src/advent2.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct ErrInfo { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_lines` is never used [INFO] [stdout] --> src/advent2.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn read_lines(filename: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `safe_levels` is never used [INFO] [stdout] --> src/advent2.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn safe_levels(levels: &Vec) -> Result<(), ErrInfo> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `safe_levels_problem_dampner` is never used [INFO] [stdout] --> src/advent2.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn safe_levels_problem_dampner(levels: &Vec) -> Result<(), ErrInfo> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advent2a` is never used [INFO] [stdout] --> src/advent2.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn advent2a() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advent2b` is never used [INFO] [stdout] --> src/advent2.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn advent2b() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrInfo` is never constructed [INFO] [stdout] --> src/advent3.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | struct ErrInfo { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_lines` is never used [INFO] [stdout] --> src/advent3.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn read_lines(filename: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advent3a` is never used [INFO] [stdout] --> src/advent3.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn advent3a() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advent3b` is never used [INFO] [stdout] --> src/advent3.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn advent3b() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `move_guard_until_stop` is never used [INFO] [stdout] --> src/advent6.rs:154:4 [INFO] [stdout] | [INFO] [stdout] 154 | fn move_guard_until_stop( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.68s [INFO] running `Command { std: "docker" "inspect" "28f4b586306521a4ce9a1dc40eaba93bcc50e1863f980b4908ef8c07c9a3c55c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "28f4b586306521a4ce9a1dc40eaba93bcc50e1863f980b4908ef8c07c9a3c55c", kill_on_drop: false }` [INFO] [stdout] 28f4b586306521a4ce9a1dc40eaba93bcc50e1863f980b4908ef8c07c9a3c55c