[INFO] cloning repository https://github.com/jpbougie/aoc2019 [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jpbougie/aoc2019" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjpbougie%2Faoc2019"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjpbougie%2Faoc2019'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] c11ca6c9b9cbf991c51d06684fbdde1636559f48 [INFO] testing jpbougie/aoc2019 against beta-2020-06-03 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjpbougie%2Faoc2019" "/workspace/builds/worker-5/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jpbougie/aoc2019 on toolchain beta-2020-06-03 [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/jpbougie/aoc2019 [INFO] finished tweaking git repo https://github.com/jpbougie/aoc2019 [INFO] tweaked toml for git repo https://github.com/jpbougie/aoc2019 written to /workspace/builds/worker-5/source/Cargo.toml [INFO] crate git repo https://github.com/jpbougie/aoc2019 already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-06-03" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 04a9f92a03cd96265dbc362feb30ab6eb9308f561b2b8f68497345602b97d8fd [INFO] running `"docker" "start" "-a" "04a9f92a03cd96265dbc362feb30ab6eb9308f561b2b8f68497345602b97d8fd"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling fixedbitset v0.2.0 [INFO] [stderr] Compiling permutohedron v0.2.4 [INFO] [stderr] Compiling num-traits v0.2.10 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling num-bigint v0.2.3 [INFO] [stderr] Compiling num-complex v0.2.3 [INFO] [stderr] Compiling num-rational v0.2.2 [INFO] [stderr] Compiling num-iter v0.1.39 [INFO] [stderr] Compiling termion v1.5.4 [INFO] [stderr] Compiling pathfinding v2.0.1 [INFO] [stderr] Compiling num v0.2.0 [INFO] [stderr] Compiling aoc2019 v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `HashSet` [INFO] [stderr] --> src/intcode.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Read`, `self` [INFO] [stderr] --> src/intcode.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{self, Read}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `RecvError`, `TryRecvError`, `sync_channel` [INFO] [stderr] --> src/intcode.rs:4:23 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::mpsc::{sync_channel, SyncSender, Receiver, RecvError, TryRecvError}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/intcode.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 4 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused import: `TryRecvError` [INFO] [stderr] --> src/bin/17.rs:3:37 [INFO] [stderr] | [INFO] [stderr] 3 | use std::sync::mpsc::{sync_channel, TryRecvError}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `TryRecvError` [INFO] [stderr] --> src/bin/15.rs:3:37 [INFO] [stderr] | [INFO] [stderr] 3 | use std::sync::mpsc::{sync_channel, TryRecvError}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/bin/18.rs:261:17 [INFO] [stderr] | [INFO] [stderr] 261 | 'a' ... 'z' => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/bin/18.rs:265:17 [INFO] [stderr] | [INFO] [stderr] 265 | 'A' ... 'Z' => Tile::Door(ch), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/bin/14.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 39 | / loop { [INFO] [stderr] 40 | | required.push(Item::new(1, goal)); [INFO] [stderr] 41 | | while let Some(req) = required.pop() { [INFO] [stderr] 42 | | let mut current_stock = inventory.entry(req.name.clone()).or_insert(0); [INFO] [stderr] ... | [INFO] [stderr] 79 | | } [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 81 | [INFO] [stderr] 82 | 0 [INFO] [stderr] | ^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bin/14.rs:42:17 [INFO] [stderr] | [INFO] [stderr] 42 | let mut current_stock = inventory.entry(req.name.clone()).or_insert(0); [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: unused variable: `output` [INFO] [stderr] --> src/bin/17.rs:201:9 [INFO] [stderr] | [INFO] [stderr] 201 | let mut output = String::new(); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/bin/17.rs:203:9 [INFO] [stderr] | [INFO] [stderr] 203 | let mut n = it.next(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `inputs_sender` [INFO] [stderr] --> src/bin/17.rs:218:10 [INFO] [stderr] | [INFO] [stderr] 218 | let (inputs_sender, inputs_receiver) = sync_channel(0); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inputs_sender` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bin/14.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | let mut current_stock = inventory.entry(req.name.clone()).or_insert(0); [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `turned` is never read [INFO] [stderr] --> src/bin/10.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | let mut turned = false; [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/bin/13.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | inputs_sender.try_send(next_input); [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: function is never used: `fuel_produced` [INFO] [stderr] --> src/bin/14.rs:33:4 [INFO] [stderr] | [INFO] [stderr] 33 | fn fuel_produced(reactions: &[Reaction], goal: &str, base_item: &str) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `IMMEDIATE` [INFO] [stderr] --> src/bin/05.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | const IMMEDIATE: i64 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `IMMEDIATE` [INFO] [stderr] --> src/bin/07.rs:144:1 [INFO] [stderr] | [INFO] [stderr] 144 | const IMMEDIATE: i64 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/bin/07.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | final_sender.send(exit_code); [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 `std::result::Result` that must be used [INFO] [stderr] --> src/bin/16.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | io::stdin().read_to_string(&mut input); [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: associated function is never used: `emptys` [INFO] [stderr] --> src/bin/10.rs:61:8 [INFO] [stderr] | [INFO] [stderr] 61 | fn emptys(&self) -> Positions { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bin/17.rs:201:9 [INFO] [stderr] | [INFO] [stderr] 201 | let mut output = String::new(); [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] --> src/bin/17.rs:203:9 [INFO] [stderr] | [INFO] [stderr] 203 | let mut n = it.next(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused import: `termion::input::TermRead` [INFO] [stderr] --> src/bin/15.rs:240:5 [INFO] [stderr] | [INFO] [stderr] 240 | use termion::input::TermRead; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `inverse` [INFO] [stderr] --> src/bin/17.rs:87:8 [INFO] [stderr] | [INFO] [stderr] 87 | fn inverse(&self) -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `step` [INFO] [stderr] --> src/bin/15.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | let mut step = 0; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_step` [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] --> src/bin/15.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | let mut program = input.split(",").map(|x| x.trim().parse().unwrap()).collect::>(); [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/bin/17.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | inputs_sender.send(ch as i64); [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: variable does not need to be mutable [INFO] [stderr] --> src/bin/15.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | let mut step = 0; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/bin/15.rs:264:9 [INFO] [stderr] | [INFO] [stderr] 264 | inputs_sender.send(next_command.command()); [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: function is never used: `accessible_keys` [INFO] [stderr] --> src/bin/18.rs:106:4 [INFO] [stderr] | [INFO] [stderr] 106 | fn accessible_keys(maze: &Maze, pos: &Addr) -> Vec<(char, Addr)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `doors` [INFO] [stderr] --> src/bin/18.rs:149:8 [INFO] [stderr] | [INFO] [stderr] 149 | fn doors(&self) -> Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `tile` [INFO] [stderr] --> src/bin/18.rs:157:8 [INFO] [stderr] | [INFO] [stderr] 157 | fn tile(&self, tile: &Tile) -> Option { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `tiles` [INFO] [stderr] --> src/bin/18.rs:161:8 [INFO] [stderr] | [INFO] [stderr] 161 | fn tiles(&self, tile_spec: &Tile) -> Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `unlock_door` [INFO] [stderr] --> src/bin/18.rs:238:8 [INFO] [stderr] | [INFO] [stderr] 238 | fn unlock_door(&mut self, key: char) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `walkable` [INFO] [stderr] --> src/bin/18.rs:306:8 [INFO] [stderr] | [INFO] [stderr] 306 | fn walkable(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `North` [INFO] [stderr] --> src/bin/18.rs:327:5 [INFO] [stderr] | [INFO] [stderr] 327 | North, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `South` [INFO] [stderr] --> src/bin/18.rs:328:5 [INFO] [stderr] | [INFO] [stderr] 328 | South, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `West` [INFO] [stderr] --> src/bin/18.rs:329:5 [INFO] [stderr] | [INFO] [stderr] 329 | West, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `East` [INFO] [stderr] --> src/bin/18.rs:330:5 [INFO] [stderr] | [INFO] [stderr] 330 | East, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `left` [INFO] [stderr] --> src/bin/18.rs:334:8 [INFO] [stderr] | [INFO] [stderr] 334 | fn left(&self) -> Self { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `right` [INFO] [stderr] --> src/bin/18.rs:343:8 [INFO] [stderr] | [INFO] [stderr] 343 | fn right(&self) -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `advance` [INFO] [stderr] --> src/bin/18.rs:352:8 [INFO] [stderr] | [INFO] [stderr] 352 | fn advance(&self, pos: &mut Addr) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `inverse` [INFO] [stderr] --> src/bin/18.rs:361:8 [INFO] [stderr] | [INFO] [stderr] 361 | fn inverse(&self) -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `neighbours_with_dir` [INFO] [stderr] --> src/bin/18.rs:399:8 [INFO] [stderr] | [INFO] [stderr] 399 | fn neighbours_with_dir(&self) -> Vec<(Dir, Addr)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TryRecvError` [INFO] [stderr] --> src/bin/11.rs:4:70 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::mpsc::{sync_channel, SyncSender, Receiver, RecvError, TryRecvError}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/bin/11.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | _ => {} [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: 4 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] warning: 8 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: 6 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: 17 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 31.36s [INFO] running `"docker" "inspect" "04a9f92a03cd96265dbc362feb30ab6eb9308f561b2b8f68497345602b97d8fd"` [INFO] running `"docker" "rm" "-f" "04a9f92a03cd96265dbc362feb30ab6eb9308f561b2b8f68497345602b97d8fd"` [INFO] [stdout] 04a9f92a03cd96265dbc362feb30ab6eb9308f561b2b8f68497345602b97d8fd [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-06-03" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] ecaf6a3dc3baa8c1db137ad0adf3a1dff030af6f413e78a1559b888e4e6f6a68 [INFO] running `"docker" "start" "-a" "ecaf6a3dc3baa8c1db137ad0adf3a1dff030af6f413e78a1559b888e4e6f6a68"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling aoc2019 v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `HashSet` [INFO] [stderr] --> src/intcode.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Read`, `self` [INFO] [stderr] --> src/intcode.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{self, Read}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `RecvError`, `TryRecvError`, `sync_channel` [INFO] [stderr] --> src/intcode.rs:4:23 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::mpsc::{sync_channel, SyncSender, Receiver, RecvError, TryRecvError}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/intcode.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 4 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused import: `TryRecvError` [INFO] [stderr] --> src/bin/17.rs:3:37 [INFO] [stderr] | [INFO] [stderr] 3 | use std::sync::mpsc::{sync_channel, TryRecvError}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `run` in this scope [INFO] [stderr] --> src/intcode.rs:208:20 [INFO] [stderr] | [INFO] [stderr] 208 | assert_eq!(run(program, 1), 1125899906842624); [INFO] [stderr] | ^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashSet` [INFO] [stderr] --> src/intcode.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Read`, `self` [INFO] [stderr] --> src/intcode.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{self, Read}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `RecvError`, `TryRecvError`, `sync_channel` [INFO] [stderr] --> src/intcode.rs:4:23 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::mpsc::{sync_channel, SyncSender, Receiver, RecvError, TryRecvError}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/intcode.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/intcode.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TryRecvError` [INFO] [stderr] --> src/bin/15.rs:3:37 [INFO] [stderr] | [INFO] [stderr] 3 | use std::sync::mpsc::{sync_channel, TryRecvError}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `TryRecvError` [INFO] [stderr] --> src/bin/11.rs:4:70 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::mpsc::{sync_channel, SyncSender, Receiver, RecvError, TryRecvError}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/bin/18.rs:261:17 [INFO] [stderr] | [INFO] [stderr] 261 | 'a' ... 'z' => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/bin/18.rs:265:17 [INFO] [stderr] | [INFO] [stderr] 265 | 'A' ... 'Z' => Tile::Door(ch), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: unused import: `termion::input::TermRead` [INFO] [stderr] --> src/bin/15.rs:240:5 [INFO] [stderr] | [INFO] [stderr] 240 | use termion::input::TermRead; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `step` [INFO] [stderr] --> src/bin/15.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | let mut step = 0; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output` [INFO] [stderr] --> src/bin/17.rs:201:9 [INFO] [stderr] | [INFO] [stderr] 201 | let mut output = String::new(); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/bin/17.rs:203:9 [INFO] [stderr] | [INFO] [stderr] 203 | let mut n = it.next(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `inputs_sender` [INFO] [stderr] --> src/bin/17.rs:218:10 [INFO] [stderr] | [INFO] [stderr] 218 | let (inputs_sender, inputs_receiver) = sync_channel(0); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inputs_sender` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bin/15.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | let mut program = input.split(",").map(|x| x.trim().parse().unwrap()).collect::>(); [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] --> src/bin/17.rs:201:9 [INFO] [stderr] | [INFO] [stderr] 201 | let mut output = String::new(); [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] --> src/bin/17.rs:203:9 [INFO] [stderr] | [INFO] [stderr] 203 | let mut n = it.next(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `inverse` [INFO] [stderr] --> src/bin/17.rs:87:8 [INFO] [stderr] | [INFO] [stderr] 87 | fn inverse(&self) -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/bin/17.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | inputs_sender.send(ch as i64); [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 `std::result::Result` that must be used [INFO] [stderr] --> src/bin/16.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | io::stdin().read_to_string(&mut input); [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: unreachable expression [INFO] [stderr] --> src/bin/14.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 39 | / loop { [INFO] [stderr] 40 | | required.push(Item::new(1, goal)); [INFO] [stderr] 41 | | while let Some(req) = required.pop() { [INFO] [stderr] 42 | | let mut current_stock = inventory.entry(req.name.clone()).or_insert(0); [INFO] [stderr] ... | [INFO] [stderr] 79 | | } [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 81 | [INFO] [stderr] 82 | 0 [INFO] [stderr] | ^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bin/15.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | let mut step = 0; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/bin/15.rs:264:9 [INFO] [stderr] | [INFO] [stderr] 264 | inputs_sender.send(next_command.command()); [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 `std::result::Result` that must be used [INFO] [stderr] --> src/bin/13.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | inputs_sender.try_send(next_input); [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: constant is never used: `IMMEDIATE` [INFO] [stderr] --> src/bin/07.rs:144:1 [INFO] [stderr] | [INFO] [stderr] 144 | const IMMEDIATE: i64 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/bin/07.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | final_sender.send(exit_code); [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] error: aborting due to previous error; 5 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0425`. [INFO] [stderr] error: could not compile `aoc2019`. [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] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/bin/11.rs:303:9 [INFO] [stderr] | [INFO] [stderr] 303 | assert_eq!(run(program, 1), 1125899906842624); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected tuple, found integer [INFO] [stderr] | [INFO] [stderr] = note: expected tuple `(std::collections::HashMap<(i64, i64), i64>, usize)` [INFO] [stderr] found type `{integer}` [INFO] [stderr] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0308`. [INFO] [stderr] warning: value assigned to `turned` is never read [INFO] [stderr] --> src/bin/10.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | let mut turned = false; [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: constant is never used: `IMMEDIATE` [INFO] [stderr] --> src/bin/05.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | const IMMEDIATE: i64 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 8 warnings emitted [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/bin/14.rs:193:41 [INFO] [stderr] | [INFO] [stderr] 193 | assert_eq!(ore_required(&input, "FUEL", "ORE"), 31); [INFO] [stderr] | ^^^^^^ expected struct `Item`, found `&str` [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0308`. [INFO] [stderr] warning: associated function is never used: `emptys` [INFO] [stderr] --> src/bin/10.rs:61:8 [INFO] [stderr] | [INFO] [stderr] 61 | fn emptys(&self) -> Positions { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `accessible_keys` [INFO] [stderr] --> src/bin/18.rs:106:4 [INFO] [stderr] | [INFO] [stderr] 106 | fn accessible_keys(maze: &Maze, pos: &Addr) -> Vec<(char, Addr)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `doors` [INFO] [stderr] --> src/bin/18.rs:149:8 [INFO] [stderr] | [INFO] [stderr] 149 | fn doors(&self) -> Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `tile` [INFO] [stderr] --> src/bin/18.rs:157:8 [INFO] [stderr] | [INFO] [stderr] 157 | fn tile(&self, tile: &Tile) -> Option { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `tiles` [INFO] [stderr] --> src/bin/18.rs:161:8 [INFO] [stderr] | [INFO] [stderr] 161 | fn tiles(&self, tile_spec: &Tile) -> Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `unlock_door` [INFO] [stderr] --> src/bin/18.rs:238:8 [INFO] [stderr] | [INFO] [stderr] 238 | fn unlock_door(&mut self, key: char) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `walkable` [INFO] [stderr] --> src/bin/18.rs:306:8 [INFO] [stderr] | [INFO] [stderr] 306 | fn walkable(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `North` [INFO] [stderr] --> src/bin/18.rs:327:5 [INFO] [stderr] | [INFO] [stderr] 327 | North, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `South` [INFO] [stderr] --> src/bin/18.rs:328:5 [INFO] [stderr] | [INFO] [stderr] 328 | South, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `West` [INFO] [stderr] --> src/bin/18.rs:329:5 [INFO] [stderr] | [INFO] [stderr] 329 | West, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `East` [INFO] [stderr] --> src/bin/18.rs:330:5 [INFO] [stderr] | [INFO] [stderr] 330 | East, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `left` [INFO] [stderr] --> src/bin/18.rs:334:8 [INFO] [stderr] | [INFO] [stderr] 334 | fn left(&self) -> Self { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `right` [INFO] [stderr] --> src/bin/18.rs:343:8 [INFO] [stderr] | [INFO] [stderr] 343 | fn right(&self) -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `advance` [INFO] [stderr] --> src/bin/18.rs:352:8 [INFO] [stderr] | [INFO] [stderr] 352 | fn advance(&self, pos: &mut Addr) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `inverse` [INFO] [stderr] --> src/bin/18.rs:361:8 [INFO] [stderr] | [INFO] [stderr] 361 | fn inverse(&self) -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `neighbours_with_dir` [INFO] [stderr] --> src/bin/18.rs:399:8 [INFO] [stderr] | [INFO] [stderr] 399 | fn neighbours_with_dir(&self) -> Vec<(Dir, Addr)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 6 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: 17 warnings emitted [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "ecaf6a3dc3baa8c1db137ad0adf3a1dff030af6f413e78a1559b888e4e6f6a68"` [INFO] running `"docker" "rm" "-f" "ecaf6a3dc3baa8c1db137ad0adf3a1dff030af6f413e78a1559b888e4e6f6a68"` [INFO] [stdout] ecaf6a3dc3baa8c1db137ad0adf3a1dff030af6f413e78a1559b888e4e6f6a68