[INFO] cloning repository https://github.com/khouari1/aoc-23-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/khouari1/aoc-23-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhouari1%2Faoc-23-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhouari1%2Faoc-23-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6de5ad1f5f60244c4c52a094b05a99a5f5d10f2f [INFO] building khouari1/aoc-23-rust 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%2Fkhouari1%2Faoc-23-rust" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/khouari1/aoc-23-rust 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] removed /workspace/builds/worker-0-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/khouari1/aoc-23-rust [INFO] finished tweaking git repo https://github.com/khouari1/aoc-23-rust [INFO] tweaked toml for git repo https://github.com/khouari1/aoc-23-rust written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/khouari1/aoc-23-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] a1bc02f3ed70901ac85c298f6fe64a794d58a7d36f60cb013e9cf77cc4be9fd2 [INFO] running `Command { std: "docker" "start" "-a" "a1bc02f3ed70901ac85c298f6fe64a794d58a7d36f60cb013e9cf77cc4be9fd2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a1bc02f3ed70901ac85c298f6fe64a794d58a7d36f60cb013e9cf77cc4be9fd2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a1bc02f3ed70901ac85c298f6fe64a794d58a7d36f60cb013e9cf77cc4be9fd2", kill_on_drop: false }` [INFO] [stdout] a1bc02f3ed70901ac85c298f6fe64a794d58a7d36f60cb013e9cf77cc4be9fd2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 8dd12d25719fa5f68f545ec1a3ccd76f10945d1cc642cb7efff939ac76c6e5be [INFO] running `Command { std: "docker" "start" "-a" "8dd12d25719fa5f68f545ec1a3ccd76f10945d1cc642cb7efff939ac76c6e5be", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.17 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling num-bigint v0.4.4 [INFO] [stderr] Compiling num-iter v0.1.43 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Compiling pico-args v0.5.0 [INFO] [stderr] Compiling num-complex v0.4.4 [INFO] [stderr] Compiling num v0.4.1 [INFO] [stderr] Compiling advent_of_code v0.9.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `map_type` is never read [INFO] [stdout] --> src/bin/05.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | struct AlmanacMap { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 23 | map_type: AlmanacMapType, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlmanacMap` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/bin/10.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hash::Hash` [INFO] [stdout] --> src/bin/10.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::hash::Hash; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `found_pipe` is never read [INFO] [stdout] --> src/bin/10.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | found_pipe = true; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/10.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let mut current_x = pipe_coord.0; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/10.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | let mut current_y = pipe_coord.1; [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/bin/10.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let mut prev_x = previous_pipe_coord.0; [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/bin/10.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | let mut prev_y = previous_pipe_coord.1; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/bin/08.rs:12:40 [INFO] [stdout] | [INFO] [stdout] 12 | let key = parts.get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/bin/08.rs:53:40 [INFO] [stdout] | [INFO] [stdout] 53 | let key = parts.get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/bin/08.rs:76:64 [INFO] [stdout] | [INFO] [stdout] 76 | let current_pos = current_positions.get(j).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `steps` is assigned to, but never used [INFO] [stdout] --> src/bin/10.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | let mut steps: usize = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_steps` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `found_pipe` is never read [INFO] [stdout] --> src/bin/10.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | found_pipe = true; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `actual_s` [INFO] [stdout] --> src/bin/10.rs:231:17 [INFO] [stdout] | [INFO] [stdout] 231 | let mut actual_s = ""; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `in_pipe` [INFO] [stdout] --> src/bin/10.rs:300:17 [INFO] [stdout] | [INFO] [stdout] 300 | let mut in_pipe = false; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_pipe` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp` [INFO] [stdout] --> src/bin/10.rs:301:17 [INFO] [stdout] | [INFO] [stdout] 301 | let mut temp = 0; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_temp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dashes` [INFO] [stdout] --> src/bin/10.rs:303:21 [INFO] [stdout] | [INFO] [stdout] 303 | let mut dashes = 0; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_dashes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/10.rs:222:13 [INFO] [stdout] | [INFO] [stdout] 222 | let mut current_x = pipe_coord.0; [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/bin/10.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | let mut current_y = pipe_coord.1; [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/bin/10.rs:224:13 [INFO] [stdout] | [INFO] [stdout] 224 | let mut prev_x = previous_pipe_coord.0; [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/bin/10.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | let mut prev_y = previous_pipe_coord.1; [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/bin/10.rs:231:13 [INFO] [stdout] | [INFO] [stdout] 231 | let mut actual_s = ""; [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/bin/10.rs:300:13 [INFO] [stdout] | [INFO] [stdout] 300 | let mut in_pipe = false; [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/bin/10.rs:301:13 [INFO] [stdout] | [INFO] [stdout] 301 | let mut temp = 0; [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/bin/10.rs:303:17 [INFO] [stdout] | [INFO] [stdout] 303 | let mut dashes = 0; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_pipe2` is never used [INFO] [stdout] --> src/bin/10.rs:147:4 [INFO] [stdout] | [INFO] [stdout] 147 | fn is_pipe2(point: &str) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/bin/03.rs:267:19 [INFO] [stdout] | [INFO] [stdout] 267 | .filter(|(k, v)| v.len() > 1) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/bin/03.rs:268:16 [INFO] [stdout] | [INFO] [stdout] 268 | .map(|(k, v)| v.clone().into_iter().reduce(|a, b| a * b)) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/03.rs:247:29 [INFO] [stdout] | [INFO] [stdout] 247 | let mut v = gears.entry((*x, *y)).or_default(); [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/bin/03.rs:260:21 [INFO] [stdout] | [INFO] [stdout] 260 | let mut v = gears.entry((*x, *y)).or_default(); [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/bin/12.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | let mut first_n_hash = *record.get(index_in_record).unwrap() == "#"; [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/bin/12.rs:101:13 [INFO] [stdout] | [INFO] [stdout] 101 | let mut record = parts.get(0).unwrap().split("").filter(|s| !s.is_empty()).collect::>(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/12.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | let mut numbers = parts.get(1).unwrap().split(",").map(|s| s.parse::().unwrap()).collect::>(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.46s [INFO] running `Command { std: "docker" "inspect" "8dd12d25719fa5f68f545ec1a3ccd76f10945d1cc642cb7efff939ac76c6e5be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8dd12d25719fa5f68f545ec1a3ccd76f10945d1cc642cb7efff939ac76c6e5be", kill_on_drop: false }` [INFO] [stdout] 8dd12d25719fa5f68f545ec1a3ccd76f10945d1cc642cb7efff939ac76c6e5be [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 58366d080c45eb593d228b2ecd48b998c3601a27a232773f1be0ca2d23d64c7d [INFO] running `Command { std: "docker" "start" "-a" "58366d080c45eb593d228b2ecd48b998c3601a27a232773f1be0ca2d23d64c7d", kill_on_drop: false }` [INFO] [stderr] Compiling advent_of_code v0.9.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `map_type` is never read [INFO] [stdout] --> src/bin/05.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | struct AlmanacMap { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 23 | map_type: AlmanacMapType, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AlmanacMap` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/bin/08.rs:12:40 [INFO] [stdout] | [INFO] [stdout] 12 | let key = parts.get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/bin/08.rs:53:40 [INFO] [stdout] | [INFO] [stdout] 53 | let key = parts.get(0).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/bin/08.rs:76:64 [INFO] [stdout] | [INFO] [stdout] 76 | let current_pos = current_positions.get(j).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/bin/10.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hash::Hash` [INFO] [stdout] --> src/bin/10.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::hash::Hash; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `found_pipe` is never read [INFO] [stdout] --> src/bin/10.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | found_pipe = true; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/10.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let mut current_x = pipe_coord.0; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/10.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | let mut current_y = pipe_coord.1; [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/bin/10.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let mut prev_x = previous_pipe_coord.0; [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/bin/10.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | let mut prev_y = previous_pipe_coord.1; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `steps` is assigned to, but never used [INFO] [stdout] --> src/bin/10.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | let mut steps: usize = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_steps` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `found_pipe` is never read [INFO] [stdout] --> src/bin/10.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | found_pipe = true; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `actual_s` [INFO] [stdout] --> src/bin/10.rs:231:17 [INFO] [stdout] | [INFO] [stdout] 231 | let mut actual_s = ""; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `in_pipe` [INFO] [stdout] --> src/bin/10.rs:300:17 [INFO] [stdout] | [INFO] [stdout] 300 | let mut in_pipe = false; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_pipe` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp` [INFO] [stdout] --> src/bin/10.rs:301:17 [INFO] [stdout] | [INFO] [stdout] 301 | let mut temp = 0; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_temp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dashes` [INFO] [stdout] --> src/bin/10.rs:303:21 [INFO] [stdout] | [INFO] [stdout] 303 | let mut dashes = 0; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_dashes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/10.rs:222:13 [INFO] [stdout] | [INFO] [stdout] 222 | let mut current_x = pipe_coord.0; [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/bin/10.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | let mut current_y = pipe_coord.1; [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/bin/10.rs:224:13 [INFO] [stdout] | [INFO] [stdout] 224 | let mut prev_x = previous_pipe_coord.0; [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/bin/10.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | let mut prev_y = previous_pipe_coord.1; [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/bin/10.rs:231:13 [INFO] [stdout] | [INFO] [stdout] 231 | let mut actual_s = ""; [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/bin/10.rs:300:13 [INFO] [stdout] | [INFO] [stdout] 300 | let mut in_pipe = false; [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/bin/10.rs:301:13 [INFO] [stdout] | [INFO] [stdout] 301 | let mut temp = 0; [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/bin/10.rs:303:17 [INFO] [stdout] | [INFO] [stdout] 303 | let mut dashes = 0; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_pipe2` is never used [INFO] [stdout] --> src/bin/10.rs:147:4 [INFO] [stdout] | [INFO] [stdout] 147 | fn is_pipe2(point: &str) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/bin/03.rs:267:19 [INFO] [stdout] | [INFO] [stdout] 267 | .filter(|(k, v)| v.len() > 1) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/bin/03.rs:268:16 [INFO] [stdout] | [INFO] [stdout] 268 | .map(|(k, v)| v.clone().into_iter().reduce(|a, b| a * b)) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/03.rs:247:29 [INFO] [stdout] | [INFO] [stdout] 247 | let mut v = gears.entry((*x, *y)).or_default(); [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/bin/03.rs:260:21 [INFO] [stdout] | [INFO] [stdout] 260 | let mut v = gears.entry((*x, *y)).or_default(); [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/bin/12.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | let mut first_n_hash = *record.get(index_in_record).unwrap() == "#"; [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/bin/12.rs:101:13 [INFO] [stdout] | [INFO] [stdout] 101 | let mut record = parts.get(0).unwrap().split("").filter(|s| !s.is_empty()).collect::>(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/12.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | let mut numbers = parts.get(1).unwrap().split(",").map(|s| s.parse::().unwrap()).collect::>(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.60s [INFO] running `Command { std: "docker" "inspect" "58366d080c45eb593d228b2ecd48b998c3601a27a232773f1be0ca2d23d64c7d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "58366d080c45eb593d228b2ecd48b998c3601a27a232773f1be0ca2d23d64c7d", kill_on_drop: false }` [INFO] [stdout] 58366d080c45eb593d228b2ecd48b998c3601a27a232773f1be0ca2d23d64c7d