[INFO] cloning repository https://github.com/SergeevPavel/adventofcode2019 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SergeevPavel/adventofcode2019" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSergeevPavel%2Fadventofcode2019", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSergeevPavel%2Fadventofcode2019'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 833f82894c0e7cb353666d86596b77558b366016 [INFO] checking SergeevPavel/adventofcode2019 against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSergeevPavel%2Fadventofcode2019" "/workspace/builds/worker-9/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/SergeevPavel/adventofcode2019 on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/SergeevPavel/adventofcode2019 [INFO] finished tweaking git repo https://github.com/SergeevPavel/adventofcode2019 [INFO] tweaked toml for git repo https://github.com/SergeevPavel/adventofcode2019 written to /workspace/builds/worker-9/source/Cargo.toml [INFO] crate git repo https://github.com/SergeevPavel/adventofcode2019 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--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-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 12cec39fd13b0d24852af754ab1344bd13cef2b6c70035932d2dc30f56b9b6b7 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "12cec39fd13b0d24852af754ab1344bd13cef2b6c70035932d2dc30f56b9b6b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "12cec39fd13b0d24852af754ab1344bd13cef2b6c70035932d2dc30f56b9b6b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "12cec39fd13b0d24852af754ab1344bd13cef2b6c70035932d2dc30f56b9b6b7", kill_on_drop: false }` [INFO] [stdout] 12cec39fd13b0d24852af754ab1344bd13cef2b6c70035932d2dc30f56b9b6b7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fb2d561c71bb55d6b9548d40b2ddae7669d3d9b8ac45b0cdb2b206de1a6c568a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "fb2d561c71bb55d6b9548d40b2ddae7669d3d9b8ac45b0cdb2b206de1a6c568a", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling libc v0.2.66 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking regex-syntax v0.6.12 [INFO] [stderr] Checking numtoa v0.1.0 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking aho-corasick v0.7.6 [INFO] [stderr] Checking termion v1.5.4 [INFO] [stderr] Checking regex v1.3.1 [INFO] [stderr] Checking adventofcode2019 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/day3b.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{HashSet, HashMap}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Rem` [INFO] [stdout] --> src/day22.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | use std::ops::Rem; [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/day22.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/day3a.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{HashSet, HashMap}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RemAssign` [INFO] [stdout] --> src/day11.rs:2:38 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Index, IndexMut, Rem, RemAssign}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RemAssign` [INFO] [stdout] --> src/day15.rs:2:38 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Index, IndexMut, Rem, RemAssign}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/day15.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `termion::event::Key` [INFO] [stdout] --> src/day15.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use termion::event::Key; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::internal::Program` [INFO] [stdout] --> src/day15.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use regex::internal::Program; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Ordering` [INFO] [stdout] --> src/day15.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/day6b.rs:29:24 [INFO] [stdout] | [INFO] [stdout] 29 | panic!(format!("Broken edge: {:?}", edge)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panic)]` on by default [INFO] [stdout] = note: this is no longer accepted in Rust 2021 [INFO] [stdout] = note: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 29 | panic!("Broken edge: {:?}", edge) [INFO] [stdout] | -- -- [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: unused variable: `step` [INFO] [stdout] --> src/day12a.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | for step in 0..1000 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `apply` [INFO] [stdout] --> src/day22.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | fn apply(&self, deck: &[i32], out: &mut [i32]) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `solve` [INFO] [stdout] --> src/day22.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn solve(deck_size: i32, input: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `solve1` [INFO] [stdout] --> src/day22.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn solve1(deck_size: i32, input: &Vec) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/day23.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | 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: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/day11.rs:269:20 [INFO] [stdout] | [INFO] [stdout] 269 | panic!(format!("Unexpected output: {:?}", output)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panic)]` on by default [INFO] [stdout] = note: this is no longer accepted in Rust 2021 [INFO] [stdout] = note: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 269 | panic!("Unexpected output: {:?}", output); [INFO] [stdout] | -- -- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Range` [INFO] [stdout] --> src/day16.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::Range; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/day16.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 28 | (acc + v) [INFO] [stdout] | ^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AddAssign` [INFO] [stdout] --> src/day10b.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Rem, Div, AddAssign}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RemAssign` [INFO] [stdout] --> src/day11.rs:2:38 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Index, IndexMut, Rem, RemAssign}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/day25.rs:186:30 [INFO] [stdout] | [INFO] [stdout] 186 | while !computer.halted { ; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/day13.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RemAssign` [INFO] [stdout] --> src/day13.rs:2:38 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Index, IndexMut, Rem, RemAssign}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::internal::Program` [INFO] [stdout] --> src/day13.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use regex::internal::Program; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day16.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let input = read_to_string("inputs/day16.txt").unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/day15.rs:315:50 [INFO] [stdout] | [INFO] [stdout] 315 | let (start, _) = field.cells.iter().filter(|(p, ct)| **ct == Start).next().unwrap(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/day24.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/day15.rs:342:50 [INFO] [stdout] | [INFO] [stdout] 342 | let (start, _) = field.cells.iter().filter(|(p, ct)| **ct == OxSystem).next().unwrap(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_phase` [INFO] [stdout] --> src/day16.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn parse_phase(input: String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stdin` [INFO] [stdout] --> src/day15.rs:380:9 [INFO] [stdout] | [INFO] [stdout] 380 | let mut stdin = termion::async_stdin().keys(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/day6a.rs:40:48 [INFO] [stdout] | [INFO] [stdout] 40 | let result = degrees.iter().fold(0, |acc, (n, d)| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/day6a.rs:24:24 [INFO] [stdout] | [INFO] [stdout] 24 | panic!(format!("Broken edge: {:?}", edge)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panic)]` on by default [INFO] [stdout] = note: this is no longer accepted in Rust 2021 [INFO] [stdout] = note: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 24 | panic!("Broken edge: {:?}", edge) [INFO] [stdout] | -- -- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/day11.rs:269:20 [INFO] [stdout] | [INFO] [stdout] 269 | panic!(format!("Unexpected output: {:?}", output)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panic)]` on by default [INFO] [stdout] = note: this is no longer accepted in Rust 2021 [INFO] [stdout] = note: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 269 | panic!("Unexpected output: {:?}", output); [INFO] [stdout] | -- -- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day15.rs:368:9 [INFO] [stdout] | [INFO] [stdout] 368 | let mut program: Vec = read_to_string("inputs/day15.txt").unwrap() [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day15.rs:380:9 [INFO] [stdout] | [INFO] [stdout] 380 | let mut stdin = termion::async_stdin().keys(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `draw` [INFO] [stdout] --> src/day15.rs:210:4 [INFO] [stdout] | [INFO] [stdout] 210 | fn draw(field: &Field, out: &mut dyn Write) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/day25.rs:186:30 [INFO] [stdout] | [INFO] [stdout] 186 | while !computer.halted { ; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Range` [INFO] [stdout] --> src/day16.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::Range; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/day16.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 28 | (acc + v) [INFO] [stdout] | ^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/day13.rs:211:38 [INFO] [stdout] | [INFO] [stdout] 211 | *self.pixels.iter().filter(|(p, s)| **s == 3).next().unwrap().0 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/day13.rs:215:38 [INFO] [stdout] | [INFO] [stdout] 215 | *self.pixels.iter().filter(|(p, s)| **s == 4).next().unwrap().0 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> src/day23.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | 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: unused `Result` that must be used [INFO] [stdout] --> src/day25.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | std::io::stdin().read_line(&mut command); [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: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/day24.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | fn read_field(s: String) -> Field { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/day24.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | for m in 0..200 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Map` that must be used [INFO] [stdout] --> src/day10b.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | / targets.iter_mut().map(|(_, ts)| { [INFO] [stdout] 42 | | ts.sort_by_key(|t| -(t.distance as i32)) [INFO] [stdout] 43 | | }); [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: iterators are lazy and do nothing unless consumed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/day16.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let input = read_to_string("inputs/day16.txt").unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/day15.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | write!(out, "{}", termion::clear::All); [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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/day15.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | / match t { [INFO] [stdout] 219 | | CellTypes::Start => write!(out, "{}*.", to_term(p)), [INFO] [stdout] 220 | | CellTypes::Empty => write!(out, "{}.", to_term(p)), [INFO] [stdout] 221 | | CellTypes::Wall => write!(out, "{}#", to_term(p)), [INFO] [stdout] 222 | | CellTypes::OxSystem => write!(out, "{}@", to_term(p)), [INFO] [stdout] 223 | | }; [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] --> src/day15.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | write!(out, "{}D{}", to_term(&field.bot_position), termion::cursor::Goto(1, 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/day15.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | writeln!(stdout, "Distance: {:?}", ox_system_distance(&droid.field)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/day15.rs:411:5 [INFO] [stdout] | [INFO] [stdout] 411 | writeln!(stdout, "Filling time: {:?}", filling_time(&droid.field)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day13.rs:286:9 [INFO] [stdout] | [INFO] [stdout] 286 | let mut program: Vec = read_to_string("inputs/day13.txt").unwrap() [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_phase` [INFO] [stdout] --> src/day16.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn parse_phase(input: String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/day6a.rs:40:48 [INFO] [stdout] | [INFO] [stdout] 40 | let result = degrees.iter().fold(0, |acc, (n, d)| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/day6a.rs:24:24 [INFO] [stdout] | [INFO] [stdout] 24 | panic!(format!("Broken edge: {:?}", edge)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panic)]` on by default [INFO] [stdout] = note: this is no longer accepted in Rust 2021 [INFO] [stdout] = note: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 24 | panic!("Broken edge: {:?}", edge) [INFO] [stdout] | -- -- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/day24.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day2b.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | let mut program: Vec<_> = BufReader::new(File::open("inputs/day2.txt").unwrap()).split(b',') [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: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/day13.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | write!(out, "{}{}", termion::clear::All, termion::cursor::Goto(1, 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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/day13.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | write!(out, "{}", termion::cursor::Goto(1, y as u16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/day13.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | write!(out, "Score: {:?}", self.score); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/day13.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RemAssign` [INFO] [stdout] --> src/day13.rs:2:38 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Index, IndexMut, Rem, RemAssign}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::internal::Program` [INFO] [stdout] --> src/day13.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use regex::internal::Program; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/day3b.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{HashSet, HashMap}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AddAssign` [INFO] [stdout] --> src/day10b.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Rem, Div, AddAssign}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/day24.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | fn read_field(s: String) -> Field { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/day24.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | for m in 0..200 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/day25.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | std::io::stdin().read_line(&mut command); [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: panic message is not a string literal [INFO] [stdout] --> src/day6b.rs:29:24 [INFO] [stdout] | [INFO] [stdout] 29 | panic!(format!("Broken edge: {:?}", edge)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panic)]` on by default [INFO] [stdout] = note: this is no longer accepted in Rust 2021 [INFO] [stdout] = note: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 29 | panic!("Broken edge: {:?}", edge) [INFO] [stdout] | -- -- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/day3a.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{HashSet, HashMap}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Rem` [INFO] [stdout] --> src/day22.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | use std::ops::Rem; [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/day22.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/day13.rs:211:38 [INFO] [stdout] | [INFO] [stdout] 211 | *self.pixels.iter().filter(|(p, s)| **s == 3).next().unwrap().0 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/day13.rs:215:38 [INFO] [stdout] | [INFO] [stdout] 215 | *self.pixels.iter().filter(|(p, s)| **s == 4).next().unwrap().0 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Field` in this scope [INFO] [stdout] --> src/day17.rs:39:17 [INFO] [stdout] | [INFO] [stdout] 39 | fn path(field: &Field) -> Vec { [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/day17.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day2b.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | let mut program: Vec<_> = BufReader::new(File::open("inputs/day2.txt").unwrap()).split(b',') [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: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day13.rs:286:9 [INFO] [stdout] | [INFO] [stdout] 286 | let mut program: Vec = read_to_string("inputs/day13.txt").unwrap() [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Map` that must be used [INFO] [stdout] --> src/day10b.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | / targets.iter_mut().map(|(_, ts)| { [INFO] [stdout] 42 | | ts.sort_by_key(|t| -(t.distance as i32)) [INFO] [stdout] 43 | | }); [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: iterators are lazy and do nothing unless consumed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/day12a.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | for step in 0..1000 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `apply` [INFO] [stdout] --> src/day22.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | fn apply(&self, deck: &[i32], out: &mut [i32]) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `solve` [INFO] [stdout] --> src/day22.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn solve(deck_size: i32, input: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `solve1` [INFO] [stdout] --> src/day22.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn solve1(deck_size: i32, input: &Vec) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Field` in this scope [INFO] [stdout] --> src/day17.rs:39:17 [INFO] [stdout] | [INFO] [stdout] 39 | fn path(field: &Field) -> Vec { [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/day17.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/day13.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | write!(out, "{}{}", termion::clear::All, termion::cursor::Goto(1, 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] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `ingredients` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/day14.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 24 | let (req, req_count) = match ingredients.iter().filter(|v| *v.1 < 0).next() { [INFO] [stdout] | ----------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 31 | *ingredients.entry(req.clone()).or_insert(0) += produce * reaction_mult; [INFO] [stdout] | ^^^^^^^^^^^ --- immutable borrow later used here [INFO] [stdout] | | [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: unused `Result` that must be used [INFO] [stdout] --> src/day13.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | write!(out, "{}", termion::cursor::Goto(1, y as u16)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/day13.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | write!(out, "Score: {:?}", self.score); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] [INFO] [stderr] error: could not compile `adventofcode2019` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RemAssign` [INFO] [stdout] --> src/day15.rs:2:38 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Index, IndexMut, Rem, RemAssign}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/day15.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `termion::event::Key` [INFO] [stdout] --> src/day15.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use termion::event::Key; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::internal::Program` [INFO] [stdout] --> src/day15.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use regex::internal::Program; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Ordering` [INFO] [stdout] --> src/day15.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `ingredients` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/day14.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 24 | let (req, req_count) = match ingredients.iter().filter(|v| *v.1 < 0).next() { [INFO] [stdout] | ----------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 31 | *ingredients.entry(req.clone()).or_insert(0) += produce * reaction_mult; [INFO] [stdout] | ^^^^^^^^^^^ --- immutable borrow later used here [INFO] [stdout] | | [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: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/day15.rs:315:50 [INFO] [stdout] | [INFO] [stdout] 315 | let (start, _) = field.cells.iter().filter(|(p, ct)| **ct == Start).next().unwrap(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/day15.rs:342:50 [INFO] [stdout] | [INFO] [stdout] 342 | let (start, _) = field.cells.iter().filter(|(p, ct)| **ct == OxSystem).next().unwrap(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stdin` [INFO] [stdout] --> src/day15.rs:380:9 [INFO] [stdout] | [INFO] [stdout] 380 | let mut stdin = termion::async_stdin().keys(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day15.rs:368:9 [INFO] [stdout] | [INFO] [stdout] 368 | let mut program: Vec = read_to_string("inputs/day15.txt").unwrap() [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day15.rs:380:9 [INFO] [stdout] | [INFO] [stdout] 380 | let mut stdin = termion::async_stdin().keys(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `draw` [INFO] [stdout] --> src/day15.rs:210:4 [INFO] [stdout] | [INFO] [stdout] 210 | fn draw(field: &Field, out: &mut dyn Write) { [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] --> src/day15.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | write!(out, "{}", termion::clear::All); [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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/day15.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | / match t { [INFO] [stdout] 219 | | CellTypes::Start => write!(out, "{}*.", to_term(p)), [INFO] [stdout] 220 | | CellTypes::Empty => write!(out, "{}.", to_term(p)), [INFO] [stdout] 221 | | CellTypes::Wall => write!(out, "{}#", to_term(p)), [INFO] [stdout] 222 | | CellTypes::OxSystem => write!(out, "{}@", to_term(p)), [INFO] [stdout] 223 | | }; [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] --> src/day15.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | write!(out, "{}D{}", to_term(&field.bot_position), termion::cursor::Goto(1, 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/day15.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | writeln!(stdout, "Distance: {:?}", ox_system_distance(&droid.field)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/day15.rs:411:5 [INFO] [stdout] | [INFO] [stdout] 411 | writeln!(stdout, "Filling time: {:?}", filling_time(&droid.field)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "fb2d561c71bb55d6b9548d40b2ddae7669d3d9b8ac45b0cdb2b206de1a6c568a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb2d561c71bb55d6b9548d40b2ddae7669d3d9b8ac45b0cdb2b206de1a6c568a", kill_on_drop: false }` [INFO] [stdout] fb2d561c71bb55d6b9548d40b2ddae7669d3d9b8ac45b0cdb2b206de1a6c568a