[INFO] cloning repository https://github.com/peaceman/aoc2020
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/peaceman/aoc2020" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeaceman%2Faoc2020", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeaceman%2Faoc2020'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4bad951d5199fde73540f1e3aa5bcb223902169e
[INFO] testing peaceman/aoc2020 against 1.69.0 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeaceman%2Faoc2020" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/peaceman/aoc2020 on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/peaceman/aoc2020
[INFO] finished tweaking git repo https://github.com/peaceman/aoc2020
[INFO] tweaked toml for git repo https://github.com/peaceman/aoc2020 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/peaceman/aoc2020 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" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded scan_fmt v0.2.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] feaaf9180ea7a88061a20535196262433fb3e29a3c9905d69861a8aeb7684d80
[INFO] running `Command { std: "docker" "start" "-a" "feaaf9180ea7a88061a20535196262433fb3e29a3c9905d69861a8aeb7684d80", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "feaaf9180ea7a88061a20535196262433fb3e29a3c9905d69861a8aeb7684d80", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "feaaf9180ea7a88061a20535196262433fb3e29a3c9905d69861a8aeb7684d80", kill_on_drop: false }`
[INFO] [stdout] feaaf9180ea7a88061a20535196262433fb3e29a3c9905d69861a8aeb7684d80
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8ebe613c3aca75a512056659a34a38f1b3c73f7f00d9be3360dc1e623803f36a
[INFO] running `Command { std: "docker" "start" "-a" "8ebe613c3aca75a512056659a34a38f1b3c73f7f00d9be3360dc1e623803f36a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling syn v1.0.53
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling libc v0.2.80
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling unicode-segmentation v1.7.1
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling hashbrown v0.9.1
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling regex-syntax v0.6.21
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling os_str_bytes v2.4.0
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling thread_local v1.0.1
[INFO] [stderr]    Compiling textwrap v0.12.1
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling indexmap v1.6.0
[INFO] [stderr]    Compiling heck v0.3.1
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling regex v1.4.2
[INFO] [stderr]    Compiling scan_fmt v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.22
[INFO] [stderr]    Compiling clap_derive v3.0.0-beta.2
[INFO] [stderr]    Compiling thiserror v1.0.22
[INFO] [stderr]    Compiling clap v3.0.0-beta.2
[INFO] [stderr]    Compiling aoc2020 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/bin/day14a.rs:70:19
[INFO] [stdout]    |
[INFO] [stdout] 70 |         if let Ok((string_mask)) = scan_fmt!(l, "mask = {}", String) {
[INFO] [stdout]    |                   ^           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -         if let Ok((string_mask)) = scan_fmt!(l, "mask = {}", String) {
[INFO] [stdout] 70 +         if let Ok(string_mask) = scan_fmt!(l, "mask = {}", String) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Range`
[INFO] [stdout]  --> src/bin/day9a.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Range;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/bin/day7b.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 import: `std::iter::Filter`
[INFO] [stdout]  --> src/bin/day17b.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::iter::Filter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/bin/day11a.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::fmt::Alignment::Left`
[INFO] [stdout]  --> src/bin/day18a.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use core::fmt::Alignment::Left;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stdout]  --> src/bin/day18a.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::hint::unreachable_unchecked;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day11a.rs:81:14
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn parse(mut reader: impl BufRead) -> Result<Self, ParseError> {
[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 `std::mem::replace` that must be used
[INFO] [stdout]   --> src/bin/day16a.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 | ...                   std::mem::replace(&mut my_ticket, ticket);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cycle`
[INFO] [stdout]    --> src/bin/day17b.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |     for cycle in 0..cycles {
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_cycle`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/bin/day11b.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/bin/day18a.rs:175:20
[INFO] [stdout]     |
[INFO] [stdout] 175 |             panic!(error_msg);
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 175 |             panic!("{}", error_msg);
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expand_rule` is never used
[INFO] [stdout]   --> src/bin/day19b.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn expand_rule(rules: &Rules, idx: usize) -> HashSet<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `HashSet`
[INFO] [stdout]  --> src/bin/day9b.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | 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: `std::ops::Range`
[INFO] [stdout]  --> src/bin/day9b.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::Range;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[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: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/bin/day15a.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 |     };
[INFO] [stdout]    |      ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[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 import: `core::fmt::Alignment::Left`
[INFO] [stdout]  --> src/bin/day18b.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use core::fmt::Alignment::Left;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Pointer`
[INFO] [stdout]  --> src/bin/day18b.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::Pointer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stdout]  --> src/bin/day18b.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::hint::unreachable_unchecked;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/bin/day18b.rs:176:20
[INFO] [stdout]     |
[INFO] [stdout] 176 |             panic!(error_msg);
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 176 |             panic!("{}", error_msg);
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/bin/day4a.rs:93:5
[INFO] [stdout]     |
[INFO] [stdout] 92  | struct Passport {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 93  |     birth_year: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 94  |     issue_year: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 95  |     expiration_year: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 96  |     height: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 97  |     hair_color: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 98  |     eye_color: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 99  |     passport_id: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 100 |     country_id: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/bin/day15b.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 45 |     };
[INFO] [stdout]    |      ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` 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: multiple fields are never read
[INFO] [stdout]    --> src/bin/day4b.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout] 96  | struct Passport {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 97  |     birth_year: BirthYear,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 98  |     issue_year: IssueYear,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 99  |     expiration_year: ExpirationYear,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 100 |     height: Height,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 101 |     hair_color: HairColor,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 102 |     eye_color: EyeColor,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 103 |     passport_id: PassportId,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 104 |     country_id: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[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: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 14.06s
[INFO] running `Command { std: "docker" "inspect" "8ebe613c3aca75a512056659a34a38f1b3c73f7f00d9be3360dc1e623803f36a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ebe613c3aca75a512056659a34a38f1b3c73f7f00d9be3360dc1e623803f36a", kill_on_drop: false }`
[INFO] [stdout] 8ebe613c3aca75a512056659a34a38f1b3c73f7f00d9be3360dc1e623803f36a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f3fcc261d6027a6186c59588556db7c8ce89a44cc2e2af35bfd4c0f1bd029375
[INFO] running `Command { std: "docker" "start" "-a" "f3fcc261d6027a6186c59588556db7c8ce89a44cc2e2af35bfd4c0f1bd029375", kill_on_drop: false }`
[INFO] [stderr]    Compiling aoc2020 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `FieldRules`
[INFO] [stdout]    --> src/bin/day16a.rs:111:62
[INFO] [stdout]     |
[INFO] [stdout] 111 |     use crate::{determine_ticket_scanning_error_rate, parse, FieldRules};
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::fmt::Alignment::Left`
[INFO] [stdout]  --> src/bin/day18a.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use core::fmt::Alignment::Left;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stdout]  --> src/bin/day18a.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::hint::unreachable_unchecked;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `HashSet`
[INFO] [stdout]  --> src/bin/day9b.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | 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: `std::ops::Range`
[INFO] [stdout]  --> src/bin/day9b.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::Range;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/bin/day7b.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: unnecessary trailing semicolon
[INFO] [stdout]   --> src/bin/day15a.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 |     };
[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 variable: `my_ticket`
[INFO] [stdout]    --> src/bin/day16a.rs:130:27
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let (field_rules, my_ticket, nearby_tickets) = parse(data.as_bytes());
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_ticket`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/bin/day4a.rs:93:5
[INFO] [stdout]     |
[INFO] [stdout] 92  | struct Passport {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 93  |     birth_year: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 94  |     issue_year: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 95  |     expiration_year: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 96  |     height: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 97  |     hair_color: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 98  |     eye_color: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 99  |     passport_id: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 100 |     country_id: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]   --> src/bin/day16a.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 | ...                   std::mem::replace(&mut my_ticket, ticket);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day18a.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |         let mut scanner = Scanner::new(input);
[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: panic message is not a string literal
[INFO] [stdout]    --> src/bin/day18a.rs:175:20
[INFO] [stdout]     |
[INFO] [stdout] 175 |             panic!(error_msg);
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 175 |             panic!("{}", error_msg);
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Filter`
[INFO] [stdout]  --> src/bin/day17b.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::iter::Filter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cycle`
[INFO] [stdout]    --> src/bin/day17b.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |     for cycle in 0..cycles {
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_cycle`
[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: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/bin/day4b.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout] 96  | struct Passport {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 97  |     birth_year: BirthYear,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 98  |     issue_year: IssueYear,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 99  |     expiration_year: ExpirationYear,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 100 |     height: Height,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 101 |     hair_color: HairColor,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 102 |     eye_color: EyeColor,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 103 |     passport_id: PassportId,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 104 |     country_id: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rules`
[INFO] [stdout]    --> src/bin/day19a.rs:115:37
[INFO] [stdout]     |
[INFO] [stdout] 115 |     use crate::{expand_rule, parse, Rules};
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `messages`
[INFO] [stdout]    --> src/bin/day19a.rs:164:21
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let (rules, messages) = parse(input.trim().as_bytes());
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_messages`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/bin/day11a.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GridPlace`, `Point`
[INFO] [stdout]    --> src/bin/day11a.rs:276:60
[INFO] [stdout]     |
[INFO] [stdout] 276 |     use crate::{apply_seating_rules, count_occupied_seats, GridPlace, Point, SeatLayout};
[INFO] [stdout]     |                                                            ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/bin/day11b.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GridPlace`, `Point`
[INFO] [stdout]    --> src/bin/day11b.rs:315:60
[INFO] [stdout]     |
[INFO] [stdout] 315 |     use crate::{apply_seating_rules, count_occupied_seats, GridPlace, Point, SeatLayout};
[INFO] [stdout]     |                                                            ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day11a.rs:81:14
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn parse(mut reader: impl BufRead) -> Result<Self, ParseError> {
[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: unnecessary trailing semicolon
[INFO] [stdout]   --> src/bin/day15b.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 45 |     };
[INFO] [stdout]    |      ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FieldRules`
[INFO] [stdout]    --> src/bin/day16b.rs:193:81
[INFO] [stdout]     |
[INFO] [stdout] 193 |         determine_field_positions, determine_ticket_scanning_error_rate, parse, FieldRules,
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_ticket`
[INFO] [stdout]    --> src/bin/day16b.rs:213:27
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let (field_rules, my_ticket, nearby_tickets) = parse(data.as_bytes());
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_ticket`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_ticket`
[INFO] [stdout]    --> src/bin/day16b.rs:235:27
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let (field_rules, my_ticket, nearby_tickets) = parse(data.as_bytes());
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_ticket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RulePart`, `Rules`
[INFO] [stdout]    --> src/bin/day19b.rs:185:55
[INFO] [stdout]     |
[INFO] [stdout] 185 |     use crate::{expand_rule, is_valid_message, parse, RulePart, Rules};
[INFO] [stdout]     |                                                       ^^^^^^^^  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `messages`
[INFO] [stdout]    --> src/bin/day19b.rs:265:25
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let (mut rules, messages) = parse(input.trim().as_bytes());
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_messages`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `messages`
[INFO] [stdout]    --> src/bin/day19b.rs:317:21
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let (rules, messages) = parse(input.trim().as_bytes());
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_messages`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/bin/day14a.rs:70:19
[INFO] [stdout]    |
[INFO] [stdout] 70 |         if let Ok((string_mask)) = scan_fmt!(l, "mask = {}", String) {
[INFO] [stdout]    |                   ^           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -         if let Ok((string_mask)) = scan_fmt!(l, "mask = {}", String) {
[INFO] [stdout] 70 +         if let Ok(string_mask) = scan_fmt!(l, "mask = {}", String) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Range`
[INFO] [stdout]  --> src/bin/day9a.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Range;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::fmt::Alignment::Left`
[INFO] [stdout]  --> src/bin/day18b.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use core::fmt::Alignment::Left;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Pointer`
[INFO] [stdout]  --> src/bin/day18b.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::Pointer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stdout]  --> src/bin/day18b.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::hint::unreachable_unchecked;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day18b.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let mut scanner = Scanner::new(input);
[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: panic message is not a string literal
[INFO] [stdout]    --> src/bin/day18b.rs:176:20
[INFO] [stdout]     |
[INFO] [stdout] 176 |             panic!(error_msg);
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 176 |             panic!("{}", error_msg);
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[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: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.43s
[INFO] running `Command { std: "docker" "inspect" "f3fcc261d6027a6186c59588556db7c8ce89a44cc2e2af35bfd4c0f1bd029375", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3fcc261d6027a6186c59588556db7c8ce89a44cc2e2af35bfd4c0f1bd029375", kill_on_drop: false }`
[INFO] [stdout] f3fcc261d6027a6186c59588556db7c8ce89a44cc2e2af35bfd4c0f1bd029375
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 337e5e02a2dc618b285e53b4a9189d90ea1462199c538775428894dfca6c7e34
[INFO] running `Command { std: "docker" "start" "-a" "337e5e02a2dc618b285e53b4a9189d90ea1462199c538775428894dfca6c7e34", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `FieldRules`
[INFO] [stderr]    --> src/bin/day16a.rs:111:62
[INFO] [stderr]     |
[INFO] [stderr] 111 |     use crate::{determine_ticket_scanning_error_rate, parse, FieldRules};
[INFO] [stderr]     |                                                              ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_ticket`
[INFO] [stderr]    --> src/bin/day16a.rs:130:27
[INFO] [stderr]     |
[INFO] [stderr] 130 |         let (field_rules, my_ticket, nearby_tickets) = parse(data.as_bytes());
[INFO] [stderr]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_ticket`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stderr]   --> src/bin/day16a.rs:82:29
[INFO] [stderr]    |
[INFO] [stderr] 82 | ...                   std::mem::replace(&mut my_ticket, ticket);
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]    --> src/bin/day4a.rs:93:5
[INFO] [stderr]     |
[INFO] [stderr] 92  | struct Passport {
[INFO] [stderr]     |        -------- fields in this struct
[INFO] [stderr] 93  |     birth_year: String,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 94  |     issue_year: String,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 95  |     expiration_year: String,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 96  |     height: String,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 97  |     hair_color: String,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 98  |     eye_color: String,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 99  |     passport_id: String,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 100 |     country_id: Option<String>,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/bin/day15a.rs:43:6
[INFO] [stderr]    |
[INFO] [stderr] 43 |     };
[INFO] [stderr]    |      ^ help: remove this semicolon
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/bin/day15b.rs:45:6
[INFO] [stderr]    |
[INFO] [stderr] 45 |     };
[INFO] [stderr]    |      ^ help: remove this semicolon
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter::Filter`
[INFO] [stderr]  --> src/bin/day17b.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::iter::Filter;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cycle`
[INFO] [stderr]    --> src/bin/day17b.rs:179:9
[INFO] [stderr]     |
[INFO] [stderr] 179 |     for cycle in 0..cycles {
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_cycle`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]  --> src/bin/day7b.rs:2:33
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                                 ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `FieldRules`
[INFO] [stderr]    --> src/bin/day16b.rs:193:81
[INFO] [stderr]     |
[INFO] [stderr] 193 |         determine_field_positions, determine_ticket_scanning_error_rate, parse, FieldRules,
[INFO] [stderr]     |                                                                                 ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_ticket`
[INFO] [stderr]    --> src/bin/day16b.rs:213:27
[INFO] [stderr]     |
[INFO] [stderr] 213 |         let (field_rules, my_ticket, nearby_tickets) = parse(data.as_bytes());
[INFO] [stderr]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_ticket`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_ticket`
[INFO] [stderr]    --> src/bin/day16b.rs:235:27
[INFO] [stderr]     |
[INFO] [stderr] 235 |         let (field_rules, my_ticket, nearby_tickets) = parse(data.as_bytes());
[INFO] [stderr]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_ticket`
[INFO] [stderr] 
[INFO] [stderr] warning: `aoc2020` (bin "day16a" test) generated 3 warnings (run `cargo fix --bin "day16a" --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `aoc2020` (bin "day4a" test) generated 1 warning
[INFO] [stderr] warning: `aoc2020` (bin "day15a" test) generated 1 warning
[INFO] [stderr] warning: `aoc2020` (bin "day15b" test) generated 1 warning
[INFO] [stderr] warning: `aoc2020` (bin "day17b" test) generated 2 warnings (run `cargo fix --bin "day17b" --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `aoc2020` (bin "day7b" test) generated 1 warning (run `cargo fix --bin "day7b" --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `aoc2020` (bin "day16b" test) generated 3 warnings (run `cargo fix --bin "day16b" --tests` to apply 3 suggestions)
[INFO] [stderr] warning: unused imports: `HashMap`, `HashSet`
[INFO] [stderr]  --> src/bin/day9b.rs:3:24
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Range`
[INFO] [stderr]  --> src/bin/day9b.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::ops::Range;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `RulePart`, `Rules`
[INFO] [stderr]    --> src/bin/day19b.rs:185:55
[INFO] [stderr]     |
[INFO] [stderr] 185 |     use crate::{expand_rule, is_valid_message, parse, RulePart, Rules};
[INFO] [stderr]     |                                                       ^^^^^^^^  ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `messages`
[INFO] [stderr]    --> src/bin/day19b.rs:265:25
[INFO] [stderr]     |
[INFO] [stderr] 265 |         let (mut rules, messages) = parse(input.trim().as_bytes());
[INFO] [stderr]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_messages`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `messages`
[INFO] [stderr]    --> src/bin/day19b.rs:317:21
[INFO] [stderr]     |
[INFO] [stderr] 317 |         let (rules, messages) = parse(input.trim().as_bytes());
[INFO] [stderr]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_messages`
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]    --> src/bin/day4b.rs:97:5
[INFO] [stderr]     |
[INFO] [stderr] 96  | struct Passport {
[INFO] [stderr]     |        -------- fields in this struct
[INFO] [stderr] 97  |     birth_year: BirthYear,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 98  |     issue_year: IssueYear,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 99  |     expiration_year: ExpirationYear,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 100 |     height: Height,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 101 |     hair_color: HairColor,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 102 |     eye_color: EyeColor,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 103 |     passport_id: PassportId,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 104 |     country_id: Option<String>,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Display`
[INFO] [stderr]  --> src/bin/day11a.rs:4:16
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fmt::{Display, Formatter};
[INFO] [stderr]   |                ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GridPlace`, `Point`
[INFO] [stderr]    --> src/bin/day11a.rs:276:60
[INFO] [stderr]     |
[INFO] [stderr] 276 |     use crate::{apply_seating_rules, count_occupied_seats, GridPlace, Point, SeatLayout};
[INFO] [stderr]     |                                                            ^^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/day11a.rs:81:14
[INFO] [stderr]    |
[INFO] [stderr] 81 |     fn parse(mut reader: impl BufRead) -> Result<Self, ParseError> {
[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: unnecessary parentheses around pattern
[INFO] [stderr]   --> src/bin/day14a.rs:70:19
[INFO] [stderr]    |
[INFO] [stderr] 70 |         if let Ok((string_mask)) = scan_fmt!(l, "mask = {}", String) {
[INFO] [stderr]    |                   ^           ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 70 -         if let Ok((string_mask)) = scan_fmt!(l, "mask = {}", String) {
[INFO] [stderr] 70 +         if let Ok(string_mask) = scan_fmt!(l, "mask = {}", String) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::fmt::Alignment::Left`
[INFO] [stderr]  --> src/bin/day18a.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use core::fmt::Alignment::Left;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stderr]  --> src/bin/day18a.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::hint::unreachable_unchecked;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bin/day18a.rs:291:13
[INFO] [stderr]     |
[INFO] [stderr] 291 |         let mut scanner = Scanner::new(input);
[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: panic message is not a string literal
[INFO] [stderr]    --> src/bin/day18a.rs:175:20
[INFO] [stderr]     |
[INFO] [stderr] 175 |             panic!(error_msg);
[INFO] [stderr]     |                    ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 175 |             panic!("{}", error_msg);
[INFO] [stderr]     |                    +++++
[INFO] [stderr] 
[INFO] [stderr] warning: `aoc2020` (bin "day9b" test) generated 2 warnings (run `cargo fix --bin "day9b" --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `aoc2020` (bin "day19b" test) generated 3 warnings (run `cargo fix --bin "day19b" --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `aoc2020` (bin "day4b" test) generated 1 warning
[INFO] [stderr] warning: `aoc2020` (bin "day11a" test) generated 3 warnings (run `cargo fix --bin "day11a" --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `aoc2020` (bin "day14a" test) generated 1 warning (run `cargo fix --bin "day14a" --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `aoc2020` (bin "day18a" test) generated 4 warnings (run `cargo fix --bin "day18a" --tests` to apply 4 suggestions)
[INFO] [stderr] warning: unused import: `core::fmt::Alignment::Left`
[INFO] [stderr]  --> src/bin/day18b.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use core::fmt::Alignment::Left;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Pointer`
[INFO] [stderr]  --> src/bin/day18b.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fmt::Pointer;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stderr]  --> src/bin/day18b.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::hint::unreachable_unchecked;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bin/day18b.rs:307:13
[INFO] [stderr]     |
[INFO] [stderr] 307 |         let mut scanner = Scanner::new(input);
[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: panic message is not a string literal
[INFO] [stderr]    --> src/bin/day18b.rs:176:20
[INFO] [stderr]     |
[INFO] [stderr] 176 |             panic!(error_msg);
[INFO] [stderr]     |                    ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 176 |             panic!("{}", error_msg);
[INFO] [stderr]     |                    +++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Range`
[INFO] [stderr]  --> src/bin/day9a.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::ops::Range;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Display`
[INFO] [stderr]  --> src/bin/day11b.rs:4:16
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fmt::{Display, Formatter};
[INFO] [stderr]   |                ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GridPlace`, `Point`
[INFO] [stderr]    --> src/bin/day11b.rs:315:60
[INFO] [stderr]     |
[INFO] [stderr] 315 |     use crate::{apply_seating_rules, count_occupied_seats, GridPlace, Point, SeatLayout};
[INFO] [stderr]     |                                                            ^^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Rules`
[INFO] [stderr]    --> src/bin/day19a.rs:115:37
[INFO] [stderr]     |
[INFO] [stderr] 115 |     use crate::{expand_rule, parse, Rules};
[INFO] [stderr]     |                                     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `messages`
[INFO] [stderr]    --> src/bin/day19a.rs:164:21
[INFO] [stderr]     |
[INFO] [stderr] 164 |         let (rules, messages) = parse(input.trim().as_bytes());
[INFO] [stderr]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_messages`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `aoc2020` (bin "day18b" test) generated 5 warnings (run `cargo fix --bin "day18b" --tests` to apply 5 suggestions)
[INFO] [stderr] warning: `aoc2020` (bin "day9a" test) generated 1 warning (run `cargo fix --bin "day9a" --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `aoc2020` (bin "day11b" test) generated 2 warnings (run `cargo fix --bin "day11b" --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `aoc2020` (bin "day19a" test) generated 2 warnings (run `cargo fix --bin "day19a" --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/bin/day10a.rs (/opt/rustwide/target/debug/deps/day10a-eff8f237c2aa1852)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_part1_example_a ... ok
[INFO] [stdout] test tests::test_part1_example_b ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day10b.rs (/opt/rustwide/target/debug/deps/day10b-2ca3a60737a1f614)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_part2_example_a ... ok
[INFO] [stdout] test tests::test_part2_example_b ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day11a.rs (/opt/rustwide/target/debug/deps/day11a-56d5fa444c24a4be)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test::test_apply_seating_rules ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day11b.rs (/opt/rustwide/target/debug/deps/day11b-964d5f74792724ce)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test::test_apply_seating_rules ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day12a.rs (/opt/rustwide/target/debug/deps/day12a-9ffccb953c2ae954)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_navigation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day12b.rs (/opt/rustwide/target/debug/deps/day12b-98d9ffae21e0f24e)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_rotation ... ok
[INFO] [stdout] test tests::test_navigation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day13a.rs (/opt/rustwide/target/debug/deps/day13a-4835f6adcd998ed2)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_determine_earliest_bus ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day13b.rs (/opt/rustwide/target/debug/deps/day13b-b4083c7a98d678c5)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_find_earliest_timestamp ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day14a.rs (/opt/rustwide/target/debug/deps/day14a-1f0c9e8228a34136)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_bitmask ... ok
[INFO] [stdout] test tests::test_execute ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day14b.rs (/opt/rustwide/target/debug/deps/day14b-85fa3df3638ddcf0)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_bitmask ... ok
[INFO] [stdout] test tests::test_execute ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day15a.rs (/opt/rustwide/target/debug/deps/day15a-37db66b2552b6bac)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_play_game ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day15b.rs (/opt/rustwide/target/debug/deps/day15b-8f999f339c255ccb)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_play_game ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 12.33s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day16a.rs (/opt/rustwide/target/debug/deps/day16a-83ad9df0611650e5)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_determine_ticket_scanning_error_rate ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day16b.rs (/opt/rustwide/target/debug/deps/day16b-db4bc50b36769e71)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_determine_ticket_scanning_error_rate ... ok
[INFO] [stdout] test tests::test_determine_field_positions ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day17a.rs (/opt/rustwide/target/debug/deps/day17a-677be5060927592f)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_simulate_cycles ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day17b.rs (/opt/rustwide/target/debug/deps/day17b-db7078efd7756376)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_simulate_cycles ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.98s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day18a.rs (/opt/rustwide/target/debug/deps/day18a-1e0f627bef6561c5)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_scanner ... ok
[INFO] [stdout] test tests::test_eval ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day18b.rs (/opt/rustwide/target/debug/deps/day18b-6b11f22ccd037318)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_scanner ... ok
[INFO] [stdout] test tests::test_eval ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day19a.rs (/opt/rustwide/target/debug/deps/day19a-ed6a800da702b63e)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_rule_expansion ... ok
[INFO] [stdout] test tests::test_matching_messages ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day19b.rs (/opt/rustwide/target/debug/deps/day19b-745d3648fb68c72d)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_rule_expansion ... ok
[INFO] [stdout] test tests::test_matching_messages ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day1a.rs (/opt/rustwide/target/debug/deps/day1a-369e565f11bd920b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day1b.rs (/opt/rustwide/target/debug/deps/day1b-317ebeff103f7224)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day2a.rs (/opt/rustwide/target/debug/deps/day2a-308d89088549a8be)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day2b.rs (/opt/rustwide/target/debug/deps/day2b-68b95b21ca1d2230)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day3a.rs (/opt/rustwide/target/debug/deps/day3a-a02016b107791127)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day3b.rs (/opt/rustwide/target/debug/deps/day3b-390ae75fe69959fd)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day4a.rs (/opt/rustwide/target/debug/deps/day4a-1214c2c77d9c2fcb)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day4b.rs (/opt/rustwide/target/debug/deps/day4b-8b7ba3d4422b1f49)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day5a.rs (/opt/rustwide/target/debug/deps/day5a-a99a2f9536efbb04)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test boarding_pass::tests::test_decode_part ... ok
[INFO] [stdout] test boarding_pass::tests::test_parse_seat ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day5b.rs (/opt/rustwide/target/debug/deps/day5b-93c8dc6106d81b3d)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test boarding_pass::tests::test_decode_part ... ok
[INFO] [stdout] test boarding_pass::tests::test_parse_seat ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day6a.rs (/opt/rustwide/target/debug/deps/day6a-07b87bab7521461f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day6b.rs (/opt/rustwide/target/debug/deps/day6b-449b7928af1740aa)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day7a.rs (/opt/rustwide/target/debug/deps/day7a-4644e191bb2123a1)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day7b.rs (/opt/rustwide/target/debug/deps/day7b-4630e1c47edf6e38)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day8a.rs (/opt/rustwide/target/debug/deps/day8a-41b33d60dd726c14)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day8b.rs (/opt/rustwide/target/debug/deps/day8b-585cb15a2708754b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day9a.rs (/opt/rustwide/target/debug/deps/day9a-f75674527b723405)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day9b.rs (/opt/rustwide/target/debug/deps/day9b-4875e2af8ea0b757)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "337e5e02a2dc618b285e53b4a9189d90ea1462199c538775428894dfca6c7e34", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "337e5e02a2dc618b285e53b4a9189d90ea1462199c538775428894dfca6c7e34", kill_on_drop: false }`
[INFO] [stdout] 337e5e02a2dc618b285e53b4a9189d90ea1462199c538775428894dfca6c7e34
