[INFO] cloning repository https://github.com/sim82/aoc2019 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sim82/aoc2019" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsim82%2Faoc2019", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsim82%2Faoc2019'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3f60ca1ef3993d59d8e5e491f84511f34ff34ee6 [INFO] testing sim82/aoc2019 against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsim82%2Faoc2019" "/workspace/builds/worker-82/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-82/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/sim82/aoc2019 on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/sim82/aoc2019 [INFO] finished tweaking git repo https://github.com/sim82/aoc2019 [INFO] tweaked toml for git repo https://github.com/sim82/aoc2019 written to /workspace/builds/worker-82/source/Cargo.toml [INFO] crate git repo https://github.com/sim82/aoc2019 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-82/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-82/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cdf566129fbd78db6c7c8830b45bb530edf70bcd99fbe0a9fa9a48f61403b8b4 [INFO] running `Command { std: "docker" "start" "-a" "cdf566129fbd78db6c7c8830b45bb530edf70bcd99fbe0a9fa9a48f61403b8b4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cdf566129fbd78db6c7c8830b45bb530edf70bcd99fbe0a9fa9a48f61403b8b4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cdf566129fbd78db6c7c8830b45bb530edf70bcd99fbe0a9fa9a48f61403b8b4", kill_on_drop: false }` [INFO] [stdout] cdf566129fbd78db6c7c8830b45bb530edf70bcd99fbe0a9fa9a48f61403b8b4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-82/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-82/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e6f8af779261b97568fa54cbb36131d831aacb833904a314740ac09402156e21 [INFO] running `Command { std: "docker" "start" "-a" "e6f8af779261b97568fa54cbb36131d831aacb833904a314740ac09402156e21", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.66 [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Compiling getrandom v0.1.13 [INFO] [stderr] Compiling ppv-lite86 v0.2.6 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Compiling either v1.5.3 [INFO] [stderr] Compiling fixedbitset v0.2.0 [INFO] [stderr] Compiling numtoa v0.1.0 [INFO] [stderr] Compiling permutohedron v0.2.4 [INFO] [stderr] Compiling smallvec v1.0.0 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling itertools v0.8.2 [INFO] [stderr] Compiling c2-chacha v0.2.3 [INFO] [stderr] Compiling num-traits v0.2.10 [INFO] [stderr] Compiling indexmap v1.3.0 [INFO] [stderr] Compiling termion v1.5.4 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.1 [INFO] [stderr] Compiling pathfinding v2.0.1 [INFO] [stderr] Compiling ctrlc v3.1.3 [INFO] [stderr] Compiling rand v0.7.2 [INFO] [stderr] Compiling aoc2019 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `pathfinding::prelude::dijkstra` [INFO] [stdout] --> src/graph.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use pathfinding::prelude::dijkstra; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/graph.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/graph.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::FromIterator` [INFO] [stdout] --> src/intcode.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::iter::FromIterator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::intcode::Io2` [INFO] [stdout] --> src/test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::intcode::Io2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/lib.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::intcode::*` [INFO] [stdout] --> src/test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::intcode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/lib.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `permutohedron::LexicalPermutation` [INFO] [stdout] --> src/test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use permutohedron::LexicalPermutation; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/lib.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `channel` [INFO] [stdout] --> src/test.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | use std::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/lib.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 50.87s [INFO] running `Command { std: "docker" "inspect" "e6f8af779261b97568fa54cbb36131d831aacb833904a314740ac09402156e21", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e6f8af779261b97568fa54cbb36131d831aacb833904a314740ac09402156e21", kill_on_drop: false }` [INFO] [stdout] e6f8af779261b97568fa54cbb36131d831aacb833904a314740ac09402156e21 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-82/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-82/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 38113e7fe0ac8c60fd1ea2fa8fd57ca4741aeea8d2f0a909ddaa227e8795e5ed [INFO] running `Command { std: "docker" "start" "-a" "38113e7fe0ac8c60fd1ea2fa8fd57ca4741aeea8d2f0a909ddaa227e8795e5ed", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `pathfinding::prelude::dijkstra` [INFO] [stdout] --> src/graph.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use pathfinding::prelude::dijkstra; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/graph.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/graph.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::FromIterator` [INFO] [stdout] --> src/intcode.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::iter::FromIterator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::intcode::Io2` [INFO] [stdout] --> src/test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::intcode::Io2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/lib.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::intcode::*` [INFO] [stdout] --> src/test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::intcode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/lib.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `permutohedron::LexicalPermutation` [INFO] [stdout] --> src/test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use permutohedron::LexicalPermutation; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/lib.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling aoc2019 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `channel` [INFO] [stdout] --> src/test.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | use std::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/lib.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> examples/part14.rs:178:12 [INFO] [stdout] | [INFO] [stdout] 178 | if (upper - lower <= 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 178 - if (upper - lower <= 1) { [INFO] [stdout] 178 + if upper - lower <= 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pathfinding::prelude::dijkstra` [INFO] [stdout] --> src/graph.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use pathfinding::prelude::dijkstra; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/graph.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/graph.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::FromIterator` [INFO] [stdout] --> src/intcode.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::iter::FromIterator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Receiver`, `Sender` [INFO] [stdout] --> src/test.rs:4:32 [INFO] [stdout] | [INFO] [stdout] 4 | use std::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/lib.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> examples/part25.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `channel` [INFO] [stdout] --> examples/part25.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::mpsc::{channel, Receiver}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pathfinding::directed::dijkstra` [INFO] [stdout] --> examples/termion_fun.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use pathfinding::directed::dijkstra; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pathfinding::prelude::dijkstra` [INFO] [stdout] --> examples/termion_fun.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use pathfinding::prelude::dijkstra; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pathfinding::prelude::fringe` [INFO] [stdout] --> examples/termion_fun.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use pathfinding::prelude::fringe; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sub` [INFO] [stdout] --> examples/part12.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Add, Sub}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::prelude::*` [INFO] [stdout] --> examples/termion_fun.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> examples/termion_fun.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stdin` [INFO] [stdout] --> examples/termion_fun.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | use std::io::{Stdin, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sender` [INFO] [stdout] --> examples/termion_fun.rs:11:42 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Keys` [INFO] [stdout] --> examples/termion_fun.rs:13:22 [INFO] [stdout] | [INFO] [stdout] 13 | use termion::input::{Keys, TermRead}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> examples/part24.rs:53:10 [INFO] [stdout] | [INFO] [stdout] 53 | for (i, pat) in PATTERN.iter().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: `VecDeque` [INFO] [stdout] --> examples/part23.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::{HashMap, VecDeque}; [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] --> examples/part2_1.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let mut data = line [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: include macro expected single expression in source [INFO] [stdout] --> examples/code23.int:1:2 [INFO] [stdout] | [INFO] [stdout] 1 | 3,62,1001,62,11,10,109,2229,105,1,0,2093,2165,1216,1505,789,1660,758,1693,2064,1183,602,2198,1759,950,1445,1117,1014,1280,2134,1379,851,1... [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(incomplete_include)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> examples/part5.rs:32:19 [INFO] [stdout] | [INFO] [stdout] 32 | while (modenum != 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 32 - while (modenum != 0) { [INFO] [stdout] 32 + while modenum != 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stdin` [INFO] [stdout] --> examples/part15.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{Stdin, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `termion::event::Key` [INFO] [stdout] --> examples/part15.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use termion::event::Key; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `termion::input::TermRead` [INFO] [stdout] --> examples/part15.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use termion::input::TermRead; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> examples/part5.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | input: &'a mut std::io::BufRead, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 9 - input: &'a mut std::io::BufRead, [INFO] [stdout] 9 + input: &'a mut dyn std::io::BufRead, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> examples/part5.rs:13:35 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn default(input: &'a mut std::io::BufRead) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 13 - pub fn default(input: &'a mut std::io::BufRead) -> Self { [INFO] [stdout] 13 + pub fn default(input: &'a mut dyn std::io::BufRead) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> examples/part13.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stdin` [INFO] [stdout] --> examples/part13.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::{Stdin, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `termion::event::Key` [INFO] [stdout] --> examples/part13.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use termion::event::Key; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> examples/part11.rs:107:45 [INFO] [stdout] | [INFO] [stdout] 107 | (&mut context, &mut painter as &mut Io2).run(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 107 - (&mut context, &mut painter as &mut Io2).run(); [INFO] [stdout] 107 + (&mut context, &mut painter as &mut dyn Io2).run(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> examples/part11.rs:116:45 [INFO] [stdout] | [INFO] [stdout] 116 | (&mut context, &mut painter as &mut Io2).run(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 116 - (&mut context, &mut painter as &mut Io2).run(); [INFO] [stdout] 116 + (&mut context, &mut painter as &mut dyn Io2).run(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> examples/part17.rs:145:44 [INFO] [stdout] | [INFO] [stdout] 145 | (&mut context, &mut camera as &mut Io2).run(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 145 - (&mut context, &mut camera as &mut Io2).run(); [INFO] [stdout] 145 + (&mut context, &mut camera as &mut dyn Io2).run(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> examples/part17.rs:160:40 [INFO] [stdout] | [INFO] [stdout] 160 | (&mut context, &mut io as &mut Io2).run(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 - (&mut context, &mut io as &mut Io2).run(); [INFO] [stdout] 160 + (&mut context, &mut io as &mut dyn Io2).run(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/part22.rs:18:26 [INFO] [stdout] | [INFO] [stdout] 18 | StackOp::Cut(mut p) => { [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: `termion::input::TermRead` [INFO] [stdout] --> examples/part13.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use termion::input::TermRead; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `io` [INFO] [stdout] --> examples/part23.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | let mut io = (&output_tx, &input_rx, addr.clone()); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_io` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/part17.rs:63:49 [INFO] [stdout] | [INFO] [stdout] 63 | fn trace_segment(&mut self, mut pos: Point, mut dir: Dir) -> Option<(Point, Dir, char, usize)> { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `out_bufs` [INFO] [stdout] --> examples/part23.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 149 | let mut out_bufs = HashMap::>::new(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_bufs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/part17.rs:65:14 [INFO] [stdout] | [INFO] [stdout] 65 | let (mut dir, cmd) = { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `input1_1` [INFO] [stdout] --> examples/part22.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn input1_1() -> (&'static [u8], usize) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/part23.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | let mut io = (&output_tx, &input_rx, addr.clone()); [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: function is never used: `input1_2` [INFO] [stdout] --> examples/part22.rs:102:4 [INFO] [stdout] | [INFO] [stdout] 102 | fn input1_2() -> (&'static [u8], usize) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `input1_3` [INFO] [stdout] --> examples/part22.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn input1_3() -> (&'static [u8], usize) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/part23.rs:62:37 [INFO] [stdout] | [INFO] [stdout] 62 | fn start(addr: i64, code: Vec, mut idle: Arc>) -> Nic { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> examples/part18_2.rs:173:9 [INFO] [stdout] | [INFO] [stdout] 173 | let data = data18(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cycles` [INFO] [stdout] --> examples/part12.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | let mut cycles = [0 as i64; 4]; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_cycles` [INFO] [stdout] --> examples/part12.rs:176:13 [INFO] [stdout] | [INFO] [stdout] 176 | let mut num_cycles = 0; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_cycles` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> examples/part12.rs:210:14 [INFO] [stdout] | [INFO] [stdout] 210 | for (j, (init, s)) in initial_state.iter().zip(&state).enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/part23.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | let mut idle_tmp = Arc::new(Mutex::new(0i64)); [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] --> examples/part23.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let mut idle = idle_tmp.clone(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `acc` [INFO] [stdout] --> examples/part17.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | acc: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> examples/part5.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | for i in 0..2 { [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: variable does not need to be mutable [INFO] [stdout] --> examples/part23.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let mut out_bufs = HashMap::>::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `stdin` [INFO] [stdout] --> examples/part13.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | stdin: std::io::Stdin, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `join_handle` [INFO] [stdout] --> examples/part23.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | join_handle: JoinHandle<()>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `code23` [INFO] [stdout] --> examples/part23.rs:180:4 [INFO] [stdout] | [INFO] [stdout] 180 | fn code23() -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> examples/part15.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `location` [INFO] [stdout] --> examples/part25.rs:256:30 [INFO] [stdout] | [INFO] [stdout] 256 | Some(location) => { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_size` [INFO] [stdout] --> examples/part25.rs:330:17 [INFO] [stdout] | [INFO] [stdout] 330 | let map_size = self.map.draw(&self.current_coord, &mut self.stdout); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/part12.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | let mut cycles = [0 as i64; 4]; [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] --> examples/part12.rs:176:9 [INFO] [stdout] | [INFO] [stdout] 176 | let mut num_cycles = 0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/part13.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | write!(self.stdout, "{}", termion::cursor::Show); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice::Iter` [INFO] [stdout] --> examples/part8.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::slice::Iter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::FromIterator` [INFO] [stdout] --> examples/part3_1.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::iter::FromIterator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `calc_primes` [INFO] [stdout] --> examples/part12.rs:111:4 [INFO] [stdout] | [INFO] [stdout] 111 | fn calc_primes() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/part23.rs:166:21 [INFO] [stdout] | [INFO] [stdout] 166 | nics[nic_id].tx.send(send_bufs[i][1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/part23.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | nics[nic_id].tx.send(send_bufs[i][2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/part5.rs:70:21 [INFO] [stdout] | [INFO] [stdout] 70 | std::io::stdout().lock().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/part5.rs:72:21 [INFO] [stdout] | [INFO] [stdout] 72 | context.input.read_line(&mut input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> examples/part6.rs:45:23 [INFO] [stdout] | [INFO] [stdout] 45 | .map(|(child, parent)| input.len_to(child, "COM")) [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> examples/part25.rs:249:29 [INFO] [stdout] | [INFO] [stdout] 244 | Ok(Key::Char('t')) => match &self.current_location { [INFO] [stdout] | ---------------------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 249 | self.output_command(&format!("take {}", *item)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `stdin` [INFO] [stdout] --> examples/part15.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | stdin: std::io::Stdin, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> examples/part25.rs:301:13 [INFO] [stdout] | [INFO] [stdout] 301 | write!(self.log_file, "{}", self.input_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> examples/part16.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 62 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 65 | / { [INFO] [stdout] 66 | | let mut input: Vec = input_msg().collect(); [INFO] [stdout] 67 | | for i in 0..100 { [INFO] [stdout] 68 | | input = intermingle2(input); [INFO] [stdout] ... | [INFO] [stdout] 75 | | println!(""); [INFO] [stdout] 76 | | } [INFO] [stdout] | |_____^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> examples/part16.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | for i in 0..100 { [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: `data` [INFO] [stdout] --> examples/part18.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | let data = data18(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `intermingle` [INFO] [stdout] --> examples/part16.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn intermingle(input: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `pattern` should have an upper case name [INFO] [stdout] --> examples/part16.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | const pattern: [i32; 4] = [0, 1, 0, -1]; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `PATTERN` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `input` should have an upper case name [INFO] [stdout] --> examples/part16.rs:99:11 [INFO] [stdout] | [INFO] [stdout] 99 | const input : &str = "597734197946315604128867465500492107148541070660280810320965917595751456802949957707412049551833956401035273718... [INFO] [stdout] | ^^^^^ help: convert the identifier to upper case: `INPUT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/test.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | for i in 0..2 { [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: variable `max_seq` is assigned to, but never used [INFO] [stdout] --> src/test.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | let mut max_seq = [0; 5]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_max_seq` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/test.rs:67:18 [INFO] [stdout] | [INFO] [stdout] 67 | for (i, setting) in seq.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `max_seq` is never read [INFO] [stdout] --> src/test.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | max_seq = seq.clone(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> examples/part7.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | for i in 0..2 { [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: variable `max_seq` is assigned to, but never used [INFO] [stdout] --> examples/part7.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let mut max_seq = [0; 5]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_max_seq` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> examples/part7.rs:67:14 [INFO] [stdout] | [INFO] [stdout] 67 | for (i, setting) in seq.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `max_seq` is never read [INFO] [stdout] --> examples/part7.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | max_seq = seq.clone(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `max_seq` is assigned to, but never used [INFO] [stdout] --> examples/part7.rs:93:13 [INFO] [stdout] | [INFO] [stdout] 93 | let mut max_seq = [0; 5]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_max_seq` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> examples/part7.rs:109:18 [INFO] [stdout] | [INFO] [stdout] 109 | for (i, ios) in &mut state.iter_mut().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `max_seq` is never read [INFO] [stdout] --> examples/part7.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | max_seq = seq.clone(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> examples/part7.rs:171:19 [INFO] [stdout] | [INFO] [stdout] 171 | .map(|x| (Context::new(code71()).break_on_output(), false)) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `max_seq` is assigned to, but never used [INFO] [stdout] --> examples/part7.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | let mut max_seq = [0; 5]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_max_seq` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `max_seq` is never read [INFO] [stdout] --> examples/part7.rs:192:13 [INFO] [stdout] | [INFO] [stdout] 192 | max_seq = seq.clone(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Inner` is named the same as one of the variants of the type `Side` [INFO] [stdout] --> examples/part20.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | Inner => Side::Outer, [INFO] [stdout] | ^^^^^ help: to match on the variant, qualify the path: `Side::Inner` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bindings_with_variant_name)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Outer` is named the same as one of the variants of the type `Side` [INFO] [stdout] --> examples/part20.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | Outer => Side::Inner, [INFO] [stdout] | ^^^^^ help: to match on the variant, qualify the path: `Side::Outer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> examples/part20.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 16 | Inner => Side::Outer, [INFO] [stdout] | ----- matches any value [INFO] [stdout] 17 | Outer => Side::Inner, [INFO] [stdout] | ^^^^^ unreachable pattern [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> examples/part20.rs:88:41 [INFO] [stdout] | [INFO] [stdout] 88 | .map(|(ref dir, c)| (s.move_into(dir), 1)) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point_to_node` [INFO] [stdout] --> examples/part20.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | let point_to_node: HashMap = nodes [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_point_to_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Inner` [INFO] [stdout] --> examples/part20.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | Inner => Side::Outer, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_Inner` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Outer` [INFO] [stdout] --> examples/part20.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | Outer => Side::Inner, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_Outer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_other` [INFO] [stdout] --> examples/part20.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | fn get_other(&self) -> Side { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Inner` should have a snake case name [INFO] [stdout] --> examples/part20.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | Inner => Side::Outer, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `inner` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Outer` should have a snake case name [INFO] [stdout] --> examples/part20.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | Outer => Side::Inner, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `outer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0170`. [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.82s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/aoc2019-62ca65a4ce589dcd) [INFO] [stderr] Executable unittests src/main.rs (/opt/rustwide/target/debug/deps/aoc2019-0f40d968acafeb7a) [INFO] running `Command { std: "docker" "inspect" "38113e7fe0ac8c60fd1ea2fa8fd57ca4741aeea8d2f0a909ddaa227e8795e5ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "38113e7fe0ac8c60fd1ea2fa8fd57ca4741aeea8d2f0a909ddaa227e8795e5ed", kill_on_drop: false }` [INFO] [stdout] 38113e7fe0ac8c60fd1ea2fa8fd57ca4741aeea8d2f0a909ddaa227e8795e5ed [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-82/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-82/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 6a950c4b6c9a15c52f20c7274616249cb63d9a855118d0090efe0df162b4a70d [INFO] running `Command { std: "docker" "start" "-a" "6a950c4b6c9a15c52f20c7274616249cb63d9a855118d0090efe0df162b4a70d", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `pathfinding::prelude::dijkstra` [INFO] [stderr] --> src/graph.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use pathfinding::prelude::dijkstra; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/graph.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/graph.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FromIterator` [INFO] [stderr] --> src/intcode.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::iter::FromIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::intcode::Io2` [INFO] [stderr] --> src/test.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use super::intcode::Io2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stderr] --> src/lib.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | mod test; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::intcode::*` [INFO] [stderr] --> src/test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use super::intcode::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stderr] --> src/lib.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | mod test; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `permutohedron::LexicalPermutation` [INFO] [stderr] --> src/test.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use permutohedron::LexicalPermutation; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stderr] --> src/lib.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | mod test; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Receiver`, `Sender`, `channel` [INFO] [stderr] --> src/test.rs:4:23 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stderr] --> src/lib.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | mod test; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Receiver`, `Sender` [INFO] [stderr] --> src/test.rs:4:32 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stderr] --> src/lib.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | mod test; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/test.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | for i in 0..2 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `max_seq` is assigned to, but never used [INFO] [stderr] --> src/test.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | let mut max_seq = [0; 5]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_max_seq` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/test.rs:67:18 [INFO] [stderr] | [INFO] [stderr] 67 | for (i, setting) in seq.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `max_seq` is never read [INFO] [stderr] --> src/test.rs:79:17 [INFO] [stderr] | [INFO] [stderr] 79 | max_seq = seq.clone(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: `aoc2019` (lib) generated 8 warnings [INFO] [stderr] warning: `aoc2019` (lib test) generated 9 warnings (4 duplicates) [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> examples/part13.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Stdin` [INFO] [stderr] --> examples/part13.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io::{Stdin, Write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `termion::event::Key` [INFO] [stderr] --> examples/part13.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use termion::event::Key; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `termion::input::TermRead` [INFO] [stderr] --> examples/part13.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use termion::input::TermRead; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `stdin` [INFO] [stderr] --> examples/part13.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | stdin: std::io::Stdin, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/part13.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | write!(self.stdout, "{}", termion::cursor::Show); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::slice::Iter` [INFO] [stderr] --> examples/part8.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::slice::Iter; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `pathfinding::directed::dijkstra` [INFO] [stderr] --> examples/termion_fun.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use pathfinding::directed::dijkstra; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `pathfinding::prelude::dijkstra` [INFO] [stderr] --> examples/termion_fun.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use pathfinding::prelude::dijkstra; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `pathfinding::prelude::fringe` [INFO] [stderr] --> examples/termion_fun.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use pathfinding::prelude::fringe; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::prelude::*` [INFO] [stderr] --> examples/termion_fun.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use rand::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> examples/termion_fun.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Stdin` [INFO] [stderr] --> examples/termion_fun.rs:10:15 [INFO] [stderr] | [INFO] [stderr] 10 | use std::io::{Stdin, Write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Sender` [INFO] [stderr] --> examples/termion_fun.rs:11:42 [INFO] [stderr] | [INFO] [stderr] 11 | use std::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Keys` [INFO] [stderr] --> examples/termion_fun.rs:13:22 [INFO] [stderr] | [INFO] [stderr] 13 | use termion::input::{Keys, TermRead}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> examples/part7.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | for i in 0..2 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `max_seq` is assigned to, but never used [INFO] [stderr] --> examples/part7.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | let mut max_seq = [0; 5]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_max_seq` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> examples/part7.rs:67:14 [INFO] [stderr] | [INFO] [stderr] 67 | for (i, setting) in seq.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `max_seq` is never read [INFO] [stderr] --> examples/part7.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | max_seq = seq.clone(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable `max_seq` is assigned to, but never used [INFO] [stderr] --> examples/part7.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | let mut max_seq = [0; 5]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_max_seq` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> examples/part7.rs:109:18 [INFO] [stderr] | [INFO] [stderr] 109 | for (i, ios) in &mut state.iter_mut().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `max_seq` is never read [INFO] [stderr] --> examples/part7.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | max_seq = seq.clone(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> examples/part7.rs:171:19 [INFO] [stderr] | [INFO] [stderr] 171 | .map(|x| (Context::new(code71()).break_on_output(), false)) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stderr] [INFO] [stderr] warning: variable `max_seq` is assigned to, but never used [INFO] [stderr] --> examples/part7.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | let mut max_seq = [0; 5]; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_max_seq` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `max_seq` is never read [INFO] [stderr] --> examples/part7.rs:192:13 [INFO] [stderr] | [INFO] [stderr] 192 | max_seq = seq.clone(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `parent` [INFO] [stderr] --> examples/part6.rs:45:23 [INFO] [stderr] | [INFO] [stderr] 45 | .map(|(child, parent)| input.len_to(child, "COM")) [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> examples/part22.rs:18:26 [INFO] [stderr] | [INFO] [stderr] 18 | StackOp::Cut(mut p) => { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `input1_1` [INFO] [stderr] --> examples/part22.rs:84:4 [INFO] [stderr] | [INFO] [stderr] 84 | fn input1_1() -> (&'static [u8], usize) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `input1_2` [INFO] [stderr] --> examples/part22.rs:102:4 [INFO] [stderr] | [INFO] [stderr] 102 | fn input1_2() -> (&'static [u8], usize) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `input1_3` [INFO] [stderr] --> examples/part22.rs:113:4 [INFO] [stderr] | [INFO] [stderr] 113 | fn input1_3() -> (&'static [u8], usize) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FromIterator` [INFO] [stderr] --> examples/part3_1.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::iter::FromIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> examples/part2_1.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | let mut data = line [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> examples/part11.rs:107:45 [INFO] [stderr] | [INFO] [stderr] 107 | (&mut context, &mut painter as &mut Io2).run(); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 107 - (&mut context, &mut painter as &mut Io2).run(); [INFO] [stderr] 107 + (&mut context, &mut painter as &mut dyn Io2).run(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> examples/part11.rs:116:45 [INFO] [stderr] | [INFO] [stderr] 116 | (&mut context, &mut painter as &mut Io2).run(); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 116 - (&mut context, &mut painter as &mut Io2).run(); [INFO] [stderr] 116 + (&mut context, &mut painter as &mut dyn Io2).run(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `Read` [INFO] [stderr] --> examples/part25.rs:9:15 [INFO] [stderr] | [INFO] [stderr] 9 | use std::io::{Read, Write}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `channel` [INFO] [stderr] --> examples/part25.rs:10:23 [INFO] [stderr] | [INFO] [stderr] 10 | use std::sync::mpsc::{channel, Receiver}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `location` [INFO] [stderr] --> examples/part25.rs:256:30 [INFO] [stderr] | [INFO] [stderr] 256 | Some(location) => { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `map_size` [INFO] [stderr] --> examples/part25.rs:330:17 [INFO] [stderr] | [INFO] [stderr] 330 | let map_size = self.map.draw(&self.current_coord, &mut self.stdout); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_size` [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stderr] --> examples/part25.rs:249:29 [INFO] [stderr] | [INFO] [stderr] 244 | Ok(Key::Char('t')) => match &self.current_location { [INFO] [stderr] | ---------------------- immutable borrow occurs here [INFO] [stderr] ... [INFO] [stderr] 249 | self.output_command(&format!("take {}", *item)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^ [INFO] [stderr] | | | [INFO] [stderr] | | immutable borrow later used here [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/part25.rs:301:13 [INFO] [stderr] | [INFO] [stderr] 301 | write!(self.log_file, "{}", self.input_buf); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> examples/part18.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | let data = data18(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> examples/part18_2.rs:173:9 [INFO] [stderr] | [INFO] [stderr] 173 | let data = data18(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Inner` is named the same as one of the variants of the type `Side` [INFO] [stderr] --> examples/part20.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | Inner => Side::Outer, [INFO] [stderr] | ^^^^^ help: to match on the variant, qualify the path: `Side::Inner` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bindings_with_variant_name)]` on by default [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Outer` is named the same as one of the variants of the type `Side` [INFO] [stderr] --> examples/part20.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | Outer => Side::Inner, [INFO] [stderr] | ^^^^^ help: to match on the variant, qualify the path: `Side::Outer` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> examples/part20.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 16 | Inner => Side::Outer, [INFO] [stderr] | ----- matches any value [INFO] [stderr] 17 | Outer => Side::Inner, [INFO] [stderr] | ^^^^^ unreachable pattern [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> examples/part20.rs:88:41 [INFO] [stderr] | [INFO] [stderr] 88 | .map(|(ref dir, c)| (s.move_into(dir), 1)) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `point_to_node` [INFO] [stderr] --> examples/part20.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | let point_to_node: HashMap = nodes [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_point_to_node` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Inner` [INFO] [stderr] --> examples/part20.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | Inner => Side::Outer, [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_Inner` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Outer` [INFO] [stderr] --> examples/part20.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | Outer => Side::Inner, [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_Outer` [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_other` [INFO] [stderr] --> examples/part20.rs:14:8 [INFO] [stderr] | [INFO] [stderr] 14 | fn get_other(&self) -> Side { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `Inner` should have a snake case name [INFO] [stderr] --> examples/part20.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | Inner => Side::Outer, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `inner` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `Outer` should have a snake case name [INFO] [stderr] --> examples/part20.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | Outer => Side::Inner, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `outer` [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0170`. [INFO] [stderr] warning: unused import: `VecDeque` [INFO] [stderr] --> examples/part23.rs:4:33 [INFO] [stderr] | [INFO] [stderr] 4 | use std::collections::{HashMap, VecDeque}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: include macro expected single expression in source [INFO] [stderr] --> examples/code23.int:1:2 [INFO] [stderr] | [INFO] [stderr] 1 | 3,62,1001,62,11,10,109,2229,105,1,0,2093,2165,1216,1505,789,1660,758,1693,2064,1183,602,2198,1759,950,1445,1117,1014,1280,2134,1379,851,1... [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(incomplete_include)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `io` [INFO] [stderr] --> examples/part23.rs:69:17 [INFO] [stderr] | [INFO] [stderr] 69 | let mut io = (&output_tx, &input_rx, addr.clone()); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_io` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `out_bufs` [INFO] [stderr] --> examples/part23.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | let mut out_bufs = HashMap::>::new(); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_bufs` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> examples/part23.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | let mut io = (&output_tx, &input_rx, addr.clone()); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> examples/part23.rs:62:37 [INFO] [stderr] | [INFO] [stderr] 62 | fn start(addr: i64, code: Vec, mut idle: Arc>) -> Nic { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> examples/part23.rs:93:9 [INFO] [stderr] | [INFO] [stderr] 93 | let mut idle_tmp = Arc::new(Mutex::new(0i64)); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> examples/part23.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | let mut idle = idle_tmp.clone(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> examples/part23.rs:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | let mut out_bufs = HashMap::>::new(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `join_handle` [INFO] [stderr] --> examples/part23.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | join_handle: JoinHandle<()>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `code23` [INFO] [stderr] --> examples/part23.rs:180:4 [INFO] [stderr] | [INFO] [stderr] 180 | fn code23() -> Vec { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/part23.rs:166:21 [INFO] [stderr] | [INFO] [stderr] 166 | nics[nic_id].tx.send(send_bufs[i][1]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/part23.rs:167:21 [INFO] [stderr] | [INFO] [stderr] 167 | nics[nic_id].tx.send(send_bufs[i][2]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> examples/part17.rs:145:44 [INFO] [stderr] | [INFO] [stderr] 145 | (&mut context, &mut camera as &mut Io2).run(); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 145 - (&mut context, &mut camera as &mut Io2).run(); [INFO] [stderr] 145 + (&mut context, &mut camera as &mut dyn Io2).run(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> examples/part17.rs:160:40 [INFO] [stderr] | [INFO] [stderr] 160 | (&mut context, &mut io as &mut Io2).run(); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 160 - (&mut context, &mut io as &mut Io2).run(); [INFO] [stderr] 160 + (&mut context, &mut io as &mut dyn Io2).run(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> examples/part17.rs:63:49 [INFO] [stderr] | [INFO] [stderr] 63 | fn trace_segment(&mut self, mut pos: Point, mut dir: Dir) -> Option<(Point, Dir, char, usize)> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> examples/part17.rs:65:14 [INFO] [stderr] | [INFO] [stderr] 65 | let (mut dir, cmd) = { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `acc` [INFO] [stderr] --> examples/part17.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | acc: String, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Sub` [INFO] [stderr] --> examples/part12.rs:2:21 [INFO] [stderr] | [INFO] [stderr] 2 | use std::ops::{Add, Sub}; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cycles` [INFO] [stderr] --> examples/part12.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | let mut cycles = [0 as i64; 4]; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_cycles` [INFO] [stderr] --> examples/part12.rs:176:13 [INFO] [stderr] | [INFO] [stderr] 176 | let mut num_cycles = 0; [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_cycles` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> examples/part12.rs:210:14 [INFO] [stderr] | [INFO] [stderr] 210 | for (j, (init, s)) in initial_state.iter().zip(&state).enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> examples/part12.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | let mut cycles = [0 as i64; 4]; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> examples/part12.rs:176:9 [INFO] [stderr] | [INFO] [stderr] 176 | let mut num_cycles = 0; [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `calc_primes` [INFO] [stderr] --> examples/part12.rs:111:4 [INFO] [stderr] | [INFO] [stderr] 111 | fn calc_primes() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Stdin` [INFO] [stderr] --> examples/part15.rs:6:15 [INFO] [stderr] | [INFO] [stderr] 6 | use std::io::{Stdin, Write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `termion::event::Key` [INFO] [stderr] --> examples/part15.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use termion::event::Key; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `termion::input::TermRead` [INFO] [stderr] --> examples/part15.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use termion::input::TermRead; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> examples/part15.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `stdin` [INFO] [stderr] --> examples/part15.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | stdin: std::io::Stdin, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> examples/part24.rs:53:10 [INFO] [stderr] | [INFO] [stderr] 53 | for (i, pat) in PATTERN.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> examples/part16.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 62 | return; [INFO] [stderr] | ------ any code following this expression is unreachable [INFO] [stderr] ... [INFO] [stderr] 65 | / { [INFO] [stderr] 66 | | let mut input: Vec = input_msg().collect(); [INFO] [stderr] 67 | | for i in 0..100 { [INFO] [stderr] 68 | | input = intermingle2(input); [INFO] [stderr] ... | [INFO] [stderr] 75 | | println!(""); [INFO] [stderr] 76 | | } [INFO] [stderr] | |_____^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> examples/part16.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | for i in 0..100 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `intermingle` [INFO] [stderr] --> examples/part16.rs:17:4 [INFO] [stderr] | [INFO] [stderr] 17 | fn intermingle(input: Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant `pattern` should have an upper case name [INFO] [stderr] --> examples/part16.rs:4:11 [INFO] [stderr] | [INFO] [stderr] 4 | const pattern: [i32; 4] = [0, 1, 0, -1]; [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper case: `PATTERN` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant `input` should have an upper case name [INFO] [stderr] --> examples/part16.rs:99:11 [INFO] [stderr] | [INFO] [stderr] 99 | const input : &str = "597734197946315604128867465500492107148541070660280810320965917595751456802949957707412049551833956401035273718... [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `INPUT` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> examples/part14.rs:178:12 [INFO] [stderr] | [INFO] [stderr] 178 | if (upper - lower <= 1) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 178 - if (upper - lower <= 1) { [INFO] [stderr] 178 + if upper - lower <= 1 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stdout] [INFO] [stderr] warning: unnecessary parentheses around `while` condition [INFO] [stdout] running 5 tests [INFO] [stderr] --> examples/part5.rs:32:19 [INFO] [stderr] | [INFO] [stderr] 32 | while (modenum != 0) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 32 - while (modenum != 0) { [INFO] [stderr] 32 + while modenum != 0 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> examples/part5.rs:9:20 [INFO] [stderr] | [INFO] [stderr] 9 | input: &'a mut std::io::BufRead, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 9 - input: &'a mut std::io::BufRead, [INFO] [stderr] 9 + input: &'a mut dyn std::io::BufRead, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> examples/part5.rs:13:35 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn default(input: &'a mut std::io::BufRead) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 13 - pub fn default(input: &'a mut std::io::BufRead) -> Self { [INFO] [stderr] 13 + pub fn default(input: &'a mut dyn std::io::BufRead) -> Self { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> examples/part5.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | for i in 0..2 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/part5.rs:70:21 [INFO] [stderr] | [INFO] [stderr] 70 | std::io::stdout().lock().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> examples/part5.rs:72:21 [INFO] [stderr] | [INFO] [stderr] 72 | context.input.read_line(&mut input); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: `aoc2019` (example "part13") generated 6 warnings [INFO] [stderr] warning: `aoc2019` (example "part8") generated 1 warning [INFO] [stderr] warning: `aoc2019` (example "termion_fun") generated 8 warnings [INFO] [stderr] warning: `aoc2019` (example "part7") generated 10 warnings [INFO] [stderr] warning: `aoc2019` (example "part6") generated 1 warning [INFO] [stderr] warning: `aoc2019` (example "part22") generated 4 warnings [INFO] [stderr] warning: `aoc2019` (example "part3_1") generated 1 warning [INFO] [stderr] warning: `aoc2019` (example "part2_1") generated 1 warning [INFO] [stderr] warning: `aoc2019` (example "part11") generated 2 warnings [INFO] [stderr] warning: `aoc2019` (example "part25") generated 6 warnings [INFO] [stderr] warning: `aoc2019` (example "part18") generated 1 warning [INFO] [stderr] warning: `aoc2019` (example "part18_2") generated 1 warning [INFO] [stderr] warning: `aoc2019` (example "part20") generated 10 warnings [INFO] [stderr] warning: `aoc2019` (example "part23") generated 13 warnings [INFO] [stderr] warning: `aoc2019` (example "part17") generated 5 warnings [INFO] [stderr] warning: `aoc2019` (example "part12") generated 7 warnings [INFO] [stderr] warning: `aoc2019` (example "part15") generated 5 warnings [INFO] [stderr] warning: `aoc2019` (example "part24") generated 1 warning [INFO] [stderr] warning: `aoc2019` (example "part16") generated 5 warnings [INFO] [stderr] warning: `aoc2019` (example "part14") generated 1 warning [INFO] [stderr] warning: `aoc2019` (example "part5") generated 6 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/aoc2019-62ca65a4ce589dcd) [INFO] [stdout] test monitoring::test::minimize ... ok [INFO] [stdout] test test::tests::day5 ... ok [INFO] [stdout] test test::tests::day7 ... ok [INFO] [stdout] test test::tests::day7_1_nt ... ok [INFO] [stdout] test test::tests::day2 ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/aoc2019-0f40d968acafeb7a) [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.42s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests aoc2019 [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "6a950c4b6c9a15c52f20c7274616249cb63d9a855118d0090efe0df162b4a70d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a950c4b6c9a15c52f20c7274616249cb63d9a855118d0090efe0df162b4a70d", kill_on_drop: false }` [INFO] [stdout] 6a950c4b6c9a15c52f20c7274616249cb63d9a855118d0090efe0df162b4a70d