[INFO] fetching crate karsher 0.9.0...
[INFO] testing karsher-0.9.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate karsher 0.9.0 into /workspace/builds/worker-6-tc1/source
[INFO] removed /workspace/builds/worker-6-tc1/source/.cargo/config
[INFO] removed /workspace/builds/worker-6-tc1/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate karsher 0.9.0
[INFO] finished tweaking crates.io crate karsher 0.9.0
[INFO] tweaked toml for crates.io crate karsher 0.9.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate karsher 0.9.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate karsher 0.9.0 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded snowflake v1.3.0
[INFO] [stderr]   Downloaded rustversion v1.0.7
[INFO] [stderr]   Downloaded strum_macros v0.24.0
[INFO] [stderr]   Downloaded rustyline-derive v0.6.0
[INFO] [stderr]   Downloaded quote v1.0.18
[INFO] [stderr]   Downloaded proc-macro2 v1.0.39
[INFO] [stderr]   Downloaded slab_tree v0.3.2
[INFO] [stderr]   Downloaded unicode-ident v1.0.0
[INFO] [stderr]   Downloaded str-buf v1.0.5
[INFO] [stderr]   Downloaded error-code v2.3.1
[INFO] [stderr]   Downloaded dirs v4.0.0
[INFO] [stderr]   Downloaded dirs-sys v0.3.7
[INFO] [stderr]   Downloaded redox_users v0.4.3
[INFO] [stderr]   Downloaded fd-lock v3.0.5
[INFO] [stderr]   Downloaded thiserror-impl v1.0.31
[INFO] [stderr]   Downloaded utf8parse v0.2.0
[INFO] [stderr]   Downloaded ctrlc v3.2.2
[INFO] [stderr]   Downloaded clipboard-win v4.4.1
[INFO] [stderr]   Downloaded getrandom v0.2.6
[INFO] [stderr]   Downloaded thiserror v1.0.31
[INFO] [stderr]   Downloaded env_logger v0.9.0
[INFO] [stderr]   Downloaded anyhow v1.0.57
[INFO] [stderr]   Downloaded io-lifetimes v0.6.1
[INFO] [stderr]   Downloaded syn v1.0.95
[INFO] [stderr]   Downloaded unicode-segmentation v1.9.0
[INFO] [stderr]   Downloaded rustyline v9.1.2
[INFO] [stderr]   Downloaded nom v7.1.1
[INFO] [stderr]   Downloaded nix v0.23.1
[INFO] [stderr]   Downloaded nix v0.24.1
[INFO] [stderr]   Downloaded rustix v0.34.7
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.30.0
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.30.0
[INFO] [stderr]   Downloaded windows_i686_msvc v0.30.0
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.30.0
[INFO] [stderr]   Downloaded windows_i686_gnu v0.30.0
[INFO] [stderr]   Downloaded linux-raw-sys v0.0.46
[INFO] [stderr]   Downloaded windows-sys v0.30.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c009bb6d0276b5275f6f72089d6184c29490ff539eef89e3c81f1645e070ad56
[INFO] running `Command { std: "docker" "start" "-a" "c009bb6d0276b5275f6f72089d6184c29490ff539eef89e3c81f1645e070ad56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c009bb6d0276b5275f6f72089d6184c29490ff539eef89e3c81f1645e070ad56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c009bb6d0276b5275f6f72089d6184c29490ff539eef89e3c81f1645e070ad56", kill_on_drop: false }`
[INFO] [stdout] c009bb6d0276b5275f6f72089d6184c29490ff539eef89e3c81f1645e070ad56
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f36e8e94d18a29b48844ef367eb57805734d776dbbf761e805bab268d395f4c6
[INFO] running `Command { std: "docker" "start" "-a" "f36e8e94d18a29b48844ef367eb57805734d776dbbf761e805bab268d395f4c6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.39
[INFO] [stderr]    Compiling unicode-ident v1.0.0
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling syn v1.0.95
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling io-lifetimes v0.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.137
[INFO] [stderr]    Compiling rustix v0.34.7
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling serde v1.0.137
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling rustversion v1.0.7
[INFO] [stderr]    Compiling smallvec v1.8.0
[INFO] [stderr]    Compiling linux-raw-sys v0.0.46
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]    Compiling anyhow v1.0.57
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling serde_json v1.0.81
[INFO] [stderr]    Compiling utf8parse v0.2.0
[INFO] [stderr]    Compiling itoa v1.0.2
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling unicode-segmentation v1.9.0
[INFO] [stderr]    Compiling snowflake v1.3.0
[INFO] [stderr]    Compiling ryu v1.0.10
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling slab_tree v0.3.2
[INFO] [stderr]    Compiling radix_trie v0.2.1
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling env_logger v0.9.0
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]    Compiling nom v7.1.1
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling nix v0.24.1
[INFO] [stderr]    Compiling dirs-sys v0.3.7
[INFO] [stderr]    Compiling nix v0.23.1
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling dirs v4.0.0
[INFO] [stderr]    Compiling ctrlc v3.2.2
[INFO] [stderr]    Compiling fd-lock v3.0.5
[INFO] [stderr]    Compiling strum_macros v0.24.0
[INFO] [stderr]    Compiling rustyline-derive v0.6.0
[INFO] [stderr]    Compiling strum v0.24.1
[INFO] [stderr]    Compiling rustyline v9.1.2
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling karsher v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `eof` and `none_of`
[INFO] [stdout]   --> src/prelude.rs:8:72
[INFO] [stdout]    |
[INFO] [stdout]  8 |         alpha1, alphanumeric1, i128 as I128, multispace0, multispace1, none_of,
[INFO] [stdout]    |                                                                        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     combinator::{all_consuming, cut, eof, map, map_parser, opt, rest, verify},
[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: `std::io::stdout`
[INFO] [stdout]   --> src/prelude.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub use std::io::stdout;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/prelude.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use std::time::Duration;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicBool`, `Ordering`, `path::PathBuf`, and `process::ExitCode`
[INFO] [stdout]   --> src/prelude.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     path::PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 39 |     process::ExitCode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     sync::atomic::{AtomicBool, Ordering},
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_no_op`, `contains`, and `len` are never used
[INFO] [stdout]   --> src/db/mod.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub trait Op<K: Key, V: Value> {
[INFO] [stdout]    |           -- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn read_no_op(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn contains(&self, k: &K) -> Option<bool>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 49 |     fn len(&self) -> Option<usize>;
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `merge_current_tree_with` and `open_tree_and_apply` are never used
[INFO] [stdout]   --> src/db/mod.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub trait DbOp<K: Key, V: Value>: Op<K, V> {
[INFO] [stdout]    |           ---- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn merge_current_tree_with(&mut self, tree_name_source: &str)
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     fn open_tree_and_apply(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/cache_command/os_command.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn extract_args<'a>(s: &'a str) -> Res<Vec<&'a str>> {
[INFO] [stdout]   |                         --         ^^^^^^^^^--^^^^^^
[INFO] [stdout]   |                         |          |        |
[INFO] [stdout]   |                         |          |        the same lifetime is named here
[INFO] [stdout]   |                         |          the same lifetime is hidden here
[INFO] [stdout]   |                         the lifetime is named 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: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn extract_args<'a>(s: &'a str) -> Res<'a, Vec<&'a str>> {
[INFO] [stdout]   |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/cache_command/os_command.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn extract_envs<'a>(s: &'a str) -> Res<Vec<(&'a str, &'a str)>> {
[INFO] [stdout]    |                         --         ^^^^^^^^^^--^^^^^^^--^^^^^^^
[INFO] [stdout]    |                         |          |         |        |
[INFO] [stdout]    |                         |          |         |        the same lifetime is named here
[INFO] [stdout]    |                         |          |         the same lifetime is named here
[INFO] [stdout]    |                         |          the same lifetime is hidden here
[INFO] [stdout]    |                         the 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] 17 | fn extract_envs<'a>(s: &'a str) -> Res<'a, Vec<(&'a str, &'a str)>> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/cache_command/os_command.rs:27:39
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn extract_program<'a>(s: &'a str) -> Res<&'a str> {
[INFO] [stdout]    |                            --         ^^^^^--^^^^^
[INFO] [stdout]    |                            |          |    |
[INFO] [stdout]    |                            |          |    the same lifetime is named here
[INFO] [stdout]    |                            |          the same lifetime is hidden here
[INFO] [stdout]    |                            the 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] 27 | fn extract_program<'a>(s: &'a str) -> Res<'a, &'a str> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cache_command/parser.rs:75:25
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn add_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]    |                         ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |        |   |
[INFO] [stdout]    |                         |        |   the same lifetime is hidden here
[INFO] [stdout]    |                         |        the same lifetime is hidden 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] 75 | fn add_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]    |                                      +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn del_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                         ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |        |   |
[INFO] [stdout]     |                         |        |   the same lifetime is hidden here
[INFO] [stdout]     |                         |        the same lifetime is hidden 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] 104 | fn del_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                      +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:111:25
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn get_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                         ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |        |   |
[INFO] [stdout]     |                         |        |   the same lifetime is hidden here
[INFO] [stdout]     |                         |        the same lifetime is hidden 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] 111 | fn get_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                      +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:115:28
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn concat_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                            ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |        |   |
[INFO] [stdout]     |                            |        |   the same lifetime is hidden here
[INFO] [stdout]     |                            |        the same lifetime is hidden 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] 115 | fn concat_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                         +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:125:28
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn backup_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                            ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |        |   |
[INFO] [stdout]     |                            |        |   the same lifetime is hidden here
[INFO] [stdout]     |                            |        the same lifetime is hidden 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] 125 | fn backup_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                         +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:132:29
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn restore_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                             ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |        |   |
[INFO] [stdout]     |                             |        |   the same lifetime is hidden here
[INFO] [stdout]     |                             |        the same lifetime is hidden 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] 132 | fn restore_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                          +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:136:26
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn exec_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                          ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |        |   |
[INFO] [stdout]     |                          |        |   the same lifetime is hidden here
[INFO] [stdout]     |                          |        the same lifetime is hidden 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] 136 | fn exec_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                       +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:149:24
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn cd_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                        ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |        |   |
[INFO] [stdout]     |                        |        |   the same lifetime is hidden here
[INFO] [stdout]     |                        |        the same lifetime is hidden 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] 149 | fn cd_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                     +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:159:26
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn list_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                          ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |        |   |
[INFO] [stdout]     |                          |        |   the same lifetime is hidden here
[INFO] [stdout]     |                          |        the same lifetime is hidden 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] 159 | fn list_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                       +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:166:35
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn current_cache_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                                   ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |        |   |
[INFO] [stdout]     |                                   |        |   the same lifetime is hidden here
[INFO] [stdout]     |                                   |        the same lifetime is hidden 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] 166 | fn current_cache_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                                +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:173:26
[INFO] [stdout]     |
[INFO] [stdout] 173 | fn help_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                          ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |        |   |
[INFO] [stdout]     |                          |        |   the same lifetime is hidden here
[INFO] [stdout]     |                          |        the same lifetime is hidden 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] 173 | fn help_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                       +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:177:27
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn clear_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                           ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |        |   |
[INFO] [stdout]     |                           |        |   the same lifetime is hidden here
[INFO] [stdout]     |                           |        the same lifetime is hidden 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] 177 | fn clear_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                        +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:184:32
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn list_cache_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                                ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |        |   |
[INFO] [stdout]     |                                |        |   the same lifetime is hidden here
[INFO] [stdout]     |                                |        the same lifetime is hidden 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] 184 | fn list_cache_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                             +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:226:27
[INFO] [stdout]     |
[INFO] [stdout] 226 | fn using_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                           ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |        |   |
[INFO] [stdout]     |                           |        |   the same lifetime is hidden here
[INFO] [stdout]     |                           |        the same lifetime is hidden 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] 226 | fn using_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                        +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:230:26
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn dump_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                          ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |        |   |
[INFO] [stdout]     |                          |        |   the same lifetime is hidden here
[INFO] [stdout]     |                          |        the same lifetime is hidden 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] 230 | fn dump_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                       +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:245:31
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn del_cache_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                               ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |        |   |
[INFO] [stdout]     |                               |        |   the same lifetime is hidden here
[INFO] [stdout]     |                               |        the same lifetime is hidden 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] 245 | fn del_cache_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                            +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:258:31
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub fn parse_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                               ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |        |   |
[INFO] [stdout]     |                               |        |   the same lifetime is hidden here
[INFO] [stdout]     |                               |        the same lifetime is hidden 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] 258 | pub fn parse_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                            +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/calculator/parser.rs:9:56
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn tag_no_space<'a>(t: &'a str) -> impl Fn(&'a str) -> Res<&'a str> {
[INFO] [stdout]   |                         --                  --         ^^^^^--^^^^^
[INFO] [stdout]   |                         |                   |          |    |
[INFO] [stdout]   |                         |                   |          |    the same lifetime is named here
[INFO] [stdout]   |                         |                   |          the same lifetime is hidden here
[INFO] [stdout]   |                         |                   the same lifetime is named here
[INFO] [stdout]   |                         the 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] 9 | fn tag_no_space<'a>(t: &'a str) -> impl Fn(&'a str) -> Res<'a, &'a str> {
[INFO] [stdout]   |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/calculator/parser.rs:12:64
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn tag_no_space_no_case<'a>(t: &'a str) -> impl Fn(&'a str) -> Res<&'a str> {
[INFO] [stdout]    |                                 --                  --         ^^^^^--^^^^^
[INFO] [stdout]    |                                 |                   |          |    |
[INFO] [stdout]    |                                 |                   |          |    the same lifetime is named here
[INFO] [stdout]    |                                 |                   |          the same lifetime is hidden here
[INFO] [stdout]    |                                 |                   the same lifetime is named here
[INFO] [stdout]    |                                 the 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] 12 | fn tag_no_space_no_case<'a>(t: &'a str) -> impl Fn(&'a str) -> Res<'a, &'a str> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/calculator/parser.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn parse_number(s: &str) -> Res<Value> {
[INFO] [stdout]    |                    ^^^^     ^^^^^^^^^^
[INFO] [stdout]    |                    |        |   |
[INFO] [stdout]    |                    |        |   the same lifetime is hidden here
[INFO] [stdout]    |                    |        the same lifetime is hidden 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] 16 | fn parse_number(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]    |                                 +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/calculator/parser.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn parse_variable(s: &str) -> Res<Value> {
[INFO] [stdout]    |                      ^^^^     ^^^^^^^^^^
[INFO] [stdout]    |                      |        |   |
[INFO] [stdout]    |                      |        |   the same lifetime is hidden here
[INFO] [stdout]    |                      |        the same lifetime is hidden 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] 26 | fn parse_variable(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]    |                                   +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/calculator/parser.rs:37:22
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn parse_constant(s: &str) -> Res<Value> {
[INFO] [stdout]    |                      ^^^^     ^^^^^^^^^^
[INFO] [stdout]    |                      |        |   |
[INFO] [stdout]    |                      |        |   the same lifetime is hidden here
[INFO] [stdout]    |                      |        the same lifetime is hidden 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] 37 | fn parse_constant(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]    |                                   +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/calculator/parser.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn parse_paren(s: &str) -> Res<Value> {
[INFO] [stdout]    |                   ^^^^     ^^^^^^^^^^
[INFO] [stdout]    |                   |        |   |
[INFO] [stdout]    |                   |        |   the same lifetime is hidden here
[INFO] [stdout]    |                   |        the same lifetime is hidden 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] 41 | fn parse_paren(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]    |                                +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/calculator/parser.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn parse_fn(s: &str) -> Res<Value> {
[INFO] [stdout]    |                ^^^^     ^^^^^^^^^^
[INFO] [stdout]    |                |        |   |
[INFO] [stdout]    |                |        |   the same lifetime is hidden here
[INFO] [stdout]    |                |        the same lifetime is hidden 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] 58 | fn parse_fn(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]    |                             +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/calculator/parser.rs:88:19
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn parse_value(s: &str) -> Res<Value> {
[INFO] [stdout]    |                   ^^^^     ^^^^^^^^^^
[INFO] [stdout]    |                   |        |   |
[INFO] [stdout]    |                   |        |   the same lifetime is hidden here
[INFO] [stdout]    |                   |        the same lifetime is hidden 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] 88 | fn parse_value(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]    |                                +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:122:17
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn parse_exp(s: &str) -> Res<Value> {
[INFO] [stdout]     |                 ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                 |        |   |
[INFO] [stdout]     |                 |        |   the same lifetime is hidden here
[INFO] [stdout]     |                 |        the same lifetime is hidden 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] 122 | fn parse_exp(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                              +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:126:18
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn parse_mult(s: &str) -> Res<Value> {
[INFO] [stdout]     |                  ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                  |        |   |
[INFO] [stdout]     |                  |        |   the same lifetime is hidden here
[INFO] [stdout]     |                  |        the same lifetime is hidden 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] 126 | fn parse_mult(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                               +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn parse_div(s: &str) -> Res<Value> {
[INFO] [stdout]     |                 ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                 |        |   |
[INFO] [stdout]     |                 |        |   the same lifetime is hidden here
[INFO] [stdout]     |                 |        the same lifetime is hidden 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] 130 | fn parse_div(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                              +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn parse_mod(s: &str) -> Res<Value> {
[INFO] [stdout]     |                 ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                 |        |   |
[INFO] [stdout]     |                 |        |   the same lifetime is hidden here
[INFO] [stdout]     |                 |        the same lifetime is hidden 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] 134 | fn parse_mod(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                              +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:137:17
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn parse_add(s: &str) -> Res<Value> {
[INFO] [stdout]     |                 ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                 |        |   |
[INFO] [stdout]     |                 |        |   the same lifetime is hidden here
[INFO] [stdout]     |                 |        the same lifetime is hidden 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] 137 | fn parse_add(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                              +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:141:19
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn parse_subtr(s: &str) -> Res<Value> {
[INFO] [stdout]     |                   ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                   |        |   |
[INFO] [stdout]     |                   |        |   the same lifetime is hidden here
[INFO] [stdout]     |                   |        the same lifetime is hidden 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] 141 | fn parse_subtr(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                                +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:145:24
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn parse_expression(s: &str) -> Res<Value> {
[INFO] [stdout]     |                        ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                        |        |   |
[INFO] [stdout]     |                        |        |   the same lifetime is hidden here
[INFO] [stdout]     |                        |        the same lifetime is hidden 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] 145 | fn parse_expression(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                                     +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:149:33
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub(super) fn parse_var_expr(s: &str) -> Res<Value> {
[INFO] [stdout]     |                                 ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                                 |        |   |
[INFO] [stdout]     |                                 |        |   the same lifetime is hidden here
[INFO] [stdout]     |                                 |        the same lifetime is hidden 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] 149 | pub(super) fn parse_var_expr(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                                              +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/db/file_db.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn get_guard(&self) -> Option<MutexGuard<InMemoryDb<K, V>>>;
[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] 33 |     fn get_guard(&self) -> Option<MutexGuard<'_, InMemoryDb<K, V>>>;
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/db/file_db.rs:47:18
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn get_guard(&self) -> Option<MutexGuard<InMemoryDb<K, V>>> {
[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] 47 |     fn get_guard(&self) -> Option<MutexGuard<'_, InMemoryDb<K, V>>> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.47s
[INFO] running `Command { std: "docker" "inspect" "f36e8e94d18a29b48844ef367eb57805734d776dbbf761e805bab268d395f4c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f36e8e94d18a29b48844ef367eb57805734d776dbbf761e805bab268d395f4c6", kill_on_drop: false }`
[INFO] [stdout] f36e8e94d18a29b48844ef367eb57805734d776dbbf761e805bab268d395f4c6
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e5543bff6c903ae71f7bb0abe50f0025437cb8cda4892a24dfdd310b5628f395
[INFO] running `Command { std: "docker" "start" "-a" "e5543bff6c903ae71f7bb0abe50f0025437cb8cda4892a24dfdd310b5628f395", kill_on_drop: false }`
[INFO] [stderr]    Compiling karsher v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of a double negation
[INFO] [stdout]    --> src/calculator/tests.rs:164:28
[INFO] [stdout]     |
[INFO] [stdout] 164 |     assert_eq!(Number::Int(--5), compute("--5", &mut ctx).unwrap());
[INFO] [stdout]     |                            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the prefix `--` could be misinterpreted as a decrement operator which exists in other languages
[INFO] [stdout]     = note: use `-= 1` if you meant to decrement the value
[INFO] [stdout]     = note: `#[warn(double_negations)]` on by default
[INFO] [stdout] help: add parentheses for clarity
[INFO] [stdout]     |
[INFO] [stdout] 164 |     assert_eq!(Number::Int(-(-5)), compute("--5", &mut ctx).unwrap());
[INFO] [stdout]     |                             +  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `eof` and `none_of`
[INFO] [stdout]   --> src/prelude.rs:8:72
[INFO] [stdout]    |
[INFO] [stdout]  8 |         alpha1, alphanumeric1, i128 as I128, multispace0, multispace1, none_of,
[INFO] [stdout]    |                                                                        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     combinator::{all_consuming, cut, eof, map, map_parser, opt, rest, verify},
[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: `std::io::stdout`
[INFO] [stdout]   --> src/prelude.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub use std::io::stdout;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicBool`, `Ordering`, `path::PathBuf`, and `process::ExitCode`
[INFO] [stdout]   --> src/prelude.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     path::PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 39 |     process::ExitCode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     sync::atomic::{AtomicBool, Ordering},
[INFO] [stdout]    |                    ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains` is never used
[INFO] [stdout]   --> src/db/mod.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub trait Op<K: Key, V: Value> {
[INFO] [stdout]    |           -- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn contains(&self, k: &K) -> Option<bool>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `merge_current_tree_with` and `open_tree_and_apply` are never used
[INFO] [stdout]   --> src/db/mod.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub trait DbOp<K: Key, V: Value>: Op<K, V> {
[INFO] [stdout]    |           ---- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn merge_current_tree_with(&mut self, tree_name_source: &str)
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     fn open_tree_and_apply(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyString` is never constructed
[INFO] [stdout]    --> src/db/database.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     struct MyString(String);
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/cache_command/os_command.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn extract_args<'a>(s: &'a str) -> Res<Vec<&'a str>> {
[INFO] [stdout]   |                         --         ^^^^^^^^^--^^^^^^
[INFO] [stdout]   |                         |          |        |
[INFO] [stdout]   |                         |          |        the same lifetime is named here
[INFO] [stdout]   |                         |          the same lifetime is hidden here
[INFO] [stdout]   |                         the lifetime is named 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: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn extract_args<'a>(s: &'a str) -> Res<'a, Vec<&'a str>> {
[INFO] [stdout]   |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/cache_command/os_command.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn extract_envs<'a>(s: &'a str) -> Res<Vec<(&'a str, &'a str)>> {
[INFO] [stdout]    |                         --         ^^^^^^^^^^--^^^^^^^--^^^^^^^
[INFO] [stdout]    |                         |          |         |        |
[INFO] [stdout]    |                         |          |         |        the same lifetime is named here
[INFO] [stdout]    |                         |          |         the same lifetime is named here
[INFO] [stdout]    |                         |          the same lifetime is hidden here
[INFO] [stdout]    |                         the 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] 17 | fn extract_envs<'a>(s: &'a str) -> Res<'a, Vec<(&'a str, &'a str)>> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/cache_command/os_command.rs:27:39
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn extract_program<'a>(s: &'a str) -> Res<&'a str> {
[INFO] [stdout]    |                            --         ^^^^^--^^^^^
[INFO] [stdout]    |                            |          |    |
[INFO] [stdout]    |                            |          |    the same lifetime is named here
[INFO] [stdout]    |                            |          the same lifetime is hidden here
[INFO] [stdout]    |                            the 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] 27 | fn extract_program<'a>(s: &'a str) -> Res<'a, &'a str> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cache_command/parser.rs:75:25
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn add_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]    |                         ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |        |   |
[INFO] [stdout]    |                         |        |   the same lifetime is hidden here
[INFO] [stdout]    |                         |        the same lifetime is hidden 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] 75 | fn add_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]    |                                      +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn del_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                         ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |        |   |
[INFO] [stdout]     |                         |        |   the same lifetime is hidden here
[INFO] [stdout]     |                         |        the same lifetime is hidden 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] 104 | fn del_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                      +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:111:25
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn get_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                         ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |        |   |
[INFO] [stdout]     |                         |        |   the same lifetime is hidden here
[INFO] [stdout]     |                         |        the same lifetime is hidden 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] 111 | fn get_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                      +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:115:28
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn concat_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                            ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |        |   |
[INFO] [stdout]     |                            |        |   the same lifetime is hidden here
[INFO] [stdout]     |                            |        the same lifetime is hidden 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] 115 | fn concat_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                         +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:125:28
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn backup_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                            ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |        |   |
[INFO] [stdout]     |                            |        |   the same lifetime is hidden here
[INFO] [stdout]     |                            |        the same lifetime is hidden 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] 125 | fn backup_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                         +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:132:29
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn restore_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                             ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |        |   |
[INFO] [stdout]     |                             |        |   the same lifetime is hidden here
[INFO] [stdout]     |                             |        the same lifetime is hidden 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] 132 | fn restore_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                          +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:136:26
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn exec_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                          ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |        |   |
[INFO] [stdout]     |                          |        |   the same lifetime is hidden here
[INFO] [stdout]     |                          |        the same lifetime is hidden 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] 136 | fn exec_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                       +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:149:24
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn cd_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                        ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |        |   |
[INFO] [stdout]     |                        |        |   the same lifetime is hidden here
[INFO] [stdout]     |                        |        the same lifetime is hidden 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] 149 | fn cd_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                     +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:159:26
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn list_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                          ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |        |   |
[INFO] [stdout]     |                          |        |   the same lifetime is hidden here
[INFO] [stdout]     |                          |        the same lifetime is hidden 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] 159 | fn list_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                       +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:166:35
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn current_cache_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                                   ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |        |   |
[INFO] [stdout]     |                                   |        |   the same lifetime is hidden here
[INFO] [stdout]     |                                   |        the same lifetime is hidden 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] 166 | fn current_cache_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                                +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:173:26
[INFO] [stdout]     |
[INFO] [stdout] 173 | fn help_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                          ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |        |   |
[INFO] [stdout]     |                          |        |   the same lifetime is hidden here
[INFO] [stdout]     |                          |        the same lifetime is hidden 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] 173 | fn help_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                       +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:177:27
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn clear_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                           ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |        |   |
[INFO] [stdout]     |                           |        |   the same lifetime is hidden here
[INFO] [stdout]     |                           |        the same lifetime is hidden 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] 177 | fn clear_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                        +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:184:32
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn list_cache_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                                ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |        |   |
[INFO] [stdout]     |                                |        |   the same lifetime is hidden here
[INFO] [stdout]     |                                |        the same lifetime is hidden 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] 184 | fn list_cache_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                             +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:226:27
[INFO] [stdout]     |
[INFO] [stdout] 226 | fn using_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                           ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |        |   |
[INFO] [stdout]     |                           |        |   the same lifetime is hidden here
[INFO] [stdout]     |                           |        the same lifetime is hidden 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] 226 | fn using_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                        +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:230:26
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn dump_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                          ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |        |   |
[INFO] [stdout]     |                          |        |   the same lifetime is hidden here
[INFO] [stdout]     |                          |        the same lifetime is hidden 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] 230 | fn dump_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                       +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:245:31
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn del_cache_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                               ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |        |   |
[INFO] [stdout]     |                               |        |   the same lifetime is hidden here
[INFO] [stdout]     |                               |        the same lifetime is hidden 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] 245 | fn del_cache_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                            +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cache_command/parser.rs:258:31
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub fn parse_command(command: &str) -> Res<CacheCommand> {
[INFO] [stdout]     |                               ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |        |   |
[INFO] [stdout]     |                               |        |   the same lifetime is hidden here
[INFO] [stdout]     |                               |        the same lifetime is hidden 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] 258 | pub fn parse_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stdout]     |                                            +++             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/calculator/parser.rs:9:56
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn tag_no_space<'a>(t: &'a str) -> impl Fn(&'a str) -> Res<&'a str> {
[INFO] [stdout]   |                         --                  --         ^^^^^--^^^^^
[INFO] [stdout]   |                         |                   |          |    |
[INFO] [stdout]   |                         |                   |          |    the same lifetime is named here
[INFO] [stdout]   |                         |                   |          the same lifetime is hidden here
[INFO] [stdout]   |                         |                   the same lifetime is named here
[INFO] [stdout]   |                         the 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] 9 | fn tag_no_space<'a>(t: &'a str) -> impl Fn(&'a str) -> Res<'a, &'a str> {
[INFO] [stdout]   |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/calculator/parser.rs:12:64
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn tag_no_space_no_case<'a>(t: &'a str) -> impl Fn(&'a str) -> Res<&'a str> {
[INFO] [stdout]    |                                 --                  --         ^^^^^--^^^^^
[INFO] [stdout]    |                                 |                   |          |    |
[INFO] [stdout]    |                                 |                   |          |    the same lifetime is named here
[INFO] [stdout]    |                                 |                   |          the same lifetime is hidden here
[INFO] [stdout]    |                                 |                   the same lifetime is named here
[INFO] [stdout]    |                                 the 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] 12 | fn tag_no_space_no_case<'a>(t: &'a str) -> impl Fn(&'a str) -> Res<'a, &'a str> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/calculator/parser.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn parse_number(s: &str) -> Res<Value> {
[INFO] [stdout]    |                    ^^^^     ^^^^^^^^^^
[INFO] [stdout]    |                    |        |   |
[INFO] [stdout]    |                    |        |   the same lifetime is hidden here
[INFO] [stdout]    |                    |        the same lifetime is hidden 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] 16 | fn parse_number(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]    |                                 +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/calculator/parser.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn parse_variable(s: &str) -> Res<Value> {
[INFO] [stdout]    |                      ^^^^     ^^^^^^^^^^
[INFO] [stdout]    |                      |        |   |
[INFO] [stdout]    |                      |        |   the same lifetime is hidden here
[INFO] [stdout]    |                      |        the same lifetime is hidden 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] 26 | fn parse_variable(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]    |                                   +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/calculator/parser.rs:37:22
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn parse_constant(s: &str) -> Res<Value> {
[INFO] [stdout]    |                      ^^^^     ^^^^^^^^^^
[INFO] [stdout]    |                      |        |   |
[INFO] [stdout]    |                      |        |   the same lifetime is hidden here
[INFO] [stdout]    |                      |        the same lifetime is hidden 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] 37 | fn parse_constant(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]    |                                   +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/calculator/parser.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn parse_paren(s: &str) -> Res<Value> {
[INFO] [stdout]    |                   ^^^^     ^^^^^^^^^^
[INFO] [stdout]    |                   |        |   |
[INFO] [stdout]    |                   |        |   the same lifetime is hidden here
[INFO] [stdout]    |                   |        the same lifetime is hidden 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] 41 | fn parse_paren(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]    |                                +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/calculator/parser.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn parse_fn(s: &str) -> Res<Value> {
[INFO] [stdout]    |                ^^^^     ^^^^^^^^^^
[INFO] [stdout]    |                |        |   |
[INFO] [stdout]    |                |        |   the same lifetime is hidden here
[INFO] [stdout]    |                |        the same lifetime is hidden 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] 58 | fn parse_fn(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]    |                             +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/calculator/parser.rs:88:19
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn parse_value(s: &str) -> Res<Value> {
[INFO] [stdout]    |                   ^^^^     ^^^^^^^^^^
[INFO] [stdout]    |                   |        |   |
[INFO] [stdout]    |                   |        |   the same lifetime is hidden here
[INFO] [stdout]    |                   |        the same lifetime is hidden 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] 88 | fn parse_value(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]    |                                +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:122:17
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn parse_exp(s: &str) -> Res<Value> {
[INFO] [stdout]     |                 ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                 |        |   |
[INFO] [stdout]     |                 |        |   the same lifetime is hidden here
[INFO] [stdout]     |                 |        the same lifetime is hidden 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] 122 | fn parse_exp(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                              +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:126:18
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn parse_mult(s: &str) -> Res<Value> {
[INFO] [stdout]     |                  ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                  |        |   |
[INFO] [stdout]     |                  |        |   the same lifetime is hidden here
[INFO] [stdout]     |                  |        the same lifetime is hidden 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] 126 | fn parse_mult(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                               +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn parse_div(s: &str) -> Res<Value> {
[INFO] [stdout]     |                 ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                 |        |   |
[INFO] [stdout]     |                 |        |   the same lifetime is hidden here
[INFO] [stdout]     |                 |        the same lifetime is hidden 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] 130 | fn parse_div(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                              +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn parse_mod(s: &str) -> Res<Value> {
[INFO] [stdout]     |                 ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                 |        |   |
[INFO] [stdout]     |                 |        |   the same lifetime is hidden here
[INFO] [stdout]     |                 |        the same lifetime is hidden 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] 134 | fn parse_mod(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                              +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:137:17
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn parse_add(s: &str) -> Res<Value> {
[INFO] [stdout]     |                 ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                 |        |   |
[INFO] [stdout]     |                 |        |   the same lifetime is hidden here
[INFO] [stdout]     |                 |        the same lifetime is hidden 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] 137 | fn parse_add(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                              +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:141:19
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn parse_subtr(s: &str) -> Res<Value> {
[INFO] [stdout]     |                   ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                   |        |   |
[INFO] [stdout]     |                   |        |   the same lifetime is hidden here
[INFO] [stdout]     |                   |        the same lifetime is hidden 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] 141 | fn parse_subtr(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                                +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:145:24
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn parse_expression(s: &str) -> Res<Value> {
[INFO] [stdout]     |                        ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                        |        |   |
[INFO] [stdout]     |                        |        |   the same lifetime is hidden here
[INFO] [stdout]     |                        |        the same lifetime is hidden 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] 145 | fn parse_expression(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                                     +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/calculator/parser.rs:149:33
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub(super) fn parse_var_expr(s: &str) -> Res<Value> {
[INFO] [stdout]     |                                 ^^^^     ^^^^^^^^^^
[INFO] [stdout]     |                                 |        |   |
[INFO] [stdout]     |                                 |        |   the same lifetime is hidden here
[INFO] [stdout]     |                                 |        the same lifetime is hidden 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] 149 | pub(super) fn parse_var_expr(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stdout]     |                                              +++      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/db/file_db.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn get_guard(&self) -> Option<MutexGuard<InMemoryDb<K, V>>>;
[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] 33 |     fn get_guard(&self) -> Option<MutexGuard<'_, InMemoryDb<K, V>>>;
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/db/file_db.rs:47:18
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn get_guard(&self) -> Option<MutexGuard<InMemoryDb<K, V>>> {
[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] 47 |     fn get_guard(&self) -> Option<MutexGuard<'_, InMemoryDb<K, V>>> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.63s
[INFO] running `Command { std: "docker" "inspect" "e5543bff6c903ae71f7bb0abe50f0025437cb8cda4892a24dfdd310b5628f395", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5543bff6c903ae71f7bb0abe50f0025437cb8cda4892a24dfdd310b5628f395", kill_on_drop: false }`
[INFO] [stdout] e5543bff6c903ae71f7bb0abe50f0025437cb8cda4892a24dfdd310b5628f395
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 95733a04eaca774ee821fe2494e7009f99887014f4edbf7913cb79008405704a
[INFO] running `Command { std: "docker" "start" "-a" "95733a04eaca774ee821fe2494e7009f99887014f4edbf7913cb79008405704a", kill_on_drop: false }`
[INFO] [stderr] warning: use of a double negation
[INFO] [stderr]    --> src/calculator/tests.rs:164:28
[INFO] [stderr]     |
[INFO] [stderr] 164 |     assert_eq!(Number::Int(--5), compute("--5", &mut ctx).unwrap());
[INFO] [stderr]     |                            ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the prefix `--` could be misinterpreted as a decrement operator which exists in other languages
[INFO] [stderr]     = note: use `-= 1` if you meant to decrement the value
[INFO] [stderr]     = note: `#[warn(double_negations)]` on by default
[INFO] [stderr] help: add parentheses for clarity
[INFO] [stderr]     |
[INFO] [stderr] 164 |     assert_eq!(Number::Int(-(-5)), compute("--5", &mut ctx).unwrap());
[INFO] [stderr]     |                             +  +
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `eof` and `none_of`
[INFO] [stderr]   --> src/prelude.rs:8:72
[INFO] [stderr]    |
[INFO] [stderr]  8 |         alpha1, alphanumeric1, i128 as I128, multispace0, multispace1, none_of,
[INFO] [stderr]    |                                                                        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 11 |     combinator::{all_consuming, cut, eof, map, map_parser, opt, rest, verify},
[INFO] [stderr]    |                                      ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::stdout`
[INFO] [stderr]   --> src/prelude.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub use std::io::stdout;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AtomicBool`, `Ordering`, `path::PathBuf`, and `process::ExitCode`
[INFO] [stderr]   --> src/prelude.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 |     path::PathBuf,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 39 |     process::ExitCode,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 40 |     sync::atomic::{AtomicBool, Ordering},
[INFO] [stderr]    |                    ^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `contains` is never used
[INFO] [stderr]   --> src/db/mod.rs:48:8
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub trait Op<K: Key, V: Value> {
[INFO] [stderr]    |           -- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 48 |     fn contains(&self, k: &K) -> Option<bool>;
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `merge_current_tree_with` and `open_tree_and_apply` are never used
[INFO] [stderr]   --> src/db/mod.rs:68:8
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub trait DbOp<K: Key, V: Value>: Op<K, V> {
[INFO] [stderr]    |           ---- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 68 |     fn merge_current_tree_with(&mut self, tree_name_source: &str)
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 79 |     fn open_tree_and_apply(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MyString` is never constructed
[INFO] [stderr]    --> src/db/database.rs:137:12
[INFO] [stderr]     |
[INFO] [stderr] 137 |     struct MyString(String);
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]  --> src/cache_command/os_command.rs:2:36
[INFO] [stderr]   |
[INFO] [stderr] 2 | fn extract_args<'a>(s: &'a str) -> Res<Vec<&'a str>> {
[INFO] [stderr]   |                         --         ^^^^^^^^^--^^^^^^
[INFO] [stderr]   |                         |          |        |
[INFO] [stderr]   |                         |          |        the same lifetime is named here
[INFO] [stderr]   |                         |          the same lifetime is hidden here
[INFO] [stderr]   |                         the lifetime is named here
[INFO] [stderr]   |
[INFO] [stderr]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]   |
[INFO] [stderr] 2 | fn extract_args<'a>(s: &'a str) -> Res<'a, Vec<&'a str>> {
[INFO] [stderr]   |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/cache_command/os_command.rs:17:36
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn extract_envs<'a>(s: &'a str) -> Res<Vec<(&'a str, &'a str)>> {
[INFO] [stderr]    |                         --         ^^^^^^^^^^--^^^^^^^--^^^^^^^
[INFO] [stderr]    |                         |          |         |        |
[INFO] [stderr]    |                         |          |         |        the same lifetime is named here
[INFO] [stderr]    |                         |          |         the same lifetime is named here
[INFO] [stderr]    |                         |          the same lifetime is hidden here
[INFO] [stderr]    |                         the lifetime is named here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn extract_envs<'a>(s: &'a str) -> Res<'a, Vec<(&'a str, &'a str)>> {
[INFO] [stderr]    |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/cache_command/os_command.rs:27:39
[INFO] [stderr]    |
[INFO] [stderr] 27 | fn extract_program<'a>(s: &'a str) -> Res<&'a str> {
[INFO] [stderr]    |                            --         ^^^^^--^^^^^
[INFO] [stderr]    |                            |          |    |
[INFO] [stderr]    |                            |          |    the same lifetime is named here
[INFO] [stderr]    |                            |          the same lifetime is hidden here
[INFO] [stderr]    |                            the lifetime is named here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 27 | fn extract_program<'a>(s: &'a str) -> Res<'a, &'a str> {
[INFO] [stderr]    |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/cache_command/parser.rs:75:25
[INFO] [stderr]    |
[INFO] [stderr] 75 | fn add_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]    |                         ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                         |        |   |
[INFO] [stderr]    |                         |        |   the same lifetime is hidden here
[INFO] [stderr]    |                         |        the same lifetime is hidden here
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 75 | fn add_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]    |                                      +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:104:25
[INFO] [stderr]     |
[INFO] [stderr] 104 | fn del_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                         ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                         |        |   |
[INFO] [stderr]     |                         |        |   the same lifetime is hidden here
[INFO] [stderr]     |                         |        the same lifetime is hidden here
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 104 | fn del_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                      +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:111:25
[INFO] [stderr]     |
[INFO] [stderr] 111 | fn get_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                         ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                         |        |   |
[INFO] [stderr]     |                         |        |   the same lifetime is hidden here
[INFO] [stderr]     |                         |        the same lifetime is hidden here
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 111 | fn get_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                      +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:115:28
[INFO] [stderr]     |
[INFO] [stderr] 115 | fn concat_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                            ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                            |        |   |
[INFO] [stderr]     |                            |        |   the same lifetime is hidden here
[INFO] [stderr]     |                            |        the same lifetime is hidden here
[INFO] [stderr]     |                            the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 115 | fn concat_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                         +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:125:28
[INFO] [stderr]     |
[INFO] [stderr] 125 | fn backup_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                            ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                            |        |   |
[INFO] [stderr]     |                            |        |   the same lifetime is hidden here
[INFO] [stderr]     |                            |        the same lifetime is hidden here
[INFO] [stderr]     |                            the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 125 | fn backup_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                         +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:132:29
[INFO] [stderr]     |
[INFO] [stderr] 132 | fn restore_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                             ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                             |        |   |
[INFO] [stderr]     |                             |        |   the same lifetime is hidden here
[INFO] [stderr]     |                             |        the same lifetime is hidden here
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 132 | fn restore_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                          +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:136:26
[INFO] [stderr]     |
[INFO] [stderr] 136 | fn exec_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                          ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                          |        |   |
[INFO] [stderr]     |                          |        |   the same lifetime is hidden here
[INFO] [stderr]     |                          |        the same lifetime is hidden here
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 136 | fn exec_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                       +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:149:24
[INFO] [stderr]     |
[INFO] [stderr] 149 | fn cd_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                        ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                        |        |   |
[INFO] [stderr]     |                        |        |   the same lifetime is hidden here
[INFO] [stderr]     |                        |        the same lifetime is hidden here
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 149 | fn cd_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                     +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:159:26
[INFO] [stderr]     |
[INFO] [stderr] 159 | fn list_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                          ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                          |        |   |
[INFO] [stderr]     |                          |        |   the same lifetime is hidden here
[INFO] [stderr]     |                          |        the same lifetime is hidden here
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 159 | fn list_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                       +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:166:35
[INFO] [stderr]     |
[INFO] [stderr] 166 | fn current_cache_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                                   ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                   |        |   |
[INFO] [stderr]     |                                   |        |   the same lifetime is hidden here
[INFO] [stderr]     |                                   |        the same lifetime is hidden here
[INFO] [stderr]     |                                   the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 166 | fn current_cache_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                                +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:173:26
[INFO] [stderr]     |
[INFO] [stderr] 173 | fn help_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                          ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                          |        |   |
[INFO] [stderr]     |                          |        |   the same lifetime is hidden here
[INFO] [stderr]     |                          |        the same lifetime is hidden here
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 173 | fn help_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                       +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:177:27
[INFO] [stderr]     |
[INFO] [stderr] 177 | fn clear_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                           ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                           |        |   |
[INFO] [stderr]     |                           |        |   the same lifetime is hidden here
[INFO] [stderr]     |                           |        the same lifetime is hidden here
[INFO] [stderr]     |                           the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 177 | fn clear_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                        +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:184:32
[INFO] [stderr]     |
[INFO] [stderr] 184 | fn list_cache_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                                ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                |        |   |
[INFO] [stderr]     |                                |        |   the same lifetime is hidden here
[INFO] [stderr]     |                                |        the same lifetime is hidden here
[INFO] [stderr]     |                                the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 184 | fn list_cache_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                             +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:226:27
[INFO] [stderr]     |
[INFO] [stderr] 226 | fn using_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                           ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                           |        |   |
[INFO] [stderr]     |                           |        |   the same lifetime is hidden here
[INFO] [stderr]     |                           |        the same lifetime is hidden here
[INFO] [stderr]     |                           the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 226 | fn using_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                        +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:230:26
[INFO] [stderr]     |
[INFO] [stderr] 230 | fn dump_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                          ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                          |        |   |
[INFO] [stderr]     |                          |        |   the same lifetime is hidden here
[INFO] [stderr]     |                          |        the same lifetime is hidden here
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 230 | fn dump_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                       +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:245:31
[INFO] [stderr]     |
[INFO] [stderr] 245 | fn del_cache_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                               ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                               |        |   |
[INFO] [stderr]     |                               |        |   the same lifetime is hidden here
[INFO] [stderr]     |                               |        the same lifetime is hidden here
[INFO] [stderr]     |                               the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 245 | fn del_cache_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                            +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cache_command/parser.rs:258:31
[INFO] [stderr]     |
[INFO] [stderr] 258 | pub fn parse_command(command: &str) -> Res<CacheCommand> {
[INFO] [stderr]     |                               ^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                               |        |   |
[INFO] [stderr]     |                               |        |   the same lifetime is hidden here
[INFO] [stderr]     |                               |        the same lifetime is hidden here
[INFO] [stderr]     |                               the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 258 | pub fn parse_command(command: &str) -> Res<'_, CacheCommand<'_>> {
[INFO] [stderr]     |                                            +++             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]  --> src/calculator/parser.rs:9:56
[INFO] [stderr]   |
[INFO] [stderr] 9 | fn tag_no_space<'a>(t: &'a str) -> impl Fn(&'a str) -> Res<&'a str> {
[INFO] [stderr]   |                         --                  --         ^^^^^--^^^^^
[INFO] [stderr]   |                         |                   |          |    |
[INFO] [stderr]   |                         |                   |          |    the same lifetime is named here
[INFO] [stderr]   |                         |                   |          the same lifetime is hidden here
[INFO] [stderr]   |                         |                   the same lifetime is named here
[INFO] [stderr]   |                         the lifetime is named here
[INFO] [stderr]   |
[INFO] [stderr]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]   |
[INFO] [stderr] 9 | fn tag_no_space<'a>(t: &'a str) -> impl Fn(&'a str) -> Res<'a, &'a str> {
[INFO] [stderr]   |                                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/calculator/parser.rs:12:64
[INFO] [stderr]    |
[INFO] [stderr] 12 | fn tag_no_space_no_case<'a>(t: &'a str) -> impl Fn(&'a str) -> Res<&'a str> {
[INFO] [stderr]    |                                 --                  --         ^^^^^--^^^^^
[INFO] [stderr]    |                                 |                   |          |    |
[INFO] [stderr]    |                                 |                   |          |    the same lifetime is named here
[INFO] [stderr]    |                                 |                   |          the same lifetime is hidden here
[INFO] [stderr]    |                                 |                   the same lifetime is named here
[INFO] [stderr]    |                                 the lifetime is named here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 12 | fn tag_no_space_no_case<'a>(t: &'a str) -> impl Fn(&'a str) -> Res<'a, &'a str> {
[INFO] [stderr]    |                                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/calculator/parser.rs:16:20
[INFO] [stderr]    |
[INFO] [stderr] 16 | fn parse_number(s: &str) -> Res<Value> {
[INFO] [stderr]    |                    ^^^^     ^^^^^^^^^^
[INFO] [stderr]    |                    |        |   |
[INFO] [stderr]    |                    |        |   the same lifetime is hidden here
[INFO] [stderr]    |                    |        the same lifetime is hidden here
[INFO] [stderr]    |                    the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 16 | fn parse_number(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stderr]    |                                 +++      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/calculator/parser.rs:26:22
[INFO] [stderr]    |
[INFO] [stderr] 26 | fn parse_variable(s: &str) -> Res<Value> {
[INFO] [stderr]    |                      ^^^^     ^^^^^^^^^^
[INFO] [stderr]    |                      |        |   |
[INFO] [stderr]    |                      |        |   the same lifetime is hidden here
[INFO] [stderr]    |                      |        the same lifetime is hidden here
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 26 | fn parse_variable(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stderr]    |                                   +++      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/calculator/parser.rs:37:22
[INFO] [stderr]    |
[INFO] [stderr] 37 | fn parse_constant(s: &str) -> Res<Value> {
[INFO] [stderr]    |                      ^^^^     ^^^^^^^^^^
[INFO] [stderr]    |                      |        |   |
[INFO] [stderr]    |                      |        |   the same lifetime is hidden here
[INFO] [stderr]    |                      |        the same lifetime is hidden here
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 37 | fn parse_constant(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stderr]    |                                   +++      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/calculator/parser.rs:41:19
[INFO] [stderr]    |
[INFO] [stderr] 41 | fn parse_paren(s: &str) -> Res<Value> {
[INFO] [stderr]    |                   ^^^^     ^^^^^^^^^^
[INFO] [stderr]    |                   |        |   |
[INFO] [stderr]    |                   |        |   the same lifetime is hidden here
[INFO] [stderr]    |                   |        the same lifetime is hidden here
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 41 | fn parse_paren(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stderr]    |                                +++      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/calculator/parser.rs:58:16
[INFO] [stderr]    |
[INFO] [stderr] 58 | fn parse_fn(s: &str) -> Res<Value> {
[INFO] [stderr]    |                ^^^^     ^^^^^^^^^^
[INFO] [stderr]    |                |        |   |
[INFO] [stderr]    |                |        |   the same lifetime is hidden here
[INFO] [stderr]    |                |        the same lifetime is hidden here
[INFO] [stderr]    |                the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 58 | fn parse_fn(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stderr]    |                             +++      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/calculator/parser.rs:88:19
[INFO] [stderr]    |
[INFO] [stderr] 88 | fn parse_value(s: &str) -> Res<Value> {
[INFO] [stderr]    |                   ^^^^     ^^^^^^^^^^
[INFO] [stderr]    |                   |        |   |
[INFO] [stderr]    |                   |        |   the same lifetime is hidden here
[INFO] [stderr]    |                   |        the same lifetime is hidden here
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 88 | fn parse_value(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stderr]    |                                +++      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/calculator/parser.rs:122:17
[INFO] [stderr]     |
[INFO] [stderr] 122 | fn parse_exp(s: &str) -> Res<Value> {
[INFO] [stderr]     |                 ^^^^     ^^^^^^^^^^
[INFO] [stderr]     |                 |        |   |
[INFO] [stderr]     |                 |        |   the same lifetime is hidden here
[INFO] [stderr]     |                 |        the same lifetime is hidden here
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 122 | fn parse_exp(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stderr]     |                              +++      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/calculator/parser.rs:126:18
[INFO] [stderr]     |
[INFO] [stderr] 126 | fn parse_mult(s: &str) -> Res<Value> {
[INFO] [stderr]     |                  ^^^^     ^^^^^^^^^^
[INFO] [stderr]     |                  |        |   |
[INFO] [stderr]     |                  |        |   the same lifetime is hidden here
[INFO] [stderr]     |                  |        the same lifetime is hidden here
[INFO] [stderr]     |                  the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 126 | fn parse_mult(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stderr]     |                               +++      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/calculator/parser.rs:130:17
[INFO] [stderr]     |
[INFO] [stderr] 130 | fn parse_div(s: &str) -> Res<Value> {
[INFO] [stderr]     |                 ^^^^     ^^^^^^^^^^
[INFO] [stderr]     |                 |        |   |
[INFO] [stderr]     |                 |        |   the same lifetime is hidden here
[INFO] [stderr]     |                 |        the same lifetime is hidden here
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 130 | fn parse_div(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stderr]     |                              +++      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/calculator/parser.rs:134:17
[INFO] [stderr]     |
[INFO] [stderr] 134 | fn parse_mod(s: &str) -> Res<Value> {
[INFO] [stderr]     |                 ^^^^     ^^^^^^^^^^
[INFO] [stderr]     |                 |        |   |
[INFO] [stderr]     |                 |        |   the same lifetime is hidden here
[INFO] [stderr]     |                 |        the same lifetime is hidden here
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 134 | fn parse_mod(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stderr]     |                              +++      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/calculator/parser.rs:137:17
[INFO] [stderr]     |
[INFO] [stderr] 137 | fn parse_add(s: &str) -> Res<Value> {
[INFO] [stderr]     |                 ^^^^     ^^^^^^^^^^
[INFO] [stderr]     |                 |        |   |
[INFO] [stderr]     |                 |        |   the same lifetime is hidden here
[INFO] [stderr]     |                 |        the same lifetime is hidden here
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 137 | fn parse_add(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stderr]     |                              +++      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/calculator/parser.rs:141:19
[INFO] [stderr]     |
[INFO] [stderr] 141 | fn parse_subtr(s: &str) -> Res<Value> {
[INFO] [stderr]     |                   ^^^^     ^^^^^^^^^^
[INFO] [stderr]     |                   |        |   |
[INFO] [stderr]     |                   |        |   the same lifetime is hidden here
[INFO] [stdout] 
[INFO] [stderr]     |                   |        the same lifetime is hidden here
[INFO] [stdout] running 25 tests
[INFO] [stderr]     |                   the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 141 | fn parse_subtr(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stderr]     |                                +++      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/calculator/parser.rs:145:24
[INFO] [stderr]     |
[INFO] [stderr] 145 | fn parse_expression(s: &str) -> Res<Value> {
[INFO] [stderr]     |                        ^^^^     ^^^^^^^^^^
[INFO] [stderr]     |                        |        |   |
[INFO] [stderr]     |                        |        |   the same lifetime is hidden here
[INFO] [stderr]     |                        |        the same lifetime is hidden here
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 145 | fn parse_expression(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stderr]     |                                     +++      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/calculator/parser.rs:149:33
[INFO] [stderr]     |
[INFO] [stderr] 149 | pub(super) fn parse_var_expr(s: &str) -> Res<Value> {
[INFO] [stderr]     |                                 ^^^^     ^^^^^^^^^^
[INFO] [stderr]     |                                 |        |   |
[INFO] [stderr]     |                                 |        |   the same lifetime is hidden here
[INFO] [stderr]     |                                 |        the same lifetime is hidden here
[INFO] [stderr]     |                                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 149 | pub(super) fn parse_var_expr(s: &str) -> Res<'_, Value<'_>> {
[INFO] [stderr]     |                                              +++      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/db/file_db.rs:33:18
[INFO] [stderr]    |
[INFO] [stderr] 33 |     fn get_guard(&self) -> Option<MutexGuard<InMemoryDb<K, V>>>;
[INFO] [stderr]    |                  ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 33 |     fn get_guard(&self) -> Option<MutexGuard<'_, InMemoryDb<K, V>>>;
[INFO] [stderr]    |                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/db/file_db.rs:47:18
[INFO] [stderr]    |
[INFO] [stderr] 47 |     fn get_guard(&self) -> Option<MutexGuard<InMemoryDb<K, V>>> {
[INFO] [stderr]    |                  ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 47 |     fn get_guard(&self) -> Option<MutexGuard<'_, InMemoryDb<K, V>>> {
[INFO] [stderr]    |                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: `karsher` (bin "karsher" test) generated 45 warnings (run `cargo fix --bin "karsher" -p karsher --tests` to apply 41 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/karsher-b4f3efb402906914)
[INFO] [stdout] 'hello world'
[INFO] [stdout] test calculator::tests::test_compute_assign_with_ctx ... ok
[INFO] [stdout] test calculator::tests::test_compute_with_ctx ... ok
[INFO] [stdout] test calculator::tests::test_consts ... ok
[INFO] [stdout] test cache_command::os_command::test::test_exec_command ... ok
[INFO] [stdout] test calculator::tests::test_compute ... ok
[INFO] [stdout] test calculator::tests::test_fn_abs ... ok
[INFO] [stdout] test calculator::tests::test_fn_cos ... ok
[INFO] [stdout] test calculator::tests::test_fn_ln ... ok
[INFO] [stdout] test calculator::tests::test_fn_log ... ok
[INFO] [stdout] test calculator::tests::test_pow ... ok
[INFO] [stdout] test calculator::tests::test_negate ... ok
[INFO] [stdout] test calculator::tests::test_fn_sin ... ok
[INFO] [stdout] test calculator::tests::test_variable ... ok
[INFO] [stdout] test calculator::tests::test_variable_expr ... ok
[INFO] [stdout] test calculator::tests::test_modulo ... ok
[INFO] [stdout] test calculator::tests::test_extra ... ok
[INFO] [stdout] test calculator::tests::test_fn_tan ... ok
[INFO] [stdout] test calculator::number::test::test_add_valid ... ok
[INFO] [stdout] test db::in_memory::test::test_inner_db ... ok
[INFO] [stdout] test calculator::tests::test_fn_sqrt ... ok
[INFO] [stdout] test db::file_lock::test::test_lock ... ok
[INFO] [stdout] test calculator::tests::test_expr_invalid_drc - should panic ... ok
[INFO] [stdout] test calculator::tests::test_op_invalid - should panic ... ok
[INFO] [stdout] test calculator::tests::test_expr_invalid - should panic ... ok
[INFO] [stdout] test db::database::test::test_file_db_lock ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.69s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "95733a04eaca774ee821fe2494e7009f99887014f4edbf7913cb79008405704a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95733a04eaca774ee821fe2494e7009f99887014f4edbf7913cb79008405704a", kill_on_drop: false }`
[INFO] [stdout] 95733a04eaca774ee821fe2494e7009f99887014f4edbf7913cb79008405704a
