[INFO] cloning repository https://github.com/Bigomby/aoc2020
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Bigomby/aoc2020" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBigomby%2Faoc2020", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBigomby%2Faoc2020'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c2f74024f79363e2e185cf2d82587c820c8e3111
[INFO] checking Bigomby/aoc2020 against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBigomby%2Faoc2020" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Bigomby/aoc2020
[INFO] finished tweaking git repo https://github.com/Bigomby/aoc2020
[INFO] tweaked toml for git repo https://github.com/Bigomby/aoc2020 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Bigomby/aoc2020 on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Bigomby/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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thread_local v1.0.1
[INFO] [stderr]   Downloaded either v1.6.1
[INFO] [stderr]   Downloaded memchr v2.3.4
[INFO] [stderr]   Downloaded oorandom v11.1.3
[INFO] [stderr]   Downloaded memoffset v0.6.1
[INFO] [stderr]   Downloaded semver-parser v0.7.0
[INFO] [stderr]   Downloaded unicode-xid v0.2.1
[INFO] [stderr]   Downloaded ansi_term v0.11.0
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.69
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.69
[INFO] [stderr]   Downloaded csv-core v0.1.10
[INFO] [stderr]   Downloaded semver v0.9.0
[INFO] [stderr]   Downloaded byteorder v1.3.4
[INFO] [stderr]   Downloaded cast v0.2.3
[INFO] [stderr]   Downloaded js-sys v0.3.46
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.0
[INFO] [stderr]   Downloaded serde_derive v1.0.117
[INFO] [stderr]   Downloaded bumpalo v3.4.0
[INFO] [stderr]   Downloaded clap v2.33.3
[INFO] [stderr]   Downloaded rayon v1.5.0
[INFO] [stderr]   Downloaded serde v1.0.117
[INFO] [stderr]   Downloaded regex-automata v0.1.9
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.69
[INFO] [stderr]   Downloaded regex-syntax v0.6.21
[INFO] [stderr]   Downloaded serde_json v1.0.59
[INFO] [stderr]   Downloaded syn v1.0.53
[INFO] [stderr]   Downloaded regex v1.4.2
[INFO] [stderr]   Downloaded aho-corasick v0.7.15
[INFO] [stderr]   Downloaded bstr v0.2.14
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.0
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.1
[INFO] [stderr]   Downloaded libc v0.2.80
[INFO] [stderr]   Downloaded half v1.6.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.24
[INFO] [stderr]   Downloaded quote v1.0.7
[INFO] [stderr]   Downloaded criterion v0.3.3
[INFO] [stderr]   Downloaded criterion-plot v0.4.3
[INFO] [stderr]   Downloaded log v0.4.11
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.1
[INFO] [stderr]   Downloaded rayon-core v1.9.0
[INFO] [stderr]   Downloaded serde_cbor v0.11.1
[INFO] [stderr]   Downloaded web-sys v0.3.46
[INFO] [stderr]   Downloaded csv v1.1.5
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.69
[INFO] [stderr]   Downloaded hermit-abi v0.1.17
[INFO] [stderr]   Downloaded num_cpus v1.13.0
[INFO] [stderr]   Downloaded itoa v0.4.6
[INFO] [stderr]   Downloaded plotters v0.2.15
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.69
[INFO] [stderr]   Downloaded walkdir v2.3.1
[INFO] [stderr]   Downloaded rustc_version v0.2.3
[INFO] [stderr]   Downloaded itertools v0.9.0
[INFO] [stderr]   Downloaded const_fn v0.4.3
[INFO] [stderr]   Downloaded bitflags v1.2.1
[INFO] [stderr]   Downloaded tinytemplate v1.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4b964136eba4230d30256234f090818a72cf200e14b20716c043c808ed230db7
[INFO] running `Command { std: "docker" "start" "-a" "4b964136eba4230d30256234f090818a72cf200e14b20716c043c808ed230db7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4b964136eba4230d30256234f090818a72cf200e14b20716c043c808ed230db7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b964136eba4230d30256234f090818a72cf200e14b20716c043c808ed230db7", kill_on_drop: false }`
[INFO] [stdout] 4b964136eba4230d30256234f090818a72cf200e14b20716c043c808ed230db7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b750df32b2251f1c6237f587c2d8c38db7326f7663e4f96060ee8e0f72bb853d
[INFO] running `Command { std: "docker" "start" "-a" "b750df32b2251f1c6237f587c2d8c38db7326f7663e4f96060ee8e0f72bb853d", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling libc v0.2.80
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling serde v1.0.117
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling const_fn v0.4.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling rayon-core v1.9.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.1
[INFO] [stderr]    Compiling memoffset v0.6.1
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking itoa v0.4.6
[INFO] [stderr]    Compiling cast v0.2.3
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]    Compiling serde_json v1.0.59
[INFO] [stderr]    Compiling syn v1.0.53
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]     Checking regex-automata v0.1.9
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]    Compiling rayon v1.5.0
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]    Compiling serde_derive v1.0.117
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.0
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]     Checking crossbeam-deque v0.8.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]     Checking half v1.6.0
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking regex-syntax v0.6.21
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking plotters v0.2.15
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking walkdir v2.3.1
[INFO] [stderr]     Checking criterion-plot v0.4.3
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking bstr v0.2.14
[INFO] [stderr]     Checking serde_cbor v0.11.1
[INFO] [stderr]     Checking csv v1.1.5
[INFO] [stderr]     Checking regex v1.4.2
[INFO] [stderr]     Checking tinytemplate v1.1.0
[INFO] [stderr]     Checking criterion v0.3.3
[INFO] [stderr]     Checking aoc2020 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/lib/puzzles/puzzle05.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |             .map(|entry| (entry.split_at(7)))
[INFO] [stdout]    |                          ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 -             .map(|entry| (entry.split_at(7)))
[INFO] [stdout] 16 +             .map(|entry| entry.split_at(7) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `destructuring_assignment` has been stable since 1.59.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(destructuring_assignment)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/lib/puzzles/puzzle05.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |             .map(|entry| (entry.split_at(7)))
[INFO] [stdout]    |                          ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 -             .map(|entry| (entry.split_at(7)))
[INFO] [stdout] 16 +             .map(|entry| entry.split_at(7) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `destructuring_assignment` has been stable since 1.59.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(destructuring_assignment)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PuzzleError` is never constructed
[INFO] [stdout]   --> src/lib/lib.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | struct PuzzleError;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Puzzle` is never used
[INFO] [stdout]   --> src/lib/puzzles/mod.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait Puzzle<T> {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part1` is never used
[INFO] [stdout]  --> src/lib/puzzles/puzzle02.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solve_part1<'a, I: Into<&'a str>>(input: I) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part2` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle02.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn solve_part2<'a, I: Into<&'a str>>(input: I) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_part1` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle02.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn verify_part1(min: &usize, max: &usize, target: &char, data: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_part2` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle02.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn verify_part2(a: &usize, b: &usize, target: &char, data: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_entry` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle02.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn parse_entry(raw: &str) -> Result<(usize, usize, char, &str), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Puzzle03` is never constructed
[INFO] [stdout]  --> src/lib/puzzles/puzzle03.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Puzzle03 {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `solve_part1` and `solve_part2` are never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle03.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Puzzle03 {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout]  8 |     pub fn solve_part1(&self, grid: &Grid) -> i64 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn solve_part2(&self, grid: &Grid) -> i64 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GridItem` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle03.rs:58:6
[INFO] [stdout]    |
[INFO] [stdout] 58 | enum GridItem {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grid` is never constructed
[INFO] [stdout]   --> src/lib/puzzles/puzzle03.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct Grid {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse` and `item_at` are never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle03.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl Grid {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 69 |     fn parse(input: &str) -> Self {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     fn item_at(&self, x: usize, y: usize) -> Option<GridItem> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Puzzle04` is never constructed
[INFO] [stdout]  --> src/lib/puzzles/puzzle04.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Puzzle04 {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Passport` is never constructed
[INFO] [stdout]   --> src/lib/puzzles/puzzle04.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct Passport {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/lib/puzzles/puzzle04.rs:46:8
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl Passport {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  46 |     fn read(input: &str) -> Self {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn update(mut self, key: &str, value: &str) -> Self {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn validate_presence(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn validate_complete(&self) -> HashMap<String, bool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn validate_hgt(hgt: &Option<String>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     fn validate_pid(pid: &Option<String>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn validate_in_range(item: &Option<usize>, min: usize, max: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn validate_regex(item: &Option<String>, re: Regex) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn validate_in_collection(item: &Option<String>, collection: &[&str]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Puzzle05` is never constructed
[INFO] [stdout]  --> src/lib/puzzles/puzzle05.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Puzzle05 {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `solve_part1`, `solve_part2`, `by_distance`, and `compute_ids` are never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle05.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Puzzle05 {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 29 |     fn solve_part1(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn solve_part2(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn by_distance(seat: i32, distance: i32) -> Option<i32> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn compute_ids(entries: &[(String, String)]) -> Vec<i32> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part1` is never used
[INFO] [stdout]  --> src/lib/puzzles/puzzle06.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn solve_part1<'a, I: Into<&'a str>>(input: I) -> i32 {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part2` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle06.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn solve_part2<'a, I: Into<&'a str>>(input: I) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RVec` is never constructed
[INFO] [stdout]   --> src/lib/puzzles/puzzle07.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct RVec<T>(T, Vec<RVec<T>>);
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part1` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle07.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn solve_part1<T: BufRead>(input: Lines<T>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part2` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle07.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn solve_part2<T: BufRead>(input: Lines<T>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trace_path` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle07.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn trace_path<'a>(
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `flatten_db` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle07.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn flatten_db<'a>(ps: &'a RVec<(&str, usize)>) -> Vec<(&'a str, usize)> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_db` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle07.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn build_db(
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_db_rev` is never used
[INFO] [stdout]    --> src/lib/puzzles/puzzle07.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn build_db_rev(
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_total` is never used
[INFO] [stdout]    --> src/lib/puzzles/puzzle07.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn compute_total(db: &RVec<(&str, usize)>) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle08.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum Instruction {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part1` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle08.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn solve_part1<T: BufRead>(input: Lines<T>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part2` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle08.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn solve_part2<T: BufRead>(input: Lines<T>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_instruction` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle08.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn execute_instruction(pc: usize, acc: i32, instruction: &Instruction) -> (usize, i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_arg` is never used
[INFO] [stdout]    --> src/lib/puzzles/puzzle08.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn parse_arg(s: &str) -> Option<i32> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `swap_instructions` is never used
[INFO] [stdout]    --> src/lib/puzzles/puzzle08.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn swap_instructions(instructions: &Vec<Instruction>, a: usize, b: usize) -> Vec<Instruction> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part1` is never used
[INFO] [stdout]  --> src/lib/puzzles/puzzle09.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn solve_part1<T: BufRead>(input: Lines<T>, window_size: usize) -> i64 {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part2` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle09.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn solve_part2<T: BufRead>(input: Lines<T>, window_size: usize) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_sums_list` is never used
[INFO] [stdout]   --> src/lib/puzzles/puzzle09.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn compute_sums_list(input: &Vec<i64>, start: usize, target: i64) -> Option<Vec<i64>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/lib/puzzles/puzzle03.rs:78:29
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 c => panic!(format!("Invalid character found: '{}'", c)),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 78 -                 c => panic!(format!("Invalid character found: '{}'", c)),
[INFO] [stdout] 78 +                 c => panic!("Invalid character found: '{}'", c),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/lib/puzzles/puzzle03.rs:78:29
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 c => panic!(format!("Invalid character found: '{}'", c)),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 78 -                 c => panic!(format!("Invalid character found: '{}'", c)),
[INFO] [stdout] 78 +                 c => panic!("Invalid character found: '{}'", c),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.19s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "b750df32b2251f1c6237f587c2d8c38db7326f7663e4f96060ee8e0f72bb853d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b750df32b2251f1c6237f587c2d8c38db7326f7663e4f96060ee8e0f72bb853d", kill_on_drop: false }`
[INFO] [stdout] b750df32b2251f1c6237f587c2d8c38db7326f7663e4f96060ee8e0f72bb853d
