[INFO] cloning repository https://github.com/CodeLieutenant/codecrafters-redis-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CodeLieutenant/codecrafters-redis-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCodeLieutenant%2Fcodecrafters-redis-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCodeLieutenant%2Fcodecrafters-redis-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e5e6eb6681670fb53a89fc27b294d0fc429cb067
[INFO] checking CodeLieutenant/codecrafters-redis-rust against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCodeLieutenant%2Fcodecrafters-redis-rust" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/CodeLieutenant/codecrafters-redis-rust
[INFO] finished tweaking git repo https://github.com/CodeLieutenant/codecrafters-redis-rust
[INFO] tweaked toml for git repo https://github.com/CodeLieutenant/codecrafters-redis-rust written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/CodeLieutenant/codecrafters-redis-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/CodeLieutenant/codecrafters-redis-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 uncased v0.9.10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 50b3df41169885ffc744163dd8c36f5f4986bff6efe26e538e2f7592fef56a81
[INFO] running `Command { std: "docker" "start" "-a" "50b3df41169885ffc744163dd8c36f5f4986bff6efe26e538e2f7592fef56a81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "50b3df41169885ffc744163dd8c36f5f4986bff6efe26e538e2f7592fef56a81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "50b3df41169885ffc744163dd8c36f5f4986bff6efe26e538e2f7592fef56a81", kill_on_drop: false }`
[INFO] [stdout] 50b3df41169885ffc744163dd8c36f5f4986bff6efe26e538e2f7592fef56a81
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 425b8df31f9d690acfa52bfea8bcd27bbf15081de8adb4f420b1c93cd3c11767
[INFO] running `Command { std: "docker" "start" "-a" "425b8df31f9d690acfa52bfea8bcd27bbf15081de8adb4f420b1c93cd3c11767", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.84
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]     Checking regex-syntax v0.6.29
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling phf_shared v0.11.2
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]    Compiling phf_codegen v0.11.2
[INFO] [stderr]    Compiling redis-starter-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking tracing-appender v0.2.3
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/parser/mod.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{error, instrument};
[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 import: `error`
[INFO] [stdout]  --> src/parser/mod.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{error, instrument};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ClientError` is never used
[INFO] [stdout]   --> src/server/handler.rs:22:6
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum ClientError {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (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/parser/mod.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn command(&mut self) -> Result<Command, Error> {
[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] 55 |     pub fn command(&mut self) -> Result<Command<'_>, Error> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser/values.rs:65:29
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub(crate) fn get_array(&self) -> Result<&[Value], Error> {
[INFO] [stdout]    |                             ^^^^^            ^^^^^^^^
[INFO] [stdout]    |                             |                | |
[INFO] [stdout]    |                             |                | the same lifetime is hidden here
[INFO] [stdout]    |                             |                the same lifetime is elided here
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub(crate) fn get_array(&self) -> Result<&[Value<'_>], Error> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/values.rs:123:24
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub(crate) fn next(&self) -> Result<&Value, Error> {
[INFO] [stdout]     |                        ^^^^^            ^^^^^^
[INFO] [stdout]     |                        |                ||
[INFO] [stdout]     |                        |                |the same lifetime is hidden here
[INFO] [stdout]     |                        |                the same lifetime is elided here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub(crate) fn next(&self) -> Result<&Value<'_>, Error> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/resp/parse.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |     cb: fn(&'a [u8]) -> Result<Value, Error>,
[INFO] [stdout]    |             --                 ^^^^^ the lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is named here
[INFO] [stdout] 45 | ) -> impl FnMut(&'a [u8]) -> IResult<&'a [u8], Value, nom::error::VerboseError<&'a [u8]>> {
[INFO] [stdout]    |                  --                   --       ^^^^^                            -- the same lifetime is named here
[INFO] [stdout]    |                  |                    |        |
[INFO] [stdout]    |                  |                    |        the same lifetime is hidden here
[INFO] [stdout]    |                  |                    the same lifetime is named here
[INFO] [stdout]    |                  the same lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 44 ~     cb: fn(&'a [u8]) -> Result<Value<'a>, Error>,
[INFO] [stdout] 45 ~ ) -> impl FnMut(&'a [u8]) -> IResult<&'a [u8], Value<'a>, nom::error::VerboseError<&'a [u8]>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resp/parse.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn parse_simple_string(input: &[u8]) -> RespResult {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn parse_simple_string(input: &[u8]) -> RespResult<'_> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resp/parse.rs:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn parse_simple_error(input: &[u8]) -> RespResult {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn parse_simple_error(input: &[u8]) -> RespResult<'_> {
[INFO] [stdout]    |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resp/parse.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_bulk_string(input: &[u8]) -> RespResult {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_bulk_string(input: &[u8]) -> RespResult<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resp/parse.rs:101:25
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn parse_integer(input: &[u8]) -> RespResult {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn parse_integer(input: &[u8]) -> RespResult<'_> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resp/parse.rs:131:21
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn parse_any(input: &[u8]) -> RespResult {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn parse_any(input: &[u8]) -> RespResult<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resp/parse.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn parse_array(input: &[u8]) -> RespResult {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn parse_array(input: &[u8]) -> RespResult<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resp/parse.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn parse(input: &[u8]) -> Result<Value, Error> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn parse(input: &[u8]) -> Result<Value<'_>, Error> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ClientError` is never used
[INFO] [stdout]   --> src/server/handler.rs:22:6
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum ClientError {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (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/parser/mod.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn command(&mut self) -> Result<Command, Error> {
[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] 55 |     pub fn command(&mut self) -> Result<Command<'_>, Error> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser/values.rs:65:29
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub(crate) fn get_array(&self) -> Result<&[Value], Error> {
[INFO] [stdout]    |                             ^^^^^            ^^^^^^^^
[INFO] [stdout]    |                             |                | |
[INFO] [stdout]    |                             |                | the same lifetime is hidden here
[INFO] [stdout]    |                             |                the same lifetime is elided here
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub(crate) fn get_array(&self) -> Result<&[Value<'_>], Error> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/values.rs:123:24
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub(crate) fn next(&self) -> Result<&Value, Error> {
[INFO] [stdout]     |                        ^^^^^            ^^^^^^
[INFO] [stdout]     |                        |                ||
[INFO] [stdout]     |                        |                |the same lifetime is hidden here
[INFO] [stdout]     |                        |                the same lifetime is elided here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub(crate) fn next(&self) -> Result<&Value<'_>, Error> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/resp/parse.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |     cb: fn(&'a [u8]) -> Result<Value, Error>,
[INFO] [stdout]    |             --                 ^^^^^ the lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is named here
[INFO] [stdout] 45 | ) -> impl FnMut(&'a [u8]) -> IResult<&'a [u8], Value, nom::error::VerboseError<&'a [u8]>> {
[INFO] [stdout]    |                  --                   --       ^^^^^                            -- the same lifetime is named here
[INFO] [stdout]    |                  |                    |        |
[INFO] [stdout]    |                  |                    |        the same lifetime is hidden here
[INFO] [stdout]    |                  |                    the same lifetime is named here
[INFO] [stdout]    |                  the same lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 44 ~     cb: fn(&'a [u8]) -> Result<Value<'a>, Error>,
[INFO] [stdout] 45 ~ ) -> impl FnMut(&'a [u8]) -> IResult<&'a [u8], Value<'a>, nom::error::VerboseError<&'a [u8]>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resp/parse.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn parse_simple_string(input: &[u8]) -> RespResult {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn parse_simple_string(input: &[u8]) -> RespResult<'_> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resp/parse.rs:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn parse_simple_error(input: &[u8]) -> RespResult {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn parse_simple_error(input: &[u8]) -> RespResult<'_> {
[INFO] [stdout]    |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resp/parse.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_bulk_string(input: &[u8]) -> RespResult {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_bulk_string(input: &[u8]) -> RespResult<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resp/parse.rs:101:25
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn parse_integer(input: &[u8]) -> RespResult {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn parse_integer(input: &[u8]) -> RespResult<'_> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resp/parse.rs:131:21
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn parse_any(input: &[u8]) -> RespResult {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn parse_any(input: &[u8]) -> RespResult<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resp/parse.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn parse_array(input: &[u8]) -> RespResult {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn parse_array(input: &[u8]) -> RespResult<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resp/parse.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn parse(input: &[u8]) -> Result<Value, Error> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn parse(input: &[u8]) -> Result<Value<'_>, Error> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.40s
[INFO] running `Command { std: "docker" "inspect" "425b8df31f9d690acfa52bfea8bcd27bbf15081de8adb4f420b1c93cd3c11767", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "425b8df31f9d690acfa52bfea8bcd27bbf15081de8adb4f420b1c93cd3c11767", kill_on_drop: false }`
[INFO] [stdout] 425b8df31f9d690acfa52bfea8bcd27bbf15081de8adb4f420b1c93cd3c11767
