[INFO] cloning repository https://github.com/jlricon/advent-code-2019-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jlricon/advent-code-2019-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjlricon%2Fadvent-code-2019-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjlricon%2Fadvent-code-2019-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d19aa3737470c020ce5646964b8143b3f2c242b1
[INFO] checking jlricon/advent-code-2019-rust against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjlricon%2Fadvent-code-2019-rust" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jlricon/advent-code-2019-rust
[INFO] finished tweaking git repo https://github.com/jlricon/advent-code-2019-rust
[INFO] tweaked toml for git repo https://github.com/jlricon/advent-code-2019-rust written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jlricon/advent-code-2019-rust 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/jlricon/advent-code-2019-rust 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]  Downloading crates ...
[INFO] [stderr]   Downloaded num v0.2.0
[INFO] [stderr]   Downloaded rand_os v0.2.2
[INFO] [stderr]   Downloaded rand_xoshiro v0.3.1
[INFO] [stderr]   Downloaded criterion-plot v0.4.0
[INFO] [stderr]   Downloaded sized-chunks v0.5.1
[INFO] [stderr]   Downloaded serde v1.0.103
[INFO] [stderr]   Downloaded serde_json v1.0.44
[INFO] [stderr]   Downloaded criterion v0.3.0
[INFO] [stderr]   Downloaded im v14.1.0
[INFO] [stderr]   Downloaded pathfinding v2.0.1
[INFO] [stderr]   Downloaded bitmaps v2.0.0
[INFO] [stderr]   Downloaded serde_derive v1.0.103
[INFO] [stderr]   Downloaded syn v1.0.11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 53da906fcbf5a759878a221c618367f98ecb3922070e824d721eff8e5bd50960
[INFO] running `Command { std: "docker" "start" "-a" "53da906fcbf5a759878a221c618367f98ecb3922070e824d721eff8e5bd50960", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "53da906fcbf5a759878a221c618367f98ecb3922070e824d721eff8e5bd50960", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53da906fcbf5a759878a221c618367f98ecb3922070e824d721eff8e5bd50960", kill_on_drop: false }`
[INFO] [stdout] 53da906fcbf5a759878a221c618367f98ecb3922070e824d721eff8e5bd50960
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] d0bc5a0774d43a1c911dd859809cb06a516173dd1c86d5a04de9abaccbf6ce1b
[INFO] running `Command { std: "docker" "start" "-a" "d0bc5a0774d43a1c911dd859809cb06a516173dd1c86d5a04de9abaccbf6ce1b", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]    Compiling getrandom v0.1.13
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stderr]    Compiling memoffset v0.5.3
[INFO] [stderr]    Compiling typenum v1.11.2
[INFO] [stderr]    Compiling num-bigint v0.2.3
[INFO] [stderr]    Compiling rayon-core v1.6.1
[INFO] [stderr]     Checking num_cpus v1.11.1
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]    Compiling indexmap v1.3.0
[INFO] [stderr]    Compiling num-rational v0.2.2
[INFO] [stderr]    Compiling num-complex v0.2.3
[INFO] [stderr]    Compiling num-iter v0.1.39
[INFO] [stderr]    Compiling version_check v0.9.1
[INFO] [stderr]     Checking crossbeam-queue v0.2.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking crossbeam-deque v0.7.2
[INFO] [stderr]    Compiling im v14.1.0
[INFO] [stderr]     Checking rand_xoshiro v0.4.0
[INFO] [stderr]     Checking fixedbitset v0.2.0
[INFO] [stderr]    Compiling serde v1.0.103
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]     Checking bitmaps v2.0.0
[INFO] [stderr]     Checking rayon v1.2.1
[INFO] [stderr]     Checking pathfinding v2.0.1
[INFO] [stderr]    Compiling syn v1.0.11
[INFO] [stderr]     Checking csv-core v0.1.6
[INFO] [stderr]     Checking regex-automata v0.1.8
[INFO] [stderr]     Checking same-file v1.0.5
[INFO] [stderr]     Checking sized-chunks v0.5.1
[INFO] [stderr]     Checking walkdir v2.2.9
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking criterion-plot v0.4.0
[INFO] [stderr]     Checking rand_xoshiro v0.3.1
[INFO] [stderr]     Checking num v0.2.0
[INFO] [stderr]     Checking rand_os v0.2.2
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking advent-code-2019-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/bin/day_16.rs:27:34
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn apply_1_phase(inp: &Vec<u32>, n: usize) -> Vec<u32> {
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Ops` is never used
[INFO] [stdout]  --> src/bin/day_16.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | enum Ops {
[INFO] [stdout]   |      ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_PATTERN` is never used
[INFO] [stdout]  --> src/bin/day_16.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const BASE_PATTERN: [Ops; 4] = [Ops::None, Ops::Plus, Ops::None, Ops::Minus];
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input_list_times_pattern` is never used
[INFO] [stdout]  --> src/bin/day_16.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn input_list_times_pattern(x: &Vec<u32>, pos: usize) -> u32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_1_phase` is never used
[INFO] [stdout]   --> src/bin/day_16.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn apply_1_phase(inp: &Vec<u32>, n: usize) -> Vec<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_n_phases` is never used
[INFO] [stdout]   --> src/bin/day_16.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn apply_n_phases(x: Vec<u32>, n: usize) -> Vec<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/bin/day_16.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn part1() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> src/bin/day_16.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |         .into_iter()
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 10 -         .into_iter()
[INFO] [stdout] 10 +         .iter()
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout]  9 -     let pattern = BASE_PATTERN
[INFO] [stdout] 10 -         .into_iter()
[INFO] [stdout]  9 +     let pattern = IntoIterator::into_iter(BASE_PATTERN)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::bigint::ToBigInt`
[INFO] [stdout]  --> src/bin/day_22.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use num::bigint::ToBigInt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cards`
[INFO] [stdout]    --> src/bin/day_22.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let cards: Vector<Moves> = get_ops(inp);
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_cards`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `apply` is never used
[INFO] [stdout]   --> src/bin/day_22.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Moves {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 34 |     fn apply(&self, it: Vector<u32>) -> Vector<u32> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deal_into_new` is never used
[INFO] [stdout]   --> src/bin/day_22.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn deal_into_new(it: Vector<u32>) -> Vector<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cut_n_cards_pos` is never used
[INFO] [stdout]   --> src/bin/day_22.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn cut_n_cards_pos(it: Vector<u32>, n: usize) -> Vector<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cut_n_cards_neg` is never used
[INFO] [stdout]   --> src/bin/day_22.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn cut_n_cards_neg(it: Vector<u32>, n: usize) -> Vector<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cut_n_cards` is never used
[INFO] [stdout]   --> src/bin/day_22.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn cut_n_cards(it: Vector<u32>, n: i32) -> Vector<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deal_with_increment` is never used
[INFO] [stdout]   --> src/bin/day_22.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn deal_with_increment(it: Vector<u32>, n: usize) -> Vector<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_ops` is never used
[INFO] [stdout]    --> src/bin/day_22.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn apply_ops(baseline: Vector<u32>, ops: Vector<Moves>) -> Vector<u32> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/bin/day_22.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let L = 119315717514047;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]    --> src/bin/day_22.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let N = 101741582076661;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/bin/day_14.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/bin/day_14.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | mod test {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/bin/day_14.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn from_line(x: &str) -> Reaction {
[INFO] [stdout]    |                     ^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn from_line(x: &str) -> Reaction<'_> {
[INFO] [stdout]    |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/bin/day_10.rs:162:44
[INFO] [stdout]     |
[INFO] [stdout] 162 |                         .sorted_by_key(|x| ((x.0 * x.0 + x.1 * x.1) as i32))
[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] 162 -                         .sorted_by_key(|x| ((x.0 * x.0 + x.1 * x.1) as i32))
[INFO] [stdout] 162 +                         .sorted_by_key(|x| (x.0 * x.0 + x.1 * x.1) as i32 )
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/bin/day_15.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     'main: loop {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bin/day_10.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let x = (v.0 as f32, v.1 as f32);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `val` is never read
[INFO] [stdout]   --> src/bin/day_19.rs:74:26
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let mut val: usize = 0;
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `val` is never read
[INFO] [stdout]    --> src/bin/day_19.rs:108:26
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut val: usize = 0;
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]  --> src/bin/day_19.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn part1() {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_ray` is never used
[INFO] [stdout]   --> src/bin/day_19.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn print_ray(area: &HashMap<(i64, i64), i64>, s: usize) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PI` is never used
[INFO] [stdout]  --> src/bin/day_10.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const PI: f32 = std::f32::consts::PI;
[INFO] [stdout]   |       ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `euclid` is never used
[INFO] [stdout]   --> src/bin/day_10.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn euclid(v: Vector) -> usize {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_by_angle_and_magnitude` is never used
[INFO] [stdout]   --> src/bin/day_10.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn sort_by_angle_and_magnitude(a: Position, c: Position, refpos: Position) -> Ordering {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]    --> src/bin/day_10.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl Field {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vector`
[INFO] [stdout]    --> src/bin/day_15.rs:215:19
[INFO] [stdout]     |
[INFO] [stdout] 215 |         .filter(|(vector, block)| block.1 == Tile::Empty)
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_universe` is never used
[INFO] [stdout]   --> src/bin/day_15.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn print_universe(universe: &Universe) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_derive v1.0.103
[INFO] [stderr]     Checking serde_json v1.0.44
[INFO] [stderr]     Checking bstr v0.2.8
[INFO] [stderr]     Checking csv v1.1.1
[INFO] [stderr]     Checking tinytemplate v1.0.2
[INFO] [stderr]     Checking criterion v0.3.0
[INFO] [stdout] warning: value assigned to `val` is never read
[INFO] [stdout]   --> src/bin/day_19.rs:74:26
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let mut val: usize = 0;
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `val` is never read
[INFO] [stdout]    --> src/bin/day_19.rs:108:26
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut val: usize = 0;
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]  --> src/bin/day_19.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn part1() {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_ray` is never used
[INFO] [stdout]   --> src/bin/day_19.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn print_ray(area: &HashMap<(i64, i64), i64>, s: usize) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/bin/day_12.rs:275:68
[INFO] [stdout]     |
[INFO] [stdout] 275 |         let lcm: u128 = vec![2, 4, 6].into_iter().fold(1, |acc, x| (x.lcm(&acc)));
[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] 275 -         let lcm: u128 = vec![2, 4, 6].into_iter().fold(1, |acc, x| (x.lcm(&acc)));
[INFO] [stdout] 275 +         let lcm: u128 = vec![2, 4, 6].into_iter().fold(1, |acc, x| x.lcm(&acc));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/bin/day_12.rs:279:31
[INFO] [stdout]     |
[INFO] [stdout] 279 |             .fold(1, |acc, x| (x.lcm(&acc)));
[INFO] [stdout]     |                               ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 279 -             .fold(1, |acc, x| (x.lcm(&acc)));
[INFO] [stdout] 279 +             .fold(1, |acc, x| x.lcm(&acc));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/bin/day_14.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn from_line(x: &str) -> Reaction {
[INFO] [stdout]    |                     ^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn from_line(x: &str) -> Reaction<'_> {
[INFO] [stdout]    |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jumps`
[INFO] [stdout]  --> benches/bench6.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let jumps = get_jumps(orbits);
[INFO] [stdout]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_jumps`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/bin/day_16.rs:27:34
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn apply_1_phase(inp: &Vec<u32>, n: usize) -> Vec<u32> {
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/bin/day_15.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     'main: loop {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]    --> src/bin/day_15.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |     use itertools::Itertools;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/bin/day_16.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn part1() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> src/bin/day_16.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |         .into_iter()
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 10 -         .into_iter()
[INFO] [stdout] 10 +         .iter()
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout]  9 -     let pattern = BASE_PATTERN
[INFO] [stdout] 10 -         .into_iter()
[INFO] [stdout]  9 +     let pattern = IntoIterator::into_iter(BASE_PATTERN)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/bin/day_10.rs:162:44
[INFO] [stdout]     |
[INFO] [stdout] 162 |                         .sorted_by_key(|x| ((x.0 * x.0 + x.1 * x.1) as i32))
[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] 162 -                         .sorted_by_key(|x| ((x.0 * x.0 + x.1 * x.1) as i32))
[INFO] [stdout] 162 +                         .sorted_by_key(|x| (x.0 * x.0 + x.1 * x.1) as i32 )
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]    --> src/bin/day_10.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |     use std::iter::FromIterator;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bin/day_10.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let x = (v.0 as f32, v.1 as f32);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]    --> src/bin/day_10.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl Field {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::bigint::ToBigInt`
[INFO] [stdout]  --> src/bin/day_22.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use num::bigint::ToBigInt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vector`
[INFO] [stdout]    --> src/bin/day_15.rs:215:19
[INFO] [stdout]     |
[INFO] [stdout] 215 |         .filter(|(vector, block)| block.1 == Tile::Empty)
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_universe` is never used
[INFO] [stdout]   --> src/bin/day_15.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn print_universe(universe: &Universe) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cards`
[INFO] [stdout]    --> src/bin/day_22.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let cards: Vector<Moves> = get_ops(inp);
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_cards`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/bin/day_22.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let L = 119315717514047;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]    --> src/bin/day_22.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let N = 101741582076661;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.59s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 8`
[INFO] running `Command { std: "docker" "inspect" "d0bc5a0774d43a1c911dd859809cb06a516173dd1c86d5a04de9abaccbf6ce1b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d0bc5a0774d43a1c911dd859809cb06a516173dd1c86d5a04de9abaccbf6ce1b", kill_on_drop: false }`
[INFO] [stdout] d0bc5a0774d43a1c911dd859809cb06a516173dd1c86d5a04de9abaccbf6ce1b
