[INFO] cloning repository https://github.com/udoprog/rust-advent-of-code-2018 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/udoprog/rust-advent-of-code-2018" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fudoprog%2Frust-advent-of-code-2018", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fudoprog%2Frust-advent-of-code-2018'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 93a5e6762be53b785f3e31c52e8b0fd99a4e0ac6 [INFO] checking udoprog/rust-advent-of-code-2018 against master#f21fbac535ab2c3bc50db20547f4d48477357103 for pr-143193 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fudoprog%2Frust-advent-of-code-2018" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/udoprog/rust-advent-of-code-2018 [INFO] finished tweaking git repo https://github.com/udoprog/rust-advent-of-code-2018 [INFO] tweaked toml for git repo https://github.com/udoprog/rust-advent-of-code-2018 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/udoprog/rust-advent-of-code-2018 on toolchain f21fbac535ab2c3bc50db20547f4d48477357103 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/udoprog/rust-advent-of-code-2018 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 28219b9e15736a316936946cc5963c491e3cf0f3ef4c050dec811c8d02f96dd7 [INFO] running `Command { std: "docker" "start" "-a" "28219b9e15736a316936946cc5963c491e3cf0f3ef4c050dec811c8d02f96dd7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "28219b9e15736a316936946cc5963c491e3cf0f3ef4c050dec811c8d02f96dd7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "28219b9e15736a316936946cc5963c491e3cf0f3ef4c050dec811c8d02f96dd7", kill_on_drop: false }` [INFO] [stdout] 28219b9e15736a316936946cc5963c491e3cf0f3ef4c050dec811c8d02f96dd7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2a89bc17adda2a5e8b35ff09b594729f172bdbedc6e06c7533a612a3d8df8196 [INFO] running `Command { std: "docker" "start" "-a" "2a89bc17adda2a5e8b35ff09b594729f172bdbedc6e06c7533a612a3d8df8196", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Compiling libc v0.2.66 [INFO] [stderr] Compiling getrandom v0.1.13 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling proc-macro2 v1.0.6 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.6 [INFO] [stderr] Compiling syn v1.0.11 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling libm v0.1.4 [INFO] [stderr] Compiling typenum v1.11.2 [INFO] [stderr] Checking scopeguard v1.0.0 [INFO] [stderr] Compiling cc v1.0.47 [INFO] [stderr] Compiling rayon-core v1.6.1 [INFO] [stderr] Compiling pkg-config v0.3.17 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Compiling anyhow v1.0.25 [INFO] [stderr] Checking itertools v0.8.2 [INFO] [stderr] Checking matrixmultiply v0.2.3 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking c2-chacha v0.2.3 [INFO] [stderr] Compiling num-traits v0.2.10 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling crossbeam-utils v0.7.0 [INFO] [stderr] Compiling num-complex v0.2.3 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling crossbeam-epoch v0.8.0 [INFO] [stderr] Compiling num-bigint v0.2.3 [INFO] [stderr] Compiling num-rational v0.2.2 [INFO] [stderr] Compiling num-iter v0.1.39 [INFO] [stderr] Compiling memoffset v0.5.3 [INFO] [stderr] Compiling hashbrown v0.6.3 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling ncurses v5.99.0 [INFO] [stderr] Checking crossbeam-queue v0.2.0 [INFO] [stderr] Checking crossbeam-deque v0.7.2 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking num_cpus v1.11.1 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Checking generic-array v0.13.2 [INFO] [stderr] Checking chrono v0.4.10 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking alga v0.9.2 [INFO] [stderr] Compiling rand_chacha v0.2.1 [INFO] [stderr] Compiling rand v0.7.2 [INFO] [stderr] Checking rayon v1.2.1 [INFO] [stderr] Compiling proc-macro-hack v0.5.11 [INFO] [stderr] Checking rand_distr v0.2.2 [INFO] [stderr] Checking num v0.2.0 [INFO] [stderr] Checking nalgebra v0.19.0 [INFO] [stderr] Compiling const-random-macro v0.1.6 [INFO] [stderr] Checking const-random v0.1.6 [INFO] [stderr] Checking ahash v0.2.18 [INFO] [stderr] Checking aoc2018 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/bin/day6.rs:68:39 [INFO] [stdout] | [INFO] [stdout] 68 | queue.extend(neigh(c).into_iter().map(|c| (*c, d + 1))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 68 - queue.extend(neigh(c).into_iter().map(|c| (*c, d + 1))); [INFO] [stdout] 68 + queue.extend(neigh(c).iter().map(|c| (*c, d + 1))); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 68 - queue.extend(neigh(c).into_iter().map(|c| (*c, d + 1))); [INFO] [stdout] 68 + queue.extend(IntoIterator::into_iter(neigh(c)).map(|c| (*c, d + 1))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/bin/day6.rs:159:35 [INFO] [stdout] | [INFO] [stdout] 159 | queue.extend(neigh(c).into_iter()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 159 - queue.extend(neigh(c).into_iter()); [INFO] [stdout] 159 + queue.extend(neigh(c).iter()); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 159 - queue.extend(neigh(c).into_iter()); [INFO] [stdout] 159 + queue.extend(IntoIterator::into_iter(neigh(c))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:382:18 [INFO] [stdout] | [INFO] [stdout] 382 | ncurses::printw("Result is "); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:385:18 [INFO] [stdout] | [INFO] [stdout] 385 | ncurses::printw(&a); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:388:18 [INFO] [stdout] | [INFO] [stdout] 388 | ncurses::printw(", press [enter] to exit..."); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:441:26 [INFO] [stdout] | [INFO] [stdout] 441 | ncurses::printw(">"); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:447:22 [INFO] [stdout] | [INFO] [stdout] 447 | ncurses::printw(&format!("{} {}, {}, {}", op, a, b, c)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:462:22 [INFO] [stdout] | [INFO] [stdout] 462 | ncurses::printw(&format!("{} = ", name)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:468:22 [INFO] [stdout] | [INFO] [stdout] 468 | ncurses::printw(&value.to_string()); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:479:22 [INFO] [stdout] | [INFO] [stdout] 479 | ncurses::printw("Press [space] to step..."); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day18.rs:271:12 [INFO] [stdout] | [INFO] [stdout] 271 | n::printw("press [enter] to exit..."); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day18.rs:304:16 [INFO] [stdout] | [INFO] [stdout] 304 | n::printw(grid.get(pos).as_str()); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/day9.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | let mut c = Box::::from_raw(ptr); [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 return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/bin/day9.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | Box::from_raw(d); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 203 | let _ = Box::from_raw(d); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/bin/day9.rs:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | Box::from_raw(c); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 206 | let _ = Box::from_raw(c); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/bin/day12.rs:72:39 [INFO] [stdout] | [INFO] [stdout] 72 | [-2, -1, 0, 1, 2].into_iter().all(|t| { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 72 - [-2, -1, 0, 1, 2].into_iter().all(|t| { [INFO] [stdout] 72 + [-2, -1, 0, 1, 2].iter().all(|t| { [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 72 - [-2, -1, 0, 1, 2].into_iter().all(|t| { [INFO] [stdout] 72 + IntoIterator::into_iter([-2, -1, 0, 1, 2]).all(|t| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:402:18 [INFO] [stdout] | [INFO] [stdout] 402 | ncurses::printw("Result is "); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:405:18 [INFO] [stdout] | [INFO] [stdout] 405 | ncurses::printw(&a); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:408:18 [INFO] [stdout] | [INFO] [stdout] 408 | ncurses::printw(", press [enter] to exit..."); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:461:26 [INFO] [stdout] | [INFO] [stdout] 461 | ncurses::printw(">"); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:467:22 [INFO] [stdout] | [INFO] [stdout] 467 | ncurses::printw(&format!("{} {}, {}, {}", inst.op_code, a, b, c)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:482:22 [INFO] [stdout] | [INFO] [stdout] 482 | ncurses::printw(&format!("{} = ", name)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:488:22 [INFO] [stdout] | [INFO] [stdout] 488 | ncurses::printw(&value.to_string()); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:497:22 [INFO] [stdout] | [INFO] [stdout] 497 | ncurses::printw("press [space] to step..."); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:382:18 [INFO] [stdout] | [INFO] [stdout] 382 | ncurses::printw("Result is "); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:385:18 [INFO] [stdout] | [INFO] [stdout] 385 | ncurses::printw(&a); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:388:18 [INFO] [stdout] | [INFO] [stdout] 388 | ncurses::printw(", press [enter] to exit..."); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:441:26 [INFO] [stdout] | [INFO] [stdout] 441 | ncurses::printw(">"); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:447:22 [INFO] [stdout] | [INFO] [stdout] 447 | ncurses::printw(&format!("{} {}, {}, {}", op, a, b, c)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:462:22 [INFO] [stdout] | [INFO] [stdout] 462 | ncurses::printw(&format!("{} = ", name)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:468:22 [INFO] [stdout] | [INFO] [stdout] 468 | ncurses::printw(&value.to_string()); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day16.rs:479:22 [INFO] [stdout] | [INFO] [stdout] 479 | ncurses::printw("Press [space] to step..."); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/bin/day16.rs:455:14 [INFO] [stdout] | [INFO] [stdout] 455 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 455 - .into_iter() [INFO] [stdout] 455 + .iter() [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 454 - for (line, (name, value)) in ['0', '1', '2', '3'] [INFO] [stdout] 454 + for (line, (name, value)) in IntoIterator::into_iter(['0', '1', '2', '3']) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/bin/day16.rs:455:14 [INFO] [stdout] | [INFO] [stdout] 455 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 455 - .into_iter() [INFO] [stdout] 455 + .iter() [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 454 - for (line, (name, value)) in ['0', '1', '2', '3'] [INFO] [stdout] 454 + for (line, (name, value)) in IntoIterator::into_iter(['0', '1', '2', '3']) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `prev` is never read [INFO] [stdout] --> src/bin/day19.rs:278:13 [INFO] [stdout] | [INFO] [stdout] 278 | let mut prev = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day18.rs:271:12 [INFO] [stdout] | [INFO] [stdout] 271 | n::printw("press [enter] to exit..."); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day18.rs:304:16 [INFO] [stdout] | [INFO] [stdout] 304 | n::printw(grid.get(pos).as_str()); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/bin/day19.rs:475:14 [INFO] [stdout] | [INFO] [stdout] 475 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 475 - .into_iter() [INFO] [stdout] 475 + .iter() [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 474 - for (line, (name, value)) in ['0', '1', '2', '3', '4', '5'] [INFO] [stdout] 474 + for (line, (name, value)) in IntoIterator::into_iter(['0', '1', '2', '3', '4', '5']) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:402:18 [INFO] [stdout] | [INFO] [stdout] 402 | ncurses::printw("Result is "); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:405:18 [INFO] [stdout] | [INFO] [stdout] 405 | ncurses::printw(&a); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:408:18 [INFO] [stdout] | [INFO] [stdout] 408 | ncurses::printw(", press [enter] to exit..."); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:461:26 [INFO] [stdout] | [INFO] [stdout] 461 | ncurses::printw(">"); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:467:22 [INFO] [stdout] | [INFO] [stdout] 467 | ncurses::printw(&format!("{} {}, {}, {}", inst.op_code, a, b, c)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:482:22 [INFO] [stdout] | [INFO] [stdout] 482 | ncurses::printw(&format!("{} = ", name)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:488:22 [INFO] [stdout] | [INFO] [stdout] 488 | ncurses::printw(&value.to_string()); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ncurses::printw`: printw can segfault when printing string that contains % sign. Use addstr instead [INFO] [stdout] --> src/bin/day19.rs:497:22 [INFO] [stdout] | [INFO] [stdout] 497 | ncurses::printw("press [space] to step..."); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/day9.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | let mut c = Box::::from_raw(ptr); [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 return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/bin/day9.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | Box::from_raw(d); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 203 | let _ = Box::from_raw(d); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/bin/day9.rs:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | Box::from_raw(c); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 206 | let _ = Box::from_raw(c); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/bin/day6.rs:68:39 [INFO] [stdout] | [INFO] [stdout] 68 | queue.extend(neigh(c).into_iter().map(|c| (*c, d + 1))); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 68 - queue.extend(neigh(c).into_iter().map(|c| (*c, d + 1))); [INFO] [stdout] 68 + queue.extend(neigh(c).iter().map(|c| (*c, d + 1))); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 68 - queue.extend(neigh(c).into_iter().map(|c| (*c, d + 1))); [INFO] [stdout] 68 + queue.extend(IntoIterator::into_iter(neigh(c)).map(|c| (*c, d + 1))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/bin/day6.rs:159:35 [INFO] [stdout] | [INFO] [stdout] 159 | queue.extend(neigh(c).into_iter()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 159 - queue.extend(neigh(c).into_iter()); [INFO] [stdout] 159 + queue.extend(neigh(c).iter()); [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 159 - queue.extend(neigh(c).into_iter()); [INFO] [stdout] 159 + queue.extend(IntoIterator::into_iter(neigh(c))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/bin/day12.rs:72:39 [INFO] [stdout] | [INFO] [stdout] 72 | [-2, -1, 0, 1, 2].into_iter().all(|t| { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 72 - [-2, -1, 0, 1, 2].into_iter().all(|t| { [INFO] [stdout] 72 + [-2, -1, 0, 1, 2].iter().all(|t| { [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 72 - [-2, -1, 0, 1, 2].into_iter().all(|t| { [INFO] [stdout] 72 + IntoIterator::into_iter([-2, -1, 0, 1, 2]).all(|t| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `prev` is never read [INFO] [stdout] --> src/bin/day19.rs:278:13 [INFO] [stdout] | [INFO] [stdout] 278 | let mut prev = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/bin/day19.rs:475:14 [INFO] [stdout] | [INFO] [stdout] 475 | .into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 475 - .into_iter() [INFO] [stdout] 475 + .iter() [INFO] [stdout] | [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 474 - for (line, (name, value)) in ['0', '1', '2', '3', '4', '5'] [INFO] [stdout] 474 + for (line, (name, value)) in IntoIterator::into_iter(['0', '1', '2', '3', '4', '5']) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.08s [INFO] running `Command { std: "docker" "inspect" "2a89bc17adda2a5e8b35ff09b594729f172bdbedc6e06c7533a612a3d8df8196", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2a89bc17adda2a5e8b35ff09b594729f172bdbedc6e06c7533a612a3d8df8196", kill_on_drop: false }` [INFO] [stdout] 2a89bc17adda2a5e8b35ff09b594729f172bdbedc6e06c7533a612a3d8df8196