[INFO] cloning repository https://github.com/plaflamme/aoc-2021-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/plaflamme/aoc-2021-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fplaflamme%2Faoc-2021-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fplaflamme%2Faoc-2021-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 266d4c400b95a799dd15eac1812b697b1b7feb37
[INFO] checking plaflamme/aoc-2021-rs against 8773d2c75a8e90130dcce745a7ec4e66bb9963db+rustflags=-Aunfulfilled-lint-expectations for pr-163637
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fplaflamme%2Faoc-2021-rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/plaflamme/aoc-2021-rs
[INFO] finished tweaking git repo https://github.com/plaflamme/aoc-2021-rs
[INFO] tweaked toml for git repo https://github.com/plaflamme/aoc-2021-rs written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/plaflamme/aoc-2021-rs on toolchain 8773d2c75a8e90130dcce745a7ec4e66bb9963db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/plaflamme/aoc-2021-rs 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" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[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 text_trees v0.1.2
[INFO] [stderr]   Downloaded redox_termios v0.1.2
[INFO] [stderr]   Downloaded stderrlog v0.5.1
[INFO] [stderr]   Downloaded pathfinding v3.0.5
[INFO] [stderr]   Downloaded bitter v0.5.1
[INFO] [stderr]   Downloaded os_str_bytes v4.2.0
[INFO] [stderr]   Downloaded clap_derive v3.0.0-beta.5
[INFO] [stderr]   Downloaded ryu v1.0.6
[INFO] [stderr]   Downloaded textwrap v0.14.2
[INFO] [stderr]   Downloaded serde_json v1.0.72
[INFO] [stderr]   Downloaded ureq v2.4.0
[INFO] [stderr]   Downloaded string_cache_codegen v0.5.1
[INFO] [stderr]   Downloaded string_cache v0.8.2
[INFO] [stderr]   Downloaded futf v0.1.4
[INFO] [stderr]   Downloaded markup5ever_rcdom v0.1.0
[INFO] [stderr]   Downloaded xml5ever v0.16.2
[INFO] [stderr]   Downloaded tendril v0.4.2
[INFO] [stderr]   Downloaded html2md v0.2.13
[INFO] [stderr]   Downloaded html5ever v0.25.1
[INFO] [stderr]   Downloaded clap v3.0.0-beta.5
[INFO] [stderr]   Downloaded webpki-roots v0.22.1
[INFO] [stderr]   Downloaded combine v4.6.2
[INFO] [stderr]   Downloaded rustls v0.20.2
[INFO] [stderr]   Downloaded anyhow v1.0.51
[INFO] [stderr]   Downloaded libc v0.2.108
[INFO] [stderr]   Downloaded aocf v0.1.18
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ece8614e7620cc87e52c155303bae5ec0bcd91553ec30a36fe2c0d1e63acd763
[INFO] running `Command { std: "docker" "start" "ece8614e7620cc87e52c155303bae5ec0bcd91553ec30a36fe2c0d1e63acd763", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ece8614e7620cc87e52c155303bae5ec0bcd91553ec30a36fe2c0d1e63acd763", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ece8614e7620cc87e52c155303bae5ec0bcd91553ec30a36fe2c0d1e63acd763" "/opt/rustwide/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ece8614e7620cc87e52c155303bae5ec0bcd91553ec30a36fe2c0d1e63acd763", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Aunfulfilled-lint-expectations" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ece8614e7620cc87e52c155303bae5ec0bcd91553ec30a36fe2c0d1e63acd763" "/opt/rustwide/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling libc v0.2.108
[INFO] [stderr]    Compiling proc-macro2 v1.0.32
[INFO] [stderr]    Compiling syn v1.0.82
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling cc v1.0.72
[INFO] [stderr]    Compiling ppv-lite86 v0.2.15
[INFO] [stderr]    Compiling siphasher v0.3.7
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking new_debug_unreachable v1.0.4
[INFO] [stderr]     Checking smallvec v1.7.0
[INFO] [stderr]     Checking lock_api v0.4.5
[INFO] [stderr]     Checking mac v0.1.1
[INFO] [stderr]     Checking precomputed-hash v0.1.1
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]    Compiling ryu v1.0.6
[INFO] [stderr]     Checking tinyvec v1.5.1
[INFO] [stderr]     Checking phf_shared v0.8.0
[INFO] [stderr]     Checking futf v0.1.4
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking tendril v0.4.2
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]    Compiling crc32fast v1.3.0
[INFO] [stderr]    Compiling serde_json v1.0.72
[INFO] [stderr]     Checking matches v0.1.9
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]     Checking phf v0.8.0
[INFO] [stderr]    Compiling semver v1.0.4
[INFO] [stderr]     Checking unicode-bidi v0.3.7
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]     Checking parking_lot_core v0.8.5
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking gimli v0.26.1
[INFO] [stderr]     Checking unicode-normalization v0.1.19
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking object v0.27.1
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking num-integer v0.1.44
[INFO] [stderr]     Checking itertools v0.10.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking form_urlencoded v1.0.1
[INFO] [stderr]    Compiling num-rational v0.4.0
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling backtrace v0.3.63
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]     Checking rustc-demangle v0.1.21
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking flate2 v1.0.22
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]    Compiling anyhow v1.0.51
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking chunked_transfer v1.4.0
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]     Checking num-complex v0.4.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.5
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]    Compiling cast v0.2.7
[INFO] [stderr]     Checking wyz v0.4.0
[INFO] [stderr]     Checking tempfile v3.2.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking integer-sqrt v0.1.5
[INFO] [stderr]     Checking os_str_bytes v4.2.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking textwrap v0.14.2
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking plotters-backend v0.3.2
[INFO] [stderr]     Checking funty v1.2.0
[INFO] [stderr]     Checking numtoa v0.1.0
[INFO] [stderr]     Checking fixedbitset v0.4.0
[INFO] [stderr]     Checking termion v1.5.6
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]     Checking num v0.4.0
[INFO] [stderr]     Checking plotters-svg v0.3.1
[INFO] [stderr]     Checking bitvec v0.22.3
[INFO] [stderr]     Checking rayon-core v1.9.1
[INFO] [stderr]     Checking text_trees v0.1.2
[INFO] [stderr]    Compiling phf_codegen v0.8.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.1
[INFO] [stderr]     Checking stderrlog v0.5.1
[INFO] [stderr]     Checking pathfinding v3.0.5
[INFO] [stderr]     Checking bitter v0.5.1
[INFO] [stderr]     Checking plotters v0.3.1
[INFO] [stderr]     Checking criterion-plot v0.4.4
[INFO] [stderr]     Checking addr2line v0.17.0
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]    Compiling markup5ever v0.10.1
[INFO] [stderr]     Checking string_cache v0.8.2
[INFO] [stderr]     Checking bstr v0.2.17
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]     Checking rayon v1.5.1
[INFO] [stderr]     Checking csv v1.1.6
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking xml5ever v0.16.2
[INFO] [stderr]     Checking webpki v0.22.0
[INFO] [stderr]     Checking sct v0.7.0
[INFO] [stderr]     Checking rustls v0.20.2
[INFO] [stderr]     Checking webpki-roots v0.22.1
[INFO] [stderr]    Compiling html5ever v0.25.1
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling clap_derive v3.0.0-beta.5
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking structopt v0.3.25
[INFO] [stderr]     Checking clap v3.0.0-beta.5
[INFO] [stderr]     Checking markup5ever_rcdom v0.1.0
[INFO] [stderr]     Checking ureq v2.4.0
[INFO] [stderr]     Checking html2md v0.2.13
[INFO] [stderr]     Checking aocf v0.1.18
[INFO] [stderr]     Checking criterion v0.3.5
[INFO] [stderr]     Checking aoc_lib v0.1.0 (/opt/rustwide/workdir/aoc_lib)
[INFO] [stdout] warning: the feature `const_fn_trait_bound` has been stable since 1.61.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> aoc_lib/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_fn_trait_bound)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_fn_trait_bound` has been stable since 1.61.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> aoc_lib/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_fn_trait_bound)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking aoc_2021 v0.1.0 (/opt/rustwide/workdir/aoc_2021)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> aoc_2021/src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(box_patterns)]
[INFO] [stdout]   |            ^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in 1.100.0
[INFO] [stdout]   = note: superseded by `deref_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> aoc_2021/src/day18.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Node::Branch(box left, _) => left.add_left(add),
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 40 -             Node::Branch(box left, _) => left.add_left(add),
[INFO] [stdout] 40 +             Node::Branch(left, _) => left.add_left(add),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 40 -             Node::Branch(box left, _) => left.add_left(add),
[INFO] [stdout] 40 +             Node::Branch(deref!(left), _) => left.add_left(add),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> aoc_2021/src/day18.rs:46:29
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Node::Branch(_, box right) => right.add_right(add),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 46 -             Node::Branch(_, box right) => right.add_right(add),
[INFO] [stdout] 46 +             Node::Branch(_, right) => right.add_right(add),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 46 -             Node::Branch(_, box right) => right.add_right(add),
[INFO] [stdout] 46 +             Node::Branch(_, deref!(right)) => right.add_right(add),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> aoc_2021/src/day18.rs:56:26
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Node::Branch(box left, box right) => left.split() || right.split(),
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 56 -             Node::Branch(box left, box right) => left.split() || right.split(),
[INFO] [stdout] 56 +             Node::Branch(left, box right) => left.split() || right.split(),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 56 -             Node::Branch(box left, box right) => left.split() || right.split(),
[INFO] [stdout] 56 +             Node::Branch(deref!(left), box right) => left.split() || right.split(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> aoc_2021/src/day18.rs:56:36
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Node::Branch(box left, box right) => left.split() || right.split(),
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 56 -             Node::Branch(box left, box right) => left.split() || right.split(),
[INFO] [stdout] 56 +             Node::Branch(box left, right) => left.split() || right.split(),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 56 -             Node::Branch(box left, box right) => left.split() || right.split(),
[INFO] [stdout] 56 +             Node::Branch(box left, deref!(right)) => left.split() || right.split(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> aoc_2021/src/day18.rs:64:33
[INFO] [stdout]    |
[INFO] [stdout] 64 |             if let Node::Branch(box Node::Leaf(left), box Node::Leaf(right)) = self.clone() {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 64 -             if let Node::Branch(box Node::Leaf(left), box Node::Leaf(right)) = self.clone() {
[INFO] [stdout] 64 +             if let Node::Branch(Node::Leaf(left), box Node::Leaf(right)) = self.clone() {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 64 -             if let Node::Branch(box Node::Leaf(left), box Node::Leaf(right)) = self.clone() {
[INFO] [stdout] 64 +             if let Node::Branch(deref!(Node::Leaf(left)), box Node::Leaf(right)) = self.clone() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> aoc_2021/src/day18.rs:64:55
[INFO] [stdout]    |
[INFO] [stdout] 64 |             if let Node::Branch(box Node::Leaf(left), box Node::Leaf(right)) = self.clone() {
[INFO] [stdout]    |                                                       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 64 -             if let Node::Branch(box Node::Leaf(left), box Node::Leaf(right)) = self.clone() {
[INFO] [stdout] 64 +             if let Node::Branch(box Node::Leaf(left), Node::Leaf(right)) = self.clone() {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 64 -             if let Node::Branch(box Node::Leaf(left), box Node::Leaf(right)) = self.clone() {
[INFO] [stdout] 64 +             if let Node::Branch(box Node::Leaf(left), deref!(Node::Leaf(right))) = self.clone() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> aoc_2021/src/day18.rs:72:26
[INFO] [stdout]    |
[INFO] [stdout] 72 |             Node::Branch(box left, box right) => {
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 72 -             Node::Branch(box left, box right) => {
[INFO] [stdout] 72 +             Node::Branch(left, box right) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 72 -             Node::Branch(box left, box right) => {
[INFO] [stdout] 72 +             Node::Branch(deref!(left), box right) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> aoc_2021/src/day18.rs:72:36
[INFO] [stdout]    |
[INFO] [stdout] 72 |             Node::Branch(box left, box right) => {
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 72 -             Node::Branch(box left, box right) => {
[INFO] [stdout] 72 +             Node::Branch(box left, right) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 72 -             Node::Branch(box left, box right) => {
[INFO] [stdout] 72 +             Node::Branch(box left, deref!(right)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> aoc_2021/src/day18.rs:112:26
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Node::Branch(box left, box right) => left.magnitude() * 3 + right.magnitude() * 2,
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 112 -             Node::Branch(box left, box right) => left.magnitude() * 3 + right.magnitude() * 2,
[INFO] [stdout] 112 +             Node::Branch(left, box right) => left.magnitude() * 3 + right.magnitude() * 2,
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 112 -             Node::Branch(box left, box right) => left.magnitude() * 3 + right.magnitude() * 2,
[INFO] [stdout] 112 +             Node::Branch(deref!(left), box right) => left.magnitude() * 3 + right.magnitude() * 2,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> aoc_2021/src/day18.rs:112:36
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Node::Branch(box left, box right) => left.magnitude() * 3 + right.magnitude() * 2,
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 112 -             Node::Branch(box left, box right) => left.magnitude() * 3 + right.magnitude() * 2,
[INFO] [stdout] 112 +             Node::Branch(box left, right) => left.magnitude() * 3 + right.magnitude() * 2,
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 112 -             Node::Branch(box left, box right) => left.magnitude() * 3 + right.magnitude() * 2,
[INFO] [stdout] 112 +             Node::Branch(box left, deref!(right)) => left.magnitude() * 3 + right.magnitude() * 2,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> aoc_2021/src/day18.rs:121:26
[INFO] [stdout]     |
[INFO] [stdout] 121 |             Node::Branch(box l, box r) => {
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 121 -             Node::Branch(box l, box r) => {
[INFO] [stdout] 121 +             Node::Branch(l, box r) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 121 -             Node::Branch(box l, box r) => {
[INFO] [stdout] 121 +             Node::Branch(deref!(l), box r) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> aoc_2021/src/day18.rs:121:33
[INFO] [stdout]     |
[INFO] [stdout] 121 |             Node::Branch(box l, box r) => {
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 121 -             Node::Branch(box l, box r) => {
[INFO] [stdout] 121 +             Node::Branch(box l, r) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 121 -             Node::Branch(box l, box r) => {
[INFO] [stdout] 121 +             Node::Branch(box l, deref!(r)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> aoc_2021/src/day22.rs:176:25
[INFO] [stdout]     |
[INFO] [stdout] 176 |             (Entry::Dim(box ref mut lhs), Entry::Dim(box rhs)) => lhs.merge(rhs),
[INFO] [stdout]     |                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 176 -             (Entry::Dim(box ref mut lhs), Entry::Dim(box rhs)) => lhs.merge(rhs),
[INFO] [stdout] 176 +             (Entry::Dim(ref mut lhs), Entry::Dim(box rhs)) => lhs.merge(rhs),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 176 -             (Entry::Dim(box ref mut lhs), Entry::Dim(box rhs)) => lhs.merge(rhs),
[INFO] [stdout] 176 +             (Entry::Dim(deref!(ref mut lhs)), Entry::Dim(box rhs)) => lhs.merge(rhs),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> aoc_2021/src/day22.rs:176:54
[INFO] [stdout]     |
[INFO] [stdout] 176 |             (Entry::Dim(box ref mut lhs), Entry::Dim(box rhs)) => lhs.merge(rhs),
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 176 -             (Entry::Dim(box ref mut lhs), Entry::Dim(box rhs)) => lhs.merge(rhs),
[INFO] [stdout] 176 +             (Entry::Dim(box ref mut lhs), Entry::Dim(rhs)) => lhs.merge(rhs),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 176 -             (Entry::Dim(box ref mut lhs), Entry::Dim(box rhs)) => lhs.merge(rhs),
[INFO] [stdout] 176 +             (Entry::Dim(box ref mut lhs), Entry::Dim(deref!(rhs))) => lhs.merge(rhs),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> aoc_2021/src/day22.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 |             Entry::Dim(box tree) => tree.count(),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 184 -             Entry::Dim(box tree) => tree.count(),
[INFO] [stdout] 184 +             Entry::Dim(tree) => tree.count(),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 184 -             Entry::Dim(box tree) => tree.count(),
[INFO] [stdout] 184 +             Entry::Dim(deref!(tree)) => tree.count(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> aoc_2021/src/day22.rs:275:22
[INFO] [stdout]     |
[INFO] [stdout] 275 |                 Some(box tree) => tree.merge(rhs),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 275 -                 Some(box tree) => tree.merge(rhs),
[INFO] [stdout] 275 +                 Some(tree) => tree.merge(rhs),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 275 -                 Some(box tree) => tree.merge(rhs),
[INFO] [stdout] 275 +                 Some(deref!(tree)) => tree.merge(rhs),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> aoc_2021/src/day22.rs:280:22
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 Some(box tree) => tree.merge(rhs),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 280 -                 Some(box tree) => tree.merge(rhs),
[INFO] [stdout] 280 +                 Some(tree) => tree.merge(rhs),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 280 -                 Some(box tree) => tree.merge(rhs),
[INFO] [stdout] 280 +                 Some(deref!(tree)) => tree.merge(rhs),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_fn_trait_bound` has been stable since 1.61.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> aoc_2021/src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_fn_trait_bound)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `drain_filter`
[INFO] [stdout]  --> aoc_2021/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(drain_filter)]
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: there is a feature with a similar name: `option_filter`
[INFO] [stdout]   |
[INFO] [stdout] 1 - #![feature(drain_filter)]
[INFO] [stdout] 1 + #![feature(option_filter)]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `itertools::Itertools::fold1`: Use `Iterator::reduce` instead
[INFO] [stdout]    --> aoc_2021/src/day22.rs:309:10
[INFO] [stdout]     |
[INFO] [stdout] 309 |         .fold1(|mut l, r| {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `itertools::Itertools::fold1`: Use `Iterator::reduce` instead
[INFO] [stdout]    --> aoc_2021/src/day24.rs:273:14
[INFO] [stdout]     |
[INFO] [stdout] 273 |             .fold1(|(lmin, lmax), (rmin, rmax)| (lmin.min(rmin), lmax.max(rmax)))
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `drain_filter` found for struct `Vec<Board>` in the current scope
[INFO] [stdout]   --> aoc_2021/src/day4.rs:84:26
[INFO] [stdout]    |
[INFO] [stdout] 82 |                     let solved = self
[INFO] [stdout] 83 |                         .remaining_boards
[INFO] [stdout] 84 |                         .drain_filter(|b| b.call(n))
[INFO] [stdout]    |                          ^^^^^^^^^^^^ method not found in `Vec<Board>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> aoc_2021/src/day21.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut player = &mut players[turn % 2];
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0557, E0599, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0557`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `aoc_2021` (lib) due to 20 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] warning: unused dependency `itertools`
[INFO] [stderr]   --> aoc_lib/Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | itertools = "0.10.3"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `itertools`
[INFO] [stderr] warning: unused dependency `num`
[INFO] [stderr]   --> aoc_lib/Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | num = "0.4"
[INFO] [stderr]    | ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `num`
[INFO] [stderr] warning: `aoc_lib` (manifest) generated 2 warnings
[INFO] running `Command { std: "docker" "inspect" "ece8614e7620cc87e52c155303bae5ec0bcd91553ec30a36fe2c0d1e63acd763", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ece8614e7620cc87e52c155303bae5ec0bcd91553ec30a36fe2c0d1e63acd763", kill_on_drop: false }`
[INFO] [stdout] ece8614e7620cc87e52c155303bae5ec0bcd91553ec30a36fe2c0d1e63acd763
