[INFO] cloning repository https://github.com/kyegupov/aoc2021 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kyegupov/aoc2021" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkyegupov%2Faoc2021", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkyegupov%2Faoc2021'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] af35b6f64384a084110ffc985b6feb48b0fa200c [INFO] building kyegupov/aoc2021 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%2Fkyegupov%2Faoc2021" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/kyegupov/aoc2021 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/kyegupov/aoc2021 [INFO] finished tweaking git repo https://github.com/kyegupov/aoc2021 [INFO] tweaked toml for git repo https://github.com/kyegupov/aoc2021 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/kyegupov/aoc2021 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-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 74c926948c11ef9c76e4d2b08e029533d81bd6523cd7cfa69ee1bf9f063bba42 [INFO] running `Command { std: "docker" "start" "-a" "74c926948c11ef9c76e4d2b08e029533d81bd6523cd7cfa69ee1bf9f063bba42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "74c926948c11ef9c76e4d2b08e029533d81bd6523cd7cfa69ee1bf9f063bba42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "74c926948c11ef9c76e4d2b08e029533d81bd6523cd7cfa69ee1bf9f063bba42", kill_on_drop: false }` [INFO] [stdout] 74c926948c11ef9c76e4d2b08e029533d81bd6523cd7cfa69ee1bf9f063bba42 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 7932c478d6faa888e2bf619c003197a195e6236b947021c5bea31c3c6fb4bbdc [INFO] running `Command { std: "docker" "start" "-a" "7932c478d6faa888e2bf619c003197a195e6236b947021c5bea31c3c6fb4bbdc", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling maplit v1.0.2 [INFO] [stderr] Compiling itertools v0.10.1 [INFO] [stderr] Compiling nom v7.1.1 [INFO] [stderr] Compiling aoc2021 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main11b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/main04b.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | 'out: for n in numbers { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::panic` [INFO] [stdout] --> src/main25.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::panic; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main07a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main25.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `is_a` and `tag` [INFO] [stdout] --> src/main25.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::bytes::complete::{is_a, tag}; [INFO] [stdout] | ^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main07a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1` and `digit0` [INFO] [stdout] --> src/main25.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use nom::character::complete::{alpha1, digit0}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `map_res` and `map` [INFO] [stdout] --> src/main25.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use nom::combinator::{map, map_res}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::error` [INFO] [stdout] --> src/main25.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use nom::error; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet` [INFO] [stdout] --> src/main07a.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `preceded`, `terminated`, and `tuple` [INFO] [stdout] --> src/main25.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | use nom::sequence::{preceded, terminated, tuple}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main25.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main07a.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | let mut range = (*crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap()); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 15 - let mut range = (*crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap()); [INFO] [stdout] 15 + let mut range = *crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main25.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt` [INFO] [stdout] --> src/main25.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | use std::{env, fmt}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main09b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `maplit::btreeset` [INFO] [stdout] --> src/main09b.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use maplit::btreeset; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeSet` [INFO] [stdout] --> src/main09b.rs:4:34 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main02a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main11b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main17a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main17a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, and `LinkedList` [INFO] [stdout] --> src/main17a.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::read_to_string` [INFO] [stdout] --> src/main17a.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::read_to_string; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main13a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `part2` [INFO] [stdout] --> src/main25.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let part2 = env::args().any(|x| x == "2"); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_part2` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main10a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeMap` [INFO] [stdout] --> src/main13a.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main03b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet` [INFO] [stdout] --> src/main10a.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main07a.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let mut crabs: Vec = lines[0].split(',').map(|x| x.parse().unwrap()).collect(); [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/main07a.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let mut range = (*crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap()); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice::SliceIndex` [INFO] [stdout] --> src/main09b.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::slice::SliceIndex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main10a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dirs` [INFO] [stdout] --> src/main09b.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let dirs = [(1isize, 0isize), (0, 1), (-1, 0), (0, -1)]; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_dirs` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/main09b.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut res = 0; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/main09b.rs:73:10 [INFO] [stdout] | [INFO] [stdout] 73 | for (k, b) in basins.iter() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main20b.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::character::complete::digit0` [INFO] [stdout] --> src/main20b.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::character::complete::digit0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::map` [INFO] [stdout] --> src/main20b.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::combinator::map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main20b.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main20b.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/main20b.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main09b.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let mut res = 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: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main18a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main18a.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main13b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main06a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main06a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet` [INFO] [stdout] --> src/main06a.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, and `LinkedList` [INFO] [stdout] --> src/main18a.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeMap` [INFO] [stdout] --> src/main13b.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Orientation` is never used [INFO] [stdout] --> src/main20b.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type Orientation = ((usize, usize, usize), Coords); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Coords` is never used [INFO] [stdout] --> src/main20b.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type Coords = (i64, i64, i64); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main14a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeSet` and `LinkedList` [INFO] [stdout] --> src/main14a.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main09a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main09a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeSet` [INFO] [stdout] --> src/main09a.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main11a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main10b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet` [INFO] [stdout] --> src/main10b.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main14b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main10b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main11a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeSet` and `LinkedList` [INFO] [stdout] --> src/main14b.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `score` [INFO] [stdout] --> src/main10b.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let score = [3, 57, 1197, 25137]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_score` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `res` is never read [INFO] [stdout] --> src/main10b.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | let mut res = 0; [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: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main12b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main12b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&String` instead of cloning the inner type [INFO] [stdout] --> src/main12b.rs:22:40 [INFO] [stdout] | [INFO] [stdout] 22 | .filter(|x| visited_small.get(x.clone()).unwrap_or(&0) < &limit) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main16a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main16a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, and `LinkedList` [INFO] [stdout] --> src/main16a.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main16b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main16b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, and `LinkedList` [INFO] [stdout] --> src/main16b.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main18b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main18b.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, and `LinkedList` [INFO] [stdout] --> src/main18b.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main12a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/main01a.rs:2:31 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::{read_to_string, File}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/main01a.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, BufRead}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/main01a.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main12a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> src/main01a.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, BufRead}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main18b.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | let mut nums: VecDeque = read_to_string("input18.txt")? [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: using `.clone()` on a double reference, which returns `&String` instead of cloning the inner type [INFO] [stdout] --> src/main12a.rs:20:46 [INFO] [stdout] | [INFO] [stdout] 20 | .filter(|x| !visited_small.contains(x.clone())) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main06b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main06b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeSet` [INFO] [stdout] --> src/main06b.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main17b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main17b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BinaryHeap`, and `LinkedList` [INFO] [stdout] --> src/main17b.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::read_to_string` [INFO] [stdout] --> src/main17b.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::read_to_string; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `best` is never read [INFO] [stdout] --> src/main17b.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | let mut best = (0, 0); [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: unused `#[macro_use]` import [INFO] [stdout] --> src/main08b.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main08b.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main20a.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::character::complete::digit0` [INFO] [stdout] --> src/main20a.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::character::complete::digit0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::map` [INFO] [stdout] --> src/main20a.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::combinator::map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main20a.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main20a.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/main20a.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main19b.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::character::complete::digit0` [INFO] [stdout] --> src/main19b.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::character::complete::digit0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::map` [INFO] [stdout] --> src/main19b.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::combinator::map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main19b.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main19b.rs:6:44 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/main19b.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/main19b.rs:124:52 [INFO] [stdout] | [INFO] [stdout] 124 | ... conversions.insert((i2), (i1, *orientation, offs)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 124 - conversions.insert((i2), (i1, *orientation, offs)); [INFO] [stdout] 124 + conversions.insert(i2, (i1, *orientation, offs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Orientation` is never used [INFO] [stdout] --> src/main20a.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type Orientation = ((usize, usize, usize), Coords); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Coords` is never used [INFO] [stdout] --> src/main20a.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type Coords = (i64, i64, i64); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main22.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `digit0` [INFO] [stdout] --> src/main22.rs:4:40 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::character::complete::{alpha1, digit0}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main22.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main22.rs:9:44 [INFO] [stdout] | [INFO] [stdout] 9 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt` [INFO] [stdout] --> src/main22.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | use std::{env, fmt}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main23.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `is_a` and `tag` [INFO] [stdout] --> src/main23.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::bytes::complete::{is_a, tag}; [INFO] [stdout] | ^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1` and `digit0` [INFO] [stdout] --> src/main23.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use nom::character::complete::{alpha1, digit0}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `map_res` and `map` [INFO] [stdout] --> src/main23.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use nom::combinator::{map, map_res}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::error` [INFO] [stdout] --> src/main23.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use nom::error; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `preceded`, `terminated`, and `tuple` [INFO] [stdout] --> src/main23.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | use nom::sequence::{preceded, terminated, tuple}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main23.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeSet`, `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main23.rs:10:34 [INFO] [stdout] | [INFO] [stdout] 10 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt` [INFO] [stdout] --> src/main23.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | use std::{env, fmt}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main23.rs:45:24 [INFO] [stdout] | [INFO] [stdout] 45 | let c = if (y > 0 && !matches!(x, 2 | 4 | 6 | 8)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - let c = if (y > 0 && !matches!(x, 2 | 4 | 6 | 8)) { [INFO] [stdout] 45 + let c = if y > 0 && !matches!(x, 2 | 4 | 6 | 8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main22.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main22.rs:33:10 [INFO] [stdout] | [INFO] [stdout] 33 | for (i, line) in read_to_string("input22.txt")?.lines().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main23.rs:72:51 [INFO] [stdout] | [INFO] [stdout] 72 | for (&(x, y), &c) in ps.iter().filter(|(&(x, y), &c)| y == 0) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/main23.rs:72:59 [INFO] [stdout] | [INFO] [stdout] 72 | for (&(x, y), &c) in ps.iter().filter(|(&(x, y), &c)| y == 0) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main23.rs:97:55 [INFO] [stdout] | [INFO] [stdout] 97 | for (&(x, y), &c) in ps.iter().filter(|(&(x, y), &c)| y > 0) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/main23.rs:97:63 [INFO] [stdout] | [INFO] [stdout] 97 | for (&(x, y), &c) in ps.iter().filter(|(&(x, y), &c)| y > 0) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main24.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `is_a` and `tag` [INFO] [stdout] --> src/main24.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::bytes::complete::{is_a, tag}; [INFO] [stdout] | ^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1` and `digit0` [INFO] [stdout] --> src/main24.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use nom::character::complete::{alpha1, digit0}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `map_res` and `map` [INFO] [stdout] --> src/main24.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use nom::combinator::{map, map_res}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::error` [INFO] [stdout] --> src/main24.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use nom::error; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `preceded`, `terminated`, and `tuple` [INFO] [stdout] --> src/main24.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | use nom::sequence::{preceded, terminated, tuple}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main24.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeSet`, `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main24.rs:10:34 [INFO] [stdout] | [INFO] [stdout] 10 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt` [INFO] [stdout] --> src/main24.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | use std::{env, fmt}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around `if` condition [INFO] [stdout] --> src/main24.rs:90:32 [INFO] [stdout] | [INFO] [stdout] 90 | ... if { val(&state, w, Operand::Reg(cmd.op1)) == val(&state, w, cmd.op2) } [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 90 - if { val(&state, w, Operand::Reg(cmd.op1)) == val(&state, w, cmd.op2) } [INFO] [stdout] 90 + if val(&state, w, Operand::Reg(cmd.op1)) == val(&state, w, cmd.op2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print` is never used [INFO] [stdout] --> src/main23.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn print(p: &Positions, maxy: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/main19b.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | for offset in 0..3 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s1` [INFO] [stdout] --> src/main19b.rs:146:14 [INFO] [stdout] | [INFO] [stdout] 146 | for (i1, s1) in scanners.iter().enumerate() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main15b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main15b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeSet` and `LinkedList` [INFO] [stdout] --> src/main15b.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeSet` [INFO] [stdout] --> src/main05a.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main15a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main15a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeSet` and `LinkedList` [INFO] [stdout] --> src/main15a.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main19a.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::character::complete::digit0` [INFO] [stdout] --> src/main19a.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::character::complete::digit0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::map` [INFO] [stdout] --> src/main19a.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::combinator::map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main19a.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main19a.rs:6:44 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/main19a.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/main19a.rs:124:52 [INFO] [stdout] | [INFO] [stdout] 124 | ... conversions.insert((i2), (i1, *orientation, offs)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 124 - conversions.insert((i2), (i1, *orientation, offs)); [INFO] [stdout] 124 + conversions.insert(i2, (i1, *orientation, offs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main02b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main21a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main21a.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::character::complete::digit0` [INFO] [stdout] --> src/main21a.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::character::complete::digit0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::map` [INFO] [stdout] --> src/main21a.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::combinator::map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering` and `max` [INFO] [stdout] --> src/main21a.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main21a.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/main21a.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/main19a.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | for offset in 0..3 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main21a.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | for i in 0..3 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main21a.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | for i in 0..3 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Orientation` is never used [INFO] [stdout] --> src/main21a.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type Orientation = ((usize, usize, usize), Coords); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Coords` is never used [INFO] [stdout] --> src/main21a.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type Coords = (i64, i64, i64); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeSet` [INFO] [stdout] --> src/main05b.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main08a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main08a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet` [INFO] [stdout] --> src/main08a.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main21b.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::character::complete::digit0` [INFO] [stdout] --> src/main21b.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::character::complete::digit0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::map` [INFO] [stdout] --> src/main21b.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::combinator::map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering` and `min` [INFO] [stdout] --> src/main21b.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeSet`, `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main21b.rs:6:34 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/main21b.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main07b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main07b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet` [INFO] [stdout] --> src/main07b.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main07b.rs:17:21 [INFO] [stdout] | [INFO] [stdout] 17 | let mut range = (*crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap()); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 17 - let mut range = (*crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap()); [INFO] [stdout] 17 + let mut range = *crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main07b.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let mut crabs: Vec = lines[0].split(',').map(|x| x.parse().unwrap()).collect(); [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/main07b.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let mut range = (*crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap()); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.16s [INFO] running `Command { std: "docker" "inspect" "7932c478d6faa888e2bf619c003197a195e6236b947021c5bea31c3c6fb4bbdc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7932c478d6faa888e2bf619c003197a195e6236b947021c5bea31c3c6fb4bbdc", kill_on_drop: false }` [INFO] [stdout] 7932c478d6faa888e2bf619c003197a195e6236b947021c5bea31c3c6fb4bbdc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 34ccb0ec67b4db033660804911e0650acd86ac1fba48d2439f92a7040b9021f0 [INFO] running `Command { std: "docker" "start" "-a" "34ccb0ec67b4db033660804911e0650acd86ac1fba48d2439f92a7040b9021f0", kill_on_drop: false }` [INFO] [stderr] Compiling aoc2021 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main14b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main18a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main18a.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, and `LinkedList` [INFO] [stdout] --> src/main18a.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeSet` and `LinkedList` [INFO] [stdout] --> src/main14b.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main16a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main16a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, and `LinkedList` [INFO] [stdout] --> src/main16a.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main14a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main02a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main23.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `is_a` and `tag` [INFO] [stdout] --> src/main23.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::bytes::complete::{is_a, tag}; [INFO] [stdout] | ^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1` and `digit0` [INFO] [stdout] --> src/main23.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use nom::character::complete::{alpha1, digit0}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeSet` and `LinkedList` [INFO] [stdout] --> src/main14a.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `map_res` and `map` [INFO] [stdout] --> src/main23.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use nom::combinator::{map, map_res}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::error` [INFO] [stdout] --> src/main23.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use nom::error; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `preceded`, `terminated`, and `tuple` [INFO] [stdout] --> src/main23.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | use nom::sequence::{preceded, terminated, tuple}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main23.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeSet`, `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main23.rs:10:34 [INFO] [stdout] | [INFO] [stdout] 10 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt` [INFO] [stdout] --> src/main23.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | use std::{env, fmt}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main23.rs:45:24 [INFO] [stdout] | [INFO] [stdout] 45 | let c = if (y > 0 && !matches!(x, 2 | 4 | 6 | 8)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - let c = if (y > 0 && !matches!(x, 2 | 4 | 6 | 8)) { [INFO] [stdout] 45 + let c = if y > 0 && !matches!(x, 2 | 4 | 6 | 8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeSet` [INFO] [stdout] --> src/main05b.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main16b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main16b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, and `LinkedList` [INFO] [stdout] --> src/main16b.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main18b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main09a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main09a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeSet` [INFO] [stdout] --> src/main09a.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main18b.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, and `LinkedList` [INFO] [stdout] --> src/main18b.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main10b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main07b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main07b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main08b.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main08b.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main21b.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::character::complete::digit0` [INFO] [stdout] --> src/main21b.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::character::complete::digit0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::map` [INFO] [stdout] --> src/main21b.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::combinator::map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering` and `min` [INFO] [stdout] --> src/main21b.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeSet`, `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main21b.rs:6:34 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/main21b.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet` [INFO] [stdout] --> src/main07b.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main07b.rs:17:21 [INFO] [stdout] | [INFO] [stdout] 17 | let mut range = (*crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap()); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 17 - let mut range = (*crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap()); [INFO] [stdout] 17 + let mut range = *crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main23.rs:72:51 [INFO] [stdout] | [INFO] [stdout] 72 | for (&(x, y), &c) in ps.iter().filter(|(&(x, y), &c)| y == 0) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/main23.rs:72:59 [INFO] [stdout] | [INFO] [stdout] 72 | for (&(x, y), &c) in ps.iter().filter(|(&(x, y), &c)| y == 0) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main23.rs:97:55 [INFO] [stdout] | [INFO] [stdout] 97 | for (&(x, y), &c) in ps.iter().filter(|(&(x, y), &c)| y > 0) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/main23.rs:97:63 [INFO] [stdout] | [INFO] [stdout] 97 | for (&(x, y), &c) in ps.iter().filter(|(&(x, y), &c)| y > 0) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet` [INFO] [stdout] --> src/main10b.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print` is never used [INFO] [stdout] --> src/main23.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn print(p: &Positions, maxy: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main10b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `score` [INFO] [stdout] --> src/main10b.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let score = [3, 57, 1197, 25137]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_score` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `res` is never read [INFO] [stdout] --> src/main10b.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | let mut res = 0; [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/main07b.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let mut crabs: Vec = lines[0].split(',').map(|x| x.parse().unwrap()).collect(); [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/main07b.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let mut range = (*crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap()); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main18b.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | let mut nums: VecDeque = read_to_string("input18.txt")? [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main13b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeMap` [INFO] [stdout] --> src/main13b.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main02b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main12b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main12b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main15b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main15b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeSet` and `LinkedList` [INFO] [stdout] --> src/main15b.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::panic` [INFO] [stdout] --> src/main25.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::panic; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&String` instead of cloning the inner type [INFO] [stdout] --> src/main12b.rs:22:40 [INFO] [stdout] | [INFO] [stdout] 22 | .filter(|x| visited_small.get(x.clone()).unwrap_or(&0) < &limit) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main25.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `is_a` and `tag` [INFO] [stdout] --> src/main25.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::bytes::complete::{is_a, tag}; [INFO] [stdout] | ^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1` and `digit0` [INFO] [stdout] --> src/main25.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use nom::character::complete::{alpha1, digit0}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `map_res` and `map` [INFO] [stdout] --> src/main25.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use nom::combinator::{map, map_res}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::error` [INFO] [stdout] --> src/main25.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use nom::error; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `preceded`, `terminated`, and `tuple` [INFO] [stdout] --> src/main25.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | use nom::sequence::{preceded, terminated, tuple}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main25.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main25.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt` [INFO] [stdout] --> src/main25.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | use std::{env, fmt}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `part2` [INFO] [stdout] --> src/main25.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let part2 = env::args().any(|x| x == "2"); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_part2` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main20b.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::character::complete::digit0` [INFO] [stdout] --> src/main20b.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::character::complete::digit0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::map` [INFO] [stdout] --> src/main20b.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::combinator::map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main20b.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main20b.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/main20b.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main15a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main15a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeSet` and `LinkedList` [INFO] [stdout] --> src/main15a.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Orientation` is never used [INFO] [stdout] --> src/main20b.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type Orientation = ((usize, usize, usize), Coords); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Coords` is never used [INFO] [stdout] --> src/main20b.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type Coords = (i64, i64, i64); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main20a.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::character::complete::digit0` [INFO] [stdout] --> src/main20a.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::character::complete::digit0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::map` [INFO] [stdout] --> src/main20a.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::combinator::map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main20a.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main20a.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/main20a.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main17b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main17b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BinaryHeap`, and `LinkedList` [INFO] [stdout] --> src/main17b.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::read_to_string` [INFO] [stdout] --> src/main17b.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::read_to_string; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main22.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main24.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `best` is never read [INFO] [stdout] --> src/main17b.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | let mut best = (0, 0); [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: unused imports: `is_a` and `tag` [INFO] [stdout] --> src/main24.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::bytes::complete::{is_a, tag}; [INFO] [stdout] | ^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1` and `digit0` [INFO] [stdout] --> src/main24.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use nom::character::complete::{alpha1, digit0}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `map_res` and `map` [INFO] [stdout] --> src/main24.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use nom::combinator::{map, map_res}; [INFO] [stdout] | ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::error` [INFO] [stdout] --> src/main24.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use nom::error; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `preceded`, `terminated`, and `tuple` [INFO] [stdout] --> src/main24.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | use nom::sequence::{preceded, terminated, tuple}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main24.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeSet`, `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main24.rs:10:34 [INFO] [stdout] | [INFO] [stdout] 10 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Orientation` is never used [INFO] [stdout] --> src/main20a.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type Orientation = ((usize, usize, usize), Coords); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Coords` is never used [INFO] [stdout] --> src/main20a.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type Coords = (i64, i64, i64); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt` [INFO] [stdout] --> src/main24.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | use std::{env, fmt}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `digit0` [INFO] [stdout] --> src/main22.rs:4:40 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::character::complete::{alpha1, digit0}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main22.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main22.rs:9:44 [INFO] [stdout] | [INFO] [stdout] 9 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around `if` condition [INFO] [stdout] --> src/main24.rs:90:32 [INFO] [stdout] | [INFO] [stdout] 90 | ... if { val(&state, w, Operand::Reg(cmd.op1)) == val(&state, w, cmd.op2) } [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 90 - if { val(&state, w, Operand::Reg(cmd.op1)) == val(&state, w, cmd.op2) } [INFO] [stdout] 90 + if val(&state, w, Operand::Reg(cmd.op1)) == val(&state, w, cmd.op2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt` [INFO] [stdout] --> src/main22.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | use std::{env, fmt}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main11a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main06b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main11a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main12a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main06b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeSet` [INFO] [stdout] --> src/main06b.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main22.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main22.rs:33:10 [INFO] [stdout] | [INFO] [stdout] 33 | for (i, line) in read_to_string("input22.txt")?.lines().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main12a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeSet` [INFO] [stdout] --> src/main05a.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&String` instead of cloning the inner type [INFO] [stdout] --> src/main12a.rs:20:46 [INFO] [stdout] | [INFO] [stdout] 20 | .filter(|x| !visited_small.contains(x.clone())) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main13a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeMap` [INFO] [stdout] --> src/main13a.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main19b.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::character::complete::digit0` [INFO] [stdout] --> src/main19b.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::character::complete::digit0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::map` [INFO] [stdout] --> src/main19b.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::combinator::map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main19b.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main19b.rs:6:44 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/main19b.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/main19b.rs:124:52 [INFO] [stdout] | [INFO] [stdout] 124 | ... conversions.insert((i2), (i1, *orientation, offs)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 124 - conversions.insert((i2), (i1, *orientation, offs)); [INFO] [stdout] 124 + conversions.insert(i2, (i1, *orientation, offs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/main19b.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | for offset in 0..3 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s1` [INFO] [stdout] --> src/main19b.rs:146:14 [INFO] [stdout] | [INFO] [stdout] 146 | for (i1, s1) in scanners.iter().enumerate() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main08a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main08a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet` [INFO] [stdout] --> src/main08a.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main10a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet` [INFO] [stdout] --> src/main10a.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main10a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main07a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main07a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet` [INFO] [stdout] --> src/main07a.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main07a.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | let mut range = (*crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap()); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 15 - let mut range = (*crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap()); [INFO] [stdout] 15 + let mut range = *crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main06a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main06a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `BTreeSet` [INFO] [stdout] --> src/main06a.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/main01a.rs:2:31 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::{read_to_string, File}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/main01a.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, BufRead}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/main01a.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/main04b.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | 'out: for n in numbers { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> src/main01a.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, BufRead}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/main11b.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main07a.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let mut crabs: Vec = lines[0].split(',').map(|x| x.parse().unwrap()).collect(); [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/main07a.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let mut range = (*crabs.iter().min().unwrap()..=*crabs.iter().max().unwrap()); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main17a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main17a.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, and `LinkedList` [INFO] [stdout] --> src/main17a.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::read_to_string` [INFO] [stdout] --> src/main17a.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::read_to_string; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main03b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main11b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main19a.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::character::complete::digit0` [INFO] [stdout] --> src/main19a.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::character::complete::digit0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::map` [INFO] [stdout] --> src/main19a.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::combinator::map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering`, `max`, and `min` [INFO] [stdout] --> src/main19a.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main19a.rs:6:44 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/main19a.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/main19a.rs:124:52 [INFO] [stdout] | [INFO] [stdout] 124 | ... conversions.insert((i2), (i1, *orientation, offs)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 124 - conversions.insert((i2), (i1, *orientation, offs)); [INFO] [stdout] 124 + conversions.insert(i2, (i1, *orientation, offs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools as _` [INFO] [stdout] --> src/main09b.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools as _; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `maplit::btreeset` [INFO] [stdout] --> src/main09b.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use maplit::btreeset; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeSet` [INFO] [stdout] --> src/main09b.rs:4:34 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::{BTreeMap, BTreeSet}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main21a.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::branch::alt` [INFO] [stdout] --> src/main21a.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nom::branch::alt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::character::complete::digit0` [INFO] [stdout] --> src/main21a.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nom::character::complete::digit0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::map` [INFO] [stdout] --> src/main21a.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nom::combinator::map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ordering` and `max` [INFO] [stdout] --> src/main21a.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp::{max, min, Ordering}; [INFO] [stdout] | ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, `BinaryHeap`, `LinkedList`, and `VecDeque` [INFO] [stdout] --> src/main21a.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/main21a.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/main19a.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | for offset in 0..3 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main21a.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | for i in 0..3 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main21a.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | for i in 0..3 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Orientation` is never used [INFO] [stdout] --> src/main21a.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type Orientation = ((usize, usize, usize), Coords); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Coords` is never used [INFO] [stdout] --> src/main21a.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type Coords = (i64, i64, i64); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice::SliceIndex` [INFO] [stdout] --> src/main09b.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::slice::SliceIndex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dirs` [INFO] [stdout] --> src/main09b.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let dirs = [(1isize, 0isize), (0, 1), (-1, 0), (0, -1)]; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_dirs` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/main09b.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut res = 0; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/main09b.rs:73:10 [INFO] [stdout] | [INFO] [stdout] 73 | for (k, b) in basins.iter() { [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/main09b.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let mut res = 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] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.69s [INFO] running `Command { std: "docker" "inspect" "34ccb0ec67b4db033660804911e0650acd86ac1fba48d2439f92a7040b9021f0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "34ccb0ec67b4db033660804911e0650acd86ac1fba48d2439f92a7040b9021f0", kill_on_drop: false }` [INFO] [stdout] 34ccb0ec67b4db033660804911e0650acd86ac1fba48d2439f92a7040b9021f0