[INFO] cloning repository https://github.com/wfen/rust-aoc-2020
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wfen/rust-aoc-2020" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwfen%2Frust-aoc-2020", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwfen%2Frust-aoc-2020'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 37e0d14281524b997bb531d14c1e5012b5dd9229
[INFO] checking wfen/rust-aoc-2020 against master#3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0 for pr-143164
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwfen%2Frust-aoc-2020" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/wfen/rust-aoc-2020
[INFO] finished tweaking git repo https://github.com/wfen/rust-aoc-2020
[INFO] tweaked toml for git repo https://github.com/wfen/rust-aoc-2020 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wfen/rust-aoc-2020 on toolchain 3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/wfen/rust-aoc-2020 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" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "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] 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]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded peg-macros v0.8.0
[INFO] [stderr]   Downloaded funty v1.2.0
[INFO] [stderr]   Downloaded peg-runtime v0.8.0
[INFO] [stderr]   Downloaded peg v0.8.0
[INFO] [stderr]   Downloaded wyz v0.4.0
[INFO] [stderr]   Downloaded bitvec v0.22.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 09881d860060202cf9476ee8f662e8dbafb389bb7797eb53db1147238e50c5de
[INFO] running `Command { std: "docker" "start" "-a" "09881d860060202cf9476ee8f662e8dbafb389bb7797eb53db1147238e50c5de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "09881d860060202cf9476ee8f662e8dbafb389bb7797eb53db1147238e50c5de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09881d860060202cf9476ee8f662e8dbafb389bb7797eb53db1147238e50c5de", kill_on_drop: false }`
[INFO] [stdout] 09881d860060202cf9476ee8f662e8dbafb389bb7797eb53db1147238e50c5de
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 56f1e975779ddd4e78d310cfa445b69685b4cd93154c77966bd3188fa36f5dc0
[INFO] running `Command { std: "docker" "start" "-a" "56f1e975779ddd4e78d310cfa445b69685b4cd93154c77966bd3188fa36f5dc0", 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] 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 proc-macro2 v1.0.36
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]    Compiling syn v1.0.85
[INFO] [stderr]    Compiling anyhow v1.0.52
[INFO] [stderr]     Checking parser v0.1.0 (/opt/rustwide/workdir/parser)
[INFO] [stderr]    Compiling peg-runtime v0.8.0
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]    Compiling rustversion v1.0.6
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling libc v0.2.112
[INFO] [stderr]    Compiling unicode-segmentation v1.8.0
[INFO] [stderr]    Compiling radium v0.6.2
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> parser/src/lib.rs:130:26
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn identifier(input: &str) -> ParseResult<String> {
[INFO] [stdout]     |                          ^^^^     ------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn identifier(input: &str) -> ParseResult<'_, String> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> parser/src/lib.rs:151:24
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn word_ref(input: &str) -> ParseResult<&str> {
[INFO] [stdout]     |                        ^^^^     -----------------
[INFO] [stdout]     |                        |        |           |
[INFO] [stdout]     |                        |        |           the lifetimes get resolved as `'_`
[INFO] [stdout]     |                        |        the lifetimes get resolved as `'_`
[INFO] [stdout]     |                        this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn word_ref(input: &str) -> ParseResult<'_, &str> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> parser/src/lib.rs:315:24
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub fn any_char(input: &str) -> ParseResult<char> {
[INFO] [stdout]     |                        ^^^^     ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub fn any_char(input: &str) -> ParseResult<'_, char> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> parser/src/lib.rs:412:23
[INFO] [stdout]     |
[INFO] [stdout] 412 | pub fn integer(input: &str) -> ParseResult<i64> {
[INFO] [stdout]     |                       ^^^^     ---------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 412 | pub fn integer(input: &str) -> ParseResult<'_, i64> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling serde v1.0.133
[INFO] [stderr]     Checking rand_xoshiro v0.4.0
[INFO] [stderr]     Checking itertools v0.10.3
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]     Checking strum v0.23.0
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling im v15.0.0
[INFO] [stderr]    Compiling unindent v0.1.7
[INFO] [stderr]     Checking wyz v0.4.0
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking funty v1.2.0
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]    Compiling indoc v1.0.3
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking day19 v0.1.0 (/opt/rustwide/workdir/day19)
[INFO] [stderr]     Checking day16 v0.1.0 (/opt/rustwide/workdir/day16)
[INFO] [stderr]     Checking day03 v0.1.0 (/opt/rustwide/workdir/day03)
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> day19/src/main.rs:104:23
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn parse_rules(input: &str) -> ParseResult<Rules> {
[INFO] [stdout]     |                       ^^^^     ------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn parse_rules(input: &str) -> ParseResult<'_, Rules> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day21 v0.1.0 (/opt/rustwide/workdir/day21)
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> day19/src/main.rs:104:23
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn parse_rules(input: &str) -> ParseResult<Rules> {
[INFO] [stdout]     |                       ^^^^     ------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn parse_rules(input: &str) -> ParseResult<'_, Rules> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ordered_fields` is never read
[INFO] [stdout]   --> day16/src/main.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | struct FieldMatcher {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 78 |     ordered_fields: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug` is never used
[INFO] [stdout]    --> day16/src/main.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 82  | impl FieldMatcher {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 134 |     fn debug(&self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> day16/src/main.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn parse_input(input: &str) -> ParseResult<TicketData> {
[INFO] [stdout]     |                       ^^^^     ----------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn parse_input(input: &str) -> ParseResult<'_, TicketData> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day18 v0.1.0 (/opt/rustwide/workdir/day18)
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking day25 v0.1.0 (/opt/rustwide/workdir/day25)
[INFO] [stdout] warning: field `ordered_fields` is never read
[INFO] [stdout]   --> day16/src/main.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | struct FieldMatcher {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 78 |     ordered_fields: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug` is never used
[INFO] [stdout]    --> day16/src/main.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 82  | impl FieldMatcher {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 134 |     fn debug(&self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day17 v0.1.0 (/opt/rustwide/workdir/day17)
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> day16/src/main.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn parse_input(input: &str) -> ParseResult<TicketData> {
[INFO] [stdout]     |                       ^^^^     ----------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn parse_input(input: &str) -> ParseResult<'_, TicketData> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> day18/src/main.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn tokenize(input: &str) -> ParseResult<Vec<Token>> {
[INFO] [stdout]    |                    ^^^^     ----------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn tokenize(input: &str) -> ParseResult<'_, Vec<Token>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day22 v0.1.0 (/opt/rustwide/workdir/day22)
[INFO] [stderr]     Checking day15 v0.1.0 (/opt/rustwide/workdir/day15)
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> day18/src/main.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn tokenize(input: &str) -> ParseResult<Vec<Token>> {
[INFO] [stdout]    |                    ^^^^     ----------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn tokenize(input: &str) -> ParseResult<'_, Vec<Token>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quote v1.0.14
[INFO] [stderr]     Checking bitvec v0.22.3
[INFO] [stderr]     Checking day23 v0.1.0 (/opt/rustwide/workdir/day23)
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]  --> day22/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Player {
[INFO] [stdout]   |        ------ field in this struct
[INFO] [stdout] 7 |     id: u8,
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Player` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]  --> day22/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Player {
[INFO] [stdout]   |        ------ field in this struct
[INFO] [stdout] 7 |     id: u8,
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Player` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> parser/src/lib.rs:130:26
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn identifier(input: &str) -> ParseResult<String> {
[INFO] [stdout]     |                          ^^^^     ------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn identifier(input: &str) -> ParseResult<'_, String> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> parser/src/lib.rs:151:24
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn word_ref(input: &str) -> ParseResult<&str> {
[INFO] [stdout]     |                        ^^^^     -----------------
[INFO] [stdout]     |                        |        |           |
[INFO] [stdout]     |                        |        |           the lifetimes get resolved as `'_`
[INFO] [stdout]     |                        |        the lifetimes get resolved as `'_`
[INFO] [stdout]     |                        this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn word_ref(input: &str) -> ParseResult<'_, &str> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> parser/src/lib.rs:315:24
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub fn any_char(input: &str) -> ParseResult<char> {
[INFO] [stdout]     |                        ^^^^     ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub fn any_char(input: &str) -> ParseResult<'_, char> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> parser/src/lib.rs:412:23
[INFO] [stdout]     |
[INFO] [stdout] 412 | pub fn integer(input: &str) -> ParseResult<i64> {
[INFO] [stdout]     |                       ^^^^     ---------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 412 | pub fn integer(input: &str) -> ParseResult<'_, i64> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling peg-macros v0.8.0
[INFO] [stderr]     Checking day13 v0.1.0 (/opt/rustwide/workdir/day13)
[INFO] [stderr]     Checking day08 v0.1.0 (/opt/rustwide/workdir/day08)
[INFO] [stderr]     Checking day01 v0.1.0 (/opt/rustwide/workdir/day01)
[INFO] [stderr]     Checking day10 v0.1.0 (/opt/rustwide/workdir/day10)
[INFO] [stderr]     Checking day09 v0.1.0 (/opt/rustwide/workdir/day09)
[INFO] [stdout] warning: function `find_variant` is never used
[INFO] [stdout]    --> day08/src/main.rs:165:4
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn find_variant(program: &Program) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_variant` is never used
[INFO] [stdout]    --> day08/src/main.rs:165:4
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn find_variant(program: &Program) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> day13/src/main.rs:370:18
[INFO] [stdout]     |
[INFO] [stdout] 370 | struct CantSolve(LinearCongruence);
[INFO] [stdout]     |        --------- ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `CantSolve` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> day13/src/main.rs:370:18
[INFO] [stdout]     |
[INFO] [stdout] 370 | struct CantSolve(LinearCongruence);
[INFO] [stdout]     |        --------- ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `CantSolve` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bitmaps v2.1.0
[INFO] [stderr]     Checking sized-chunks v0.6.5
[INFO] [stderr]     Checking env_logger v0.9.0
[INFO] [stderr]     Checking peg v0.8.0
[INFO] [stderr]     Checking day14 v0.1.0 (/opt/rustwide/workdir/day14)
[INFO] [stderr]     Checking multimap v0.8.3
[INFO] [stderr]     Checking day05 v0.1.0 (/opt/rustwide/workdir/day05)
[INFO] [stderr]     Checking day07 v0.1.0 (/opt/rustwide/workdir/day07)
[INFO] [stdout] warning: struct `FormattedRules` is never constructed
[INFO] [stdout]   --> day07/src/main.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct FormattedRules<'a>(Rules<'a>);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FormattedRules` is never constructed
[INFO] [stdout]   --> day07/src/main.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct FormattedRules<'a>(Rules<'a>);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day11 v0.1.0 (/opt/rustwide/workdir/day11)
[INFO] [stderr]     Checking day06 v0.1.0 (/opt/rustwide/workdir/day06)
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling strum_macros v0.23.1
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]     Checking day12 v0.1.0 (/opt/rustwide/workdir/day12)
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]     Checking day04 v0.1.0 (/opt/rustwide/workdir/day04)
[INFO] [stderr]     Checking day02 v0.1.0 (/opt/rustwide/workdir/day02)
[INFO] [stderr]     Checking day24 v0.1.0 (/opt/rustwide/workdir/day24)
[INFO] [stderr]     Checking day20 v0.1.0 (/opt/rustwide/workdir/day20)
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> day24/src/main.rs:139:23
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn parse_paths(input: &str) -> ParseResult<Vec<Path>> {
[INFO] [stdout]     |                       ^^^^     ---------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn parse_paths(input: &str) -> ParseResult<'_, Vec<Path>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> day24/src/main.rs:139:23
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn parse_paths(input: &str) -> ParseResult<Vec<Path>> {
[INFO] [stdout]     |                       ^^^^     ---------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn parse_paths(input: &str) -> ParseResult<'_, Vec<Path>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> day20/src/main.rs:323:16
[INFO] [stdout]     |
[INFO] [stdout] 323 |     fn tile_at(&self, pos: &Pos) -> &'a TilePlacement {
[INFO] [stdout]     |                ^^^^^                    ------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                |
[INFO] [stdout]     |                this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 323 |     fn tile_at(&self, pos: &Pos) -> &'a TilePlacement<'_> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> day20/src/main.rs:625:23
[INFO] [stdout]     |
[INFO] [stdout] 625 | fn parse_input(input: &str) -> ParseResult<Vec<Tile>> {
[INFO] [stdout]     |                       ^^^^     ---------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 625 | fn parse_input(input: &str) -> ParseResult<'_, Vec<Tile>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> day20/src/main.rs:323:16
[INFO] [stdout]     |
[INFO] [stdout] 323 |     fn tile_at(&self, pos: &Pos) -> &'a TilePlacement {
[INFO] [stdout]     |                ^^^^^                    ------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                |
[INFO] [stdout]     |                this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 323 |     fn tile_at(&self, pos: &Pos) -> &'a TilePlacement<'_> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> day20/src/main.rs:625:23
[INFO] [stdout]     |
[INFO] [stdout] 625 | fn parse_input(input: &str) -> ParseResult<Vec<Tile>> {
[INFO] [stdout]     |                       ^^^^     ---------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 625 | fn parse_input(input: &str) -> ParseResult<'_, Vec<Tile>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.80s
[INFO] running `Command { std: "docker" "inspect" "56f1e975779ddd4e78d310cfa445b69685b4cd93154c77966bd3188fa36f5dc0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "56f1e975779ddd4e78d310cfa445b69685b4cd93154c77966bd3188fa36f5dc0", kill_on_drop: false }`
[INFO] [stdout] 56f1e975779ddd4e78d310cfa445b69685b4cd93154c77966bd3188fa36f5dc0
