[INFO] cloning repository https://github.com/boxdot/gurk-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/boxdot/gurk-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fboxdot%2Fgurk-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fboxdot%2Fgurk-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a649878e35f93e0fc8946e7b2244bfe1995831bf
[INFO] checking boxdot/gurk-rs/a649878e35f93e0fc8946e7b2244bfe1995831bf against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fboxdot%2Fgurk-rs" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/boxdot/gurk-rs
[INFO] finished tweaking git repo https://github.com/boxdot/gurk-rs
[INFO] tweaked toml for git repo https://github.com/boxdot/gurk-rs written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/boxdot/gurk-rs on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/boxdot/gurk-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/whisperfish/presage`
[INFO] [stderr]     Updating git repository `https://github.com/whisperfish/libsignal-service-rs`
[INFO] [stderr]     Updating git repository `https://github.com/signalapp/libsignal`
[INFO] [stderr]     Updating git submodule `https://github.com/signalapp/Signal-Message-Backup-Tests.git`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded partial-default v0.1.0
[INFO] [stderr]   Downloaded partial-default-derive v0.1.0
[INFO] [stderr]   Downloaded log-panics v2.1.0
[INFO] [stderr]   Downloaded reqwest-websocket v0.4.4
[INFO] [stderr]   Downloaded qr2term v0.3.3
[INFO] [stderr]   Downloaded emojis v0.6.4
[INFO] [stderr]   Downloaded pqcrypto-kyber v0.7.9
[INFO] [stderr]   Downloaded phonenumber v0.3.7+8.13.52
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6154a598f361144473de65059fe227dfcaee82f0a861f0ff2e4bc2cdf839f4fb
[INFO] running `Command { std: "docker" "start" "-a" "6154a598f361144473de65059fe227dfcaee82f0a861f0ff2e4bc2cdf839f4fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6154a598f361144473de65059fe227dfcaee82f0a861f0ff2e4bc2cdf839f4fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6154a598f361144473de65059fe227dfcaee82f0a861f0ff2e4bc2cdf839f4fb", kill_on_drop: false }`
[INFO] [stdout] 6154a598f361144473de65059fe227dfcaee82f0a861f0ff2e4bc2cdf839f4fb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 95fb61a77ed92aa46171cfed5ebd8d1c8a1a71cdc71bfd25538d7d07a3cfb782
[INFO] running `Command { std: "docker" "start" "-a" "95fb61a77ed92aa46171cfed5ebd8d1c8a1a71cdc71bfd25538d7d07a3cfb782", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling icu_properties_data v2.0.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling hashbrown v0.15.3
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling winnow v0.7.10
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling toml_datetime v0.6.9
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]     Checking parking v2.2.1
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling rustls v0.23.27
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling cc v1.2.22
[INFO] [stderr]     Checking litemap v0.8.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking writeable v0.6.1
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking block-padding v0.3.3
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling toml_edit v0.22.26
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling prettyplease v0.2.32
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling tempfile v3.20.0
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3 (https://github.com/signalapp/curve25519-dalek?tag=signal-curve25519-4.1.3#7c6d3475)
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking unicase v2.8.1
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]     Checking regex-syntax v0.6.29
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling multimap v0.10.1
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]    Compiling pqcrypto-internals v0.2.10
[INFO] [stderr]     Checking miniz_oxide v0.8.8
[INFO] [stderr]    Compiling openssl-src v300.5.0+3.5.0
[INFO] [stderr]    Compiling wayland-sys v0.31.6
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]    Compiling tokio v1.45.0
[INFO] [stderr]     Checking flate2 v1.1.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling openssl-sys v0.9.108
[INFO] [stderr]    Compiling webpki-roots v1.0.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling wayland-backend v0.3.10
[INFO] [stderr]     Checking futures-lite v2.6.0
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling pqcrypto-kyber v0.7.9
[INFO] [stderr]    Compiling crc v3.3.0
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1 (https://github.com/signalapp/curve25519-dalek?tag=signal-curve25519-4.1.3#7c6d3475)
[INFO] [stderr]    Compiling enumflags2_derive v0.7.11
[INFO] [stderr]    Compiling rustls-webpki v0.103.3
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling num_enum_derive v0.7.3
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]     Checking zerovec v0.11.2
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling partial-default-derive v0.1.0
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking num_enum v0.7.3
[INFO] [stderr]    Compiling derive-where v1.4.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling wayland-client v0.31.10
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]    Compiling uuid v1.16.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking icu_properties v2.0.0
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]     Checking data-encoding v2.9.0
[INFO] [stderr]     Checking lru-cache v0.1.2
[INFO] [stderr]     Checking partial-default v0.1.0
[INFO] [stderr]     Checking polling v3.7.4
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling wayland-scanner v0.31.6
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling endi v1.1.0
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking oncemutex v0.1.1
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]     Checking async-task v4.7.1
[INFO] [stderr]     Checking pqcrypto-traits v0.3.5
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking regex-cache v0.2.1
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]     Checking async-io v2.4.0
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling zvariant_utils v3.2.0
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling zvariant_derive v5.5.3
[INFO] [stderr]     Checking poksho v0.7.0 (https://github.com/signalapp/libsignal?tag=v0.56.1#e46841ea)
[INFO] [stderr]    Compiling phonenumber v0.3.7+8.13.52
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking signal-crypto v0.1.0 (https://github.com/signalapp/libsignal?tag=v0.56.1#e46841ea)
[INFO] [stderr]     Checking aes-gcm-siv v0.11.1
[INFO] [stderr]    Compiling sqlx-core v0.8.5
[INFO] [stderr]    Compiling enumflags2 v0.7.11
[INFO] [stderr]     Checking libsignal-core v0.1.0 (https://github.com/signalapp/libsignal?tag=v0.56.1#e46841ea)
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking async-tungstenite v0.28.2
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking bytemuck v1.23.0
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]     Checking hex-literal v0.4.1
[INFO] [stderr]    Compiling zvariant v5.5.3
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking image v0.25.6
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking async-signal v0.2.10
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling serde_with_macros v3.12.0
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking piper v0.2.4
[INFO] [stderr]    Compiling heapless v0.7.17
[INFO] [stderr]     Checking zkcredential v0.1.0 (https://github.com/signalapp/libsignal?tag=v0.56.1#e46841ea)
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking siphasher v1.0.1
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking phf_shared v0.11.3
[INFO] [stderr]     Checking serde_with v3.12.0
[INFO] [stderr]     Checking wayland-protocols v0.32.8
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]     Checking zkgroup v0.9.0 (https://github.com/signalapp/libsignal?tag=v0.56.1#e46841ea)
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]     Checking clap_builder v4.5.38
[INFO] [stderr]     Checking zbus_names v4.2.0
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]     Checking tree_magic_mini v3.1.6
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]     Checking async-process v2.3.0
[INFO] [stderr]     Checking serde_spanned v0.6.8
[INFO] [stderr]     Checking async-executor v1.13.2
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking hash32 v0.2.1
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]    Compiling sqlx-sqlite v0.8.5
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]     Checking os_pipe v1.2.1
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling zbus_macros v5.7.0
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]    Compiling indoc v2.0.6
[INFO] [stderr]     Checking x11rb-protocol v0.13.1
[INFO] [stderr]     Checking num-conv v0.1.0
[INFO] [stderr]     Checking toml_write v0.1.1
[INFO] [stderr]    Compiling strict v0.2.0
[INFO] [stderr]     Checking time-core v0.1.4
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]    Compiling crokey-proc_macros v1.2.0
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]    Compiling instability v0.3.7
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]    Compiling prost-types v0.13.5
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking tokio-rustls v0.26.2
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking clap v4.5.38
[INFO] [stderr]     Checking qrcode v0.14.1
[INFO] [stderr]    Compiling strum_macros v0.27.1
[INFO] [stderr]     Checking bstr v1.12.0
[INFO] [stderr]     Checking hyper-util v0.1.11
[INFO] [stderr]    Compiling prost-build v0.13.5
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking vte v0.14.1
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking cobs v0.2.3
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking smawk v0.3.2
[INFO] [stderr]     Checking unicode-linebreak v0.1.5
[INFO] [stderr]     Checking shell-words v1.1.0
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking textwrap v0.16.2
[INFO] [stderr]     Checking tracing-appender v0.2.3
[INFO] [stderr]     Checking dialoguer v0.11.0
[INFO] [stderr]     Checking qr2term v0.3.3
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.5
[INFO] [stderr]     Checking crokey v1.2.0
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking postcard v1.1.1
[INFO] [stderr]     Checking strip-ansi-escapes v0.2.1
[INFO] [stderr]     Checking toml v0.8.22
[INFO] [stderr]     Checking opener v0.7.2
[INFO] [stderr]     Checking emojis v0.6.4
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking hyper-rustls v0.27.5
[INFO] [stderr]     Checking reqwest v0.12.15
[INFO] [stderr]     Checking hostname v0.4.1
[INFO] [stderr]     Checking log-panics v2.1.0
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking whoami v1.6.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking reqwest-websocket v0.4.4
[INFO] [stderr]     Checking strum v0.27.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]    Compiling libsignal-protocol v0.1.0 (https://github.com/signalapp/libsignal?tag=v0.56.1#e46841ea)
[INFO] [stderr]    Compiling libsignal-service v0.1.0 (https://github.com/whisperfish/libsignal-service-rs?rev=f94d55bf8d742699024c26ca3965e85fc9946e23#f94d55bf)
[INFO] [stderr]     Checking env_logger v0.8.4
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking zbus v5.7.0
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.8
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]    Compiling pulldown-cmark v0.12.2
[INFO] [stderr]     Checking getopts v0.2.21
[INFO] [stderr]    Compiling quickcheck_macros v1.1.0
[INFO] [stderr]     Checking xattr v1.5.0
[INFO] [stderr]     Checking quickcheck v1.0.3
[INFO] [stderr]    Compiling sqlx-macros v0.8.5
[INFO] [stderr]     Checking filetime v0.2.25
[INFO] [stderr]    Compiling xshell-macros v0.2.7
[INFO] [stderr]     Checking hex-literal v1.0.0
[INFO] [stderr]    Compiling xflags-macros v0.3.2
[INFO] [stderr]     Checking pulldown-cmark-escape v0.11.0
[INFO] [stderr]     Checking tar v0.4.44
[INFO] [stderr]     Checking insta v1.43.1
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking xshell v0.2.7
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking xflags v0.3.2
[INFO] [stderr]     Checking wl-clipboard-rs v0.9.2
[INFO] [stderr]     Checking xtask v0.1.0 (/opt/rustwide/workdir/xtask)
[INFO] [stderr]     Checking arboard v3.5.0
[INFO] [stderr]     Checking notify-rust v4.11.7
[INFO] [stderr]     Checking presage v0.7.0-dev (https://github.com/whisperfish/presage?rev=d3a760088#d3a76008)
[INFO] [stderr]     Checking sqlx v0.8.5
[INFO] [stderr]     Checking presage-store-sqlite v0.1.0 (https://github.com/whisperfish/presage?rev=d3a760088#d3a76008)
[INFO] [stderr]     Checking gurk v0.7.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/app.rs:440:25
[INFO] [stdout]     |
[INFO] [stdout] 440 |     fn selected_message(&self) -> Option<Cow<Message>> {
[INFO] [stdout]     |                         ^^^^^            ------------ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 440 |     fn selected_message(&self) -> Option<Cow<'_, Message>> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/emoji.rs:8:40
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) fn replace_shortcodes(text: &str) -> Cow<str> {
[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] 8 | pub(crate) fn replace_shortcodes(text: &str) -> Cow<'_, str> {
[INFO] [stdout]   |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<Channel>> + '_>;
[INFO] [stdout]    |                 ^^^^^ the lifetime is elided here ------------ the same lifetime is hidden 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] 31 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<'_, Channel>> + '_>;
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:33:16
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn channel(&self, channel_id: ChannelId) -> Option<Cow<Channel>>;
[INFO] [stdout]    |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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 channel(&self, channel_id: ChannelId) -> Option<Cow<'_, Channel>>;
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:35:22
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn store_channel(&mut self, channel: Channel) -> Cow<Channel>;
[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] 35 |     fn store_channel(&mut self, channel: Channel) -> Cow<'_, Channel>;
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 42 |         channel_id: ChannelId,
[INFO] [stdout] 43 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_>;
[INFO] [stdout]    |                                             ------------ the same lifetime is hidden 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] 43 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn message(&self, message_id: MessageId) -> Option<Cow<Message>>;
[INFO] [stdout]    |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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] 45 |     fn message(&self, message_id: MessageId) -> Option<Cow<'_, Message>>;
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 51 |         message_id: MessageId,
[INFO] [stdout] 52 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_>;
[INFO] [stdout]    |                                             ------------ the same lifetime is hidden 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] 52 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:58:22
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<Message>;
[INFO] [stdout]    |                      ^^^^^^^^^ the lifetime is elided here                  ------------ the same lifetime is hidden 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 store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<'_, Message>;
[INFO] [stdout]    |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         &mut self,
[INFO] [stdout]    |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 65 |     ) -> Option<Cow<Message>> {
[INFO] [stdout]    |                 ------------ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 65 |     ) -> Option<Cow<'_, Message>> {
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/mod.rs:104:14
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<str>)> + '_>;
[INFO] [stdout]     |              ^^^^^ the lifetime is elided here        -------- the same lifetime is hidden 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 names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<'_, str>)> + '_>;
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/mod.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn name(&self, id: Uuid) -> Option<Cow<str>>;
[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] 106 |     fn name(&self, id: Uuid) -> Option<Cow<'_, str>>;
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/mod.rs:111:19
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn store_name(&mut self, id: Uuid, name: String) -> Cow<str>;
[INFO] [stdout]     |                   ^^^^^^^^^ the lifetime is elided here -------- the same lifetime is hidden 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 store_name(&mut self, id: Uuid, name: String) -> Cow<'_, str>;
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/mod.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |     fn metadata(&self) -> Cow<Metadata>;
[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] 114 |     fn metadata(&self) -> Cow<'_, Metadata>;
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/mod.rs:116:23
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<Metadata>;
[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] 116 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<'_, Metadata>;
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<Channel>> + '_> {
[INFO] [stdout]    |                 ^^^^^ the lifetime is elided here ------------ the same lifetime is hidden 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] 13 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<'_, Channel>> + '_> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn channel(&self, _channel_id: ChannelId) -> Option<Cow<Channel>> {
[INFO] [stdout]    |                ^^^^^ the lifetime is elided here        ------------ the same lifetime is hidden 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] 17 |     fn channel(&self, _channel_id: ChannelId) -> Option<Cow<'_, Channel>> {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn store_channel(&mut self, channel: Channel) -> Cow<Channel> {
[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] 21 |     fn store_channel(&mut self, channel: Channel) -> Cow<'_, Channel> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 27 |         _channel_id: ChannelId,
[INFO] [stdout] 28 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]    |                                             ------------ the same lifetime is hidden 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] 28 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 34 |         _message_id: MessageId,
[INFO] [stdout] 35 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]    |                                             ------------ the same lifetime is hidden 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] 35 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn message(&self, _message_id: MessageId) -> Option<Cow<Message>> {
[INFO] [stdout]    |                ^^^^^ the lifetime is elided here        ------------ the same lifetime is hidden 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] 39 |     fn message(&self, _message_id: MessageId) -> Option<Cow<'_, Message>> {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn store_message(&mut self, _channel_id: ChannelId, message: Message) -> Cow<Message> {
[INFO] [stdout]    |                      ^^^^^^^^^ the lifetime is elided here                   ------------ the same lifetime is hidden 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] 43 |     fn store_message(&mut self, _channel_id: ChannelId, message: Message) -> Cow<'_, Message> {
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<str>)> + '_> {
[INFO] [stdout]    |              ^^^^^ the lifetime is elided here        -------- the same lifetime is hidden 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 names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<'_, str>)> + '_> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn name(&self, _id: Uuid) -> Option<Cow<str>> {
[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] 51 |     fn name(&self, _id: Uuid) -> Option<Cow<'_, str>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn store_name(&mut self, _id: Uuid, name: String) -> Cow<str> {
[INFO] [stdout]    |                   ^^^^^^^^^ the lifetime is elided here  -------- the same lifetime is hidden 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] 55 |     fn store_name(&mut self, _id: Uuid, name: String) -> Cow<'_, str> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn metadata(&self) -> Cow<Metadata> {
[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] 59 |     fn metadata(&self) -> Cow<'_, Metadata> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:63:23
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<Metadata> {
[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] 63 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<'_, Metadata> {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<Channel>> + '_> {
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here ------------ the same lifetime is hidden 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] 154 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<'_, Channel>> + '_> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:165:16
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn channel(&self, channel_id: ChannelId) -> Option<Cow<Channel>> {
[INFO] [stdout]     |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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] 165 |     fn channel(&self, channel_id: ChannelId) -> Option<Cow<'_, Channel>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:175:22
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn store_channel(&mut self, channel: Channel) -> Cow<Channel> {
[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] 175 |     fn store_channel(&mut self, channel: Channel) -> Cow<'_, Channel> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 199 |         channel_id: ChannelId,
[INFO] [stdout] 200 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]     |                                             ------------ the same lifetime is hidden 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] 200 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 221 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 222 |         message_id: MessageId,
[INFO] [stdout] 223 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]     |                                             ------------ the same lifetime is hidden 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] 223 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:243:16
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn message(&self, message_id: MessageId) -> Option<Cow<Message>> {
[INFO] [stdout]     |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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] 243 |     fn message(&self, message_id: MessageId) -> Option<Cow<'_, Message>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:257:22
[INFO] [stdout]     |
[INFO] [stdout] 257 |     fn store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<Message> {
[INFO] [stdout]     |                      ^^^^^^^^^ the lifetime is elided here                  ------------ the same lifetime is hidden 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] 257 |     fn store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<'_, Message> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:286:14
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<str>)> + '_> {
[INFO] [stdout]     |              ^^^^^ the lifetime is elided here        -------- the same lifetime is hidden 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] 286 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<'_, str>)> + '_> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:295:13
[INFO] [stdout]     |
[INFO] [stdout] 295 |     fn name(&self, id: Uuid) -> Option<Cow<str>> {
[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] 295 |     fn name(&self, id: Uuid) -> Option<Cow<'_, str>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:303:19
[INFO] [stdout]     |
[INFO] [stdout] 303 |     fn store_name(&mut self, id: Uuid, name: String) -> Cow<str> {
[INFO] [stdout]     |                   ^^^^^^^^^ the lifetime is elided here -------- the same lifetime is hidden 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] 303 |     fn store_name(&mut self, id: Uuid, name: String) -> Cow<'_, str> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:316:17
[INFO] [stdout]     |
[INFO] [stdout] 316 |     fn metadata(&self) -> Cow<Metadata> {
[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] 316 |     fn metadata(&self) -> Cow<'_, Metadata> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:323:23
[INFO] [stdout]     |
[INFO] [stdout] 323 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<Metadata> {
[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] 323 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<'_, Metadata> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/memcache.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<Channel>> + '_> {
[INFO] [stdout]    |                 ^^^^^ the lifetime is elided here ------------ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<'_, Channel>> + '_> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/memcache.rs:69:16
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn channel(&self, channel_id: ChannelId) -> Option<Cow<Channel>> {
[INFO] [stdout]    |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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] 69 |     fn channel(&self, channel_id: ChannelId) -> Option<Cow<'_, Channel>> {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/memcache.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn store_channel(&mut self, channel: Channel) -> Cow<Channel> {
[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] 74 |     fn store_channel(&mut self, channel: Channel) -> Cow<'_, Channel> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/memcache.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 91 |         channel_id: ChannelId,
[INFO] [stdout] 92 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]    |                                             ------------ the same lifetime is hidden 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] 92 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 102 |         message_id: MessageId,
[INFO] [stdout] 103 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]     |                                             ------------ the same lifetime is hidden 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] 103 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:107:16
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn message(&self, message_id: MessageId) -> Option<Cow<Message>> {
[INFO] [stdout]     |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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] 107 |     fn message(&self, message_id: MessageId) -> Option<Cow<'_, Message>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:121:22
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<Message> {
[INFO] [stdout]     |                      ^^^^^^^^^ the lifetime is elided here                  ------------ the same lifetime is hidden 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] 121 |     fn store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<'_, Message> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:139:14
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<str>)> + '_> {
[INFO] [stdout]     |              ^^^^^ the lifetime is elided here        -------- the same lifetime is hidden 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] 139 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<'_, str>)> + '_> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn name(&self, id: Uuid) -> Option<Cow<str>> {
[INFO] [stdout]     |             ^^^^^                      -------- the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn name(&self, id: Uuid) -> Option<Cow<'_, str>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |     fn store_name(&mut self, id: Uuid, name: String) -> Cow<str> {
[INFO] [stdout]     |                   ^^^^^^^^^ the lifetime is elided here -------- the same lifetime is hidden 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] 151 |     fn store_name(&mut self, id: Uuid, name: String) -> Cow<'_, str> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |     fn metadata(&self) -> Cow<Metadata> {
[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] 163 |     fn metadata(&self) -> Cow<'_, Metadata> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:167:23
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<Metadata> {
[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] 167 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<'_, Metadata> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:241:17
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<Channel>> + '_> {
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here ------------ the same lifetime is hidden 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] 241 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<'_, Channel>> + '_> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:266:16
[INFO] [stdout]     |
[INFO] [stdout] 266 |     fn channel(&self, channel_id: ChannelId) -> Option<Cow<Channel>> {
[INFO] [stdout]     |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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] 266 |     fn channel(&self, channel_id: ChannelId) -> Option<Cow<'_, Channel>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:289:22
[INFO] [stdout]     |
[INFO] [stdout] 289 |     fn store_channel(&mut self, channel: Channel) -> Cow<Channel> {
[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] 289 |     fn store_channel(&mut self, channel: Channel) -> Cow<'_, Channel> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 323 |         channel_id: ChannelId,
[INFO] [stdout] 324 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]     |                                             ------------ the same lifetime is hidden 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] 324 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 366 |         message_id: MessageId,
[INFO] [stdout] 367 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]     |                                             ------------ the same lifetime is hidden 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] 367 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:416:16
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn message(&self, message_id: MessageId) -> Option<Cow<Message>> {
[INFO] [stdout]     |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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] 416 |     fn message(&self, message_id: MessageId) -> Option<Cow<'_, Message>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:458:22
[INFO] [stdout]     |
[INFO] [stdout] 458 |     fn store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<Message> {
[INFO] [stdout]     |                      ^^^^^^^^^ the lifetime is elided here                  ------------ the same lifetime is hidden 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] 458 |     fn store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<'_, Message> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:521:14
[INFO] [stdout]     |
[INFO] [stdout] 521 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<str>)> + '_> {
[INFO] [stdout]     |              ^^^^^ the lifetime is elided here        -------- the same lifetime is hidden 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] 521 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<'_, str>)> + '_> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:537:13
[INFO] [stdout]     |
[INFO] [stdout] 537 |     fn name(&self, id: Uuid) -> Option<Cow<str>> {
[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] 537 |     fn name(&self, id: Uuid) -> Option<Cow<'_, str>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:545:19
[INFO] [stdout]     |
[INFO] [stdout] 545 |     fn store_name(&mut self, id: Uuid, name: String) -> Cow<str> {
[INFO] [stdout]     |                   ^^^^^^^^^ the lifetime is elided here -------- the same lifetime is hidden 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] 545 |     fn store_name(&mut self, id: Uuid, name: String) -> Cow<'_, str> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:553:17
[INFO] [stdout]     |
[INFO] [stdout] 553 |     fn metadata(&self) -> Cow<Metadata> {
[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] 553 |     fn metadata(&self) -> Cow<'_, Metadata> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:569:23
[INFO] [stdout]     |
[INFO] [stdout] 569 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<Metadata> {
[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] 569 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<'_, Metadata> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/draw.rs:721:18
[INFO] [stdout]     |
[INFO] [stdout] 721 | fn bindings(app: &App) -> Vec<Line> {
[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] 721 | fn bindings(app: &App) -> Vec<Line<'_>> {
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui/name_resolver.rs:66:20
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn resolve(&self, id: Uuid) -> (Cow<str>, Color) {
[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] 66 |     pub fn resolve(&self, id: Uuid) -> (Cow<'_, str>, Color) {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/app.rs:440:25
[INFO] [stdout]     |
[INFO] [stdout] 440 |     fn selected_message(&self) -> Option<Cow<Message>> {
[INFO] [stdout]     |                         ^^^^^            ------------ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 440 |     fn selected_message(&self) -> Option<Cow<'_, Message>> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/emoji.rs:8:40
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) fn replace_shortcodes(text: &str) -> Cow<str> {
[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] 8 | pub(crate) fn replace_shortcodes(text: &str) -> Cow<'_, str> {
[INFO] [stdout]   |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<Channel>> + '_>;
[INFO] [stdout]    |                 ^^^^^ the lifetime is elided here ------------ the same lifetime is hidden 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] 31 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<'_, Channel>> + '_>;
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:33:16
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn channel(&self, channel_id: ChannelId) -> Option<Cow<Channel>>;
[INFO] [stdout]    |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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 channel(&self, channel_id: ChannelId) -> Option<Cow<'_, Channel>>;
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:35:22
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn store_channel(&mut self, channel: Channel) -> Cow<Channel>;
[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] 35 |     fn store_channel(&mut self, channel: Channel) -> Cow<'_, Channel>;
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 42 |         channel_id: ChannelId,
[INFO] [stdout] 43 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_>;
[INFO] [stdout]    |                                             ------------ the same lifetime is hidden 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] 43 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn message(&self, message_id: MessageId) -> Option<Cow<Message>>;
[INFO] [stdout]    |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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] 45 |     fn message(&self, message_id: MessageId) -> Option<Cow<'_, Message>>;
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 51 |         message_id: MessageId,
[INFO] [stdout] 52 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_>;
[INFO] [stdout]    |                                             ------------ the same lifetime is hidden 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] 52 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:58:22
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<Message>;
[INFO] [stdout]    |                      ^^^^^^^^^ the lifetime is elided here                  ------------ the same lifetime is hidden 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 store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<'_, Message>;
[INFO] [stdout]    |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/mod.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         &mut self,
[INFO] [stdout]    |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 65 |     ) -> Option<Cow<Message>> {
[INFO] [stdout]    |                 ------------ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 65 |     ) -> Option<Cow<'_, Message>> {
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/mod.rs:104:14
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<str>)> + '_>;
[INFO] [stdout]     |              ^^^^^ the lifetime is elided here        -------- the same lifetime is hidden 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 names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<'_, str>)> + '_>;
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/mod.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn name(&self, id: Uuid) -> Option<Cow<str>>;
[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] 106 |     fn name(&self, id: Uuid) -> Option<Cow<'_, str>>;
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/mod.rs:111:19
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn store_name(&mut self, id: Uuid, name: String) -> Cow<str>;
[INFO] [stdout]     |                   ^^^^^^^^^ the lifetime is elided here -------- the same lifetime is hidden 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 store_name(&mut self, id: Uuid, name: String) -> Cow<'_, str>;
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/mod.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |     fn metadata(&self) -> Cow<Metadata>;
[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] 114 |     fn metadata(&self) -> Cow<'_, Metadata>;
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/mod.rs:116:23
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<Metadata>;
[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] 116 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<'_, Metadata>;
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<Channel>> + '_> {
[INFO] [stdout]    |                 ^^^^^ the lifetime is elided here ------------ the same lifetime is hidden 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] 13 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<'_, Channel>> + '_> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn channel(&self, _channel_id: ChannelId) -> Option<Cow<Channel>> {
[INFO] [stdout]    |                ^^^^^ the lifetime is elided here        ------------ the same lifetime is hidden 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] 17 |     fn channel(&self, _channel_id: ChannelId) -> Option<Cow<'_, Channel>> {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn store_channel(&mut self, channel: Channel) -> Cow<Channel> {
[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] 21 |     fn store_channel(&mut self, channel: Channel) -> Cow<'_, Channel> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 27 |         _channel_id: ChannelId,
[INFO] [stdout] 28 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]    |                                             ------------ the same lifetime is hidden 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] 28 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 34 |         _message_id: MessageId,
[INFO] [stdout] 35 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]    |                                             ------------ the same lifetime is hidden 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] 35 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn message(&self, _message_id: MessageId) -> Option<Cow<Message>> {
[INFO] [stdout]    |                ^^^^^ the lifetime is elided here        ------------ the same lifetime is hidden 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] 39 |     fn message(&self, _message_id: MessageId) -> Option<Cow<'_, Message>> {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn store_message(&mut self, _channel_id: ChannelId, message: Message) -> Cow<Message> {
[INFO] [stdout]    |                      ^^^^^^^^^ the lifetime is elided here                   ------------ the same lifetime is hidden 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] 43 |     fn store_message(&mut self, _channel_id: ChannelId, message: Message) -> Cow<'_, Message> {
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<str>)> + '_> {
[INFO] [stdout]    |              ^^^^^ the lifetime is elided here        -------- the same lifetime is hidden 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 names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<'_, str>)> + '_> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn name(&self, _id: Uuid) -> Option<Cow<str>> {
[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] 51 |     fn name(&self, _id: Uuid) -> Option<Cow<'_, str>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn store_name(&mut self, _id: Uuid, name: String) -> Cow<str> {
[INFO] [stdout]    |                   ^^^^^^^^^ the lifetime is elided here  -------- the same lifetime is hidden 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] 55 |     fn store_name(&mut self, _id: Uuid, name: String) -> Cow<'_, str> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn metadata(&self) -> Cow<Metadata> {
[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] 59 |     fn metadata(&self) -> Cow<'_, Metadata> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/forgetful.rs:63:23
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<Metadata> {
[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] 63 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<'_, Metadata> {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<Channel>> + '_> {
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here ------------ the same lifetime is hidden 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] 154 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<'_, Channel>> + '_> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:165:16
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn channel(&self, channel_id: ChannelId) -> Option<Cow<Channel>> {
[INFO] [stdout]     |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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] 165 |     fn channel(&self, channel_id: ChannelId) -> Option<Cow<'_, Channel>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:175:22
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn store_channel(&mut self, channel: Channel) -> Cow<Channel> {
[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] 175 |     fn store_channel(&mut self, channel: Channel) -> Cow<'_, Channel> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 199 |         channel_id: ChannelId,
[INFO] [stdout] 200 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]     |                                             ------------ the same lifetime is hidden 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] 200 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 221 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 222 |         message_id: MessageId,
[INFO] [stdout] 223 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]     |                                             ------------ the same lifetime is hidden 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] 223 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:243:16
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn message(&self, message_id: MessageId) -> Option<Cow<Message>> {
[INFO] [stdout]     |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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] 243 |     fn message(&self, message_id: MessageId) -> Option<Cow<'_, Message>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:257:22
[INFO] [stdout]     |
[INFO] [stdout] 257 |     fn store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<Message> {
[INFO] [stdout]     |                      ^^^^^^^^^ the lifetime is elided here                  ------------ the same lifetime is hidden 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] 257 |     fn store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<'_, Message> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:286:14
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<str>)> + '_> {
[INFO] [stdout]     |              ^^^^^ the lifetime is elided here        -------- the same lifetime is hidden 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] 286 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<'_, str>)> + '_> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:295:13
[INFO] [stdout]     |
[INFO] [stdout] 295 |     fn name(&self, id: Uuid) -> Option<Cow<str>> {
[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] 295 |     fn name(&self, id: Uuid) -> Option<Cow<'_, str>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:303:19
[INFO] [stdout]     |
[INFO] [stdout] 303 |     fn store_name(&mut self, id: Uuid, name: String) -> Cow<str> {
[INFO] [stdout]     |                   ^^^^^^^^^ the lifetime is elided here -------- the same lifetime is hidden 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] 303 |     fn store_name(&mut self, id: Uuid, name: String) -> Cow<'_, str> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:316:17
[INFO] [stdout]     |
[INFO] [stdout] 316 |     fn metadata(&self) -> Cow<Metadata> {
[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] 316 |     fn metadata(&self) -> Cow<'_, Metadata> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/json.rs:323:23
[INFO] [stdout]     |
[INFO] [stdout] 323 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<Metadata> {
[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] 323 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<'_, Metadata> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/memcache.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<Channel>> + '_> {
[INFO] [stdout]    |                 ^^^^^ the lifetime is elided here ------------ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<'_, Channel>> + '_> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/memcache.rs:69:16
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn channel(&self, channel_id: ChannelId) -> Option<Cow<Channel>> {
[INFO] [stdout]    |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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] 69 |     fn channel(&self, channel_id: ChannelId) -> Option<Cow<'_, Channel>> {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/memcache.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn store_channel(&mut self, channel: Channel) -> Cow<Channel> {
[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] 74 |     fn store_channel(&mut self, channel: Channel) -> Cow<'_, Channel> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/memcache.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 91 |         channel_id: ChannelId,
[INFO] [stdout] 92 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]    |                                             ------------ the same lifetime is hidden 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] 92 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 102 |         message_id: MessageId,
[INFO] [stdout] 103 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]     |                                             ------------ the same lifetime is hidden 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] 103 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:107:16
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn message(&self, message_id: MessageId) -> Option<Cow<Message>> {
[INFO] [stdout]     |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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] 107 |     fn message(&self, message_id: MessageId) -> Option<Cow<'_, Message>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:121:22
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<Message> {
[INFO] [stdout]     |                      ^^^^^^^^^ the lifetime is elided here                  ------------ the same lifetime is hidden 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] 121 |     fn store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<'_, Message> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:139:14
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<str>)> + '_> {
[INFO] [stdout]     |              ^^^^^ the lifetime is elided here        -------- the same lifetime is hidden 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] 139 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<'_, str>)> + '_> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn name(&self, id: Uuid) -> Option<Cow<str>> {
[INFO] [stdout]     |             ^^^^^                      -------- the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn name(&self, id: Uuid) -> Option<Cow<'_, str>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |     fn store_name(&mut self, id: Uuid, name: String) -> Cow<str> {
[INFO] [stdout]     |                   ^^^^^^^^^ the lifetime is elided here -------- the same lifetime is hidden 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] 151 |     fn store_name(&mut self, id: Uuid, name: String) -> Cow<'_, str> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |     fn metadata(&self) -> Cow<Metadata> {
[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] 163 |     fn metadata(&self) -> Cow<'_, Metadata> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/memcache.rs:167:23
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<Metadata> {
[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] 167 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<'_, Metadata> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:241:17
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<Channel>> + '_> {
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here ------------ the same lifetime is hidden 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] 241 |     fn channels(&self) -> Box<dyn Iterator<Item = Cow<'_, Channel>> + '_> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:266:16
[INFO] [stdout]     |
[INFO] [stdout] 266 |     fn channel(&self, channel_id: ChannelId) -> Option<Cow<Channel>> {
[INFO] [stdout]     |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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] 266 |     fn channel(&self, channel_id: ChannelId) -> Option<Cow<'_, Channel>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:289:22
[INFO] [stdout]     |
[INFO] [stdout] 289 |     fn store_channel(&mut self, channel: Channel) -> Cow<Channel> {
[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] 289 |     fn store_channel(&mut self, channel: Channel) -> Cow<'_, Channel> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 323 |         channel_id: ChannelId,
[INFO] [stdout] 324 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]     |                                             ------------ the same lifetime is hidden 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] 324 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 366 |         message_id: MessageId,
[INFO] [stdout] 367 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<Message>> + '_> {
[INFO] [stdout]     |                                             ------------ the same lifetime is hidden 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] 367 |     ) -> Box<dyn DoubleEndedIterator<Item = Cow<'_, Message>> + '_> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:416:16
[INFO] [stdout]     |
[INFO] [stdout] 416 |     fn message(&self, message_id: MessageId) -> Option<Cow<Message>> {
[INFO] [stdout]     |                ^^^^^ the lifetime is elided here       ------------ the same lifetime is hidden 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] 416 |     fn message(&self, message_id: MessageId) -> Option<Cow<'_, Message>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:458:22
[INFO] [stdout]     |
[INFO] [stdout] 458 |     fn store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<Message> {
[INFO] [stdout]     |                      ^^^^^^^^^ the lifetime is elided here                  ------------ the same lifetime is hidden 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] 458 |     fn store_message(&mut self, channel_id: ChannelId, message: Message) -> Cow<'_, Message> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:521:14
[INFO] [stdout]     |
[INFO] [stdout] 521 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<str>)> + '_> {
[INFO] [stdout]     |              ^^^^^ the lifetime is elided here        -------- the same lifetime is hidden 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] 521 |     fn names(&self) -> Box<dyn Iterator<Item = (Uuid, Cow<'_, str>)> + '_> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:537:13
[INFO] [stdout]     |
[INFO] [stdout] 537 |     fn name(&self, id: Uuid) -> Option<Cow<str>> {
[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] 537 |     fn name(&self, id: Uuid) -> Option<Cow<'_, str>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:545:19
[INFO] [stdout]     |
[INFO] [stdout] 545 |     fn store_name(&mut self, id: Uuid, name: String) -> Cow<str> {
[INFO] [stdout]     |                   ^^^^^^^^^ the lifetime is elided here -------- the same lifetime is hidden 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] 545 |     fn store_name(&mut self, id: Uuid, name: String) -> Cow<'_, str> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:553:17
[INFO] [stdout]     |
[INFO] [stdout] 553 |     fn metadata(&self) -> Cow<Metadata> {
[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] 553 |     fn metadata(&self) -> Cow<'_, Metadata> {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/sql/storage.rs:569:23
[INFO] [stdout]     |
[INFO] [stdout] 569 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<Metadata> {
[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] 569 |     fn store_metadata(&mut self, metadata: Metadata) -> Cow<'_, Metadata> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/draw.rs:721:18
[INFO] [stdout]     |
[INFO] [stdout] 721 | fn bindings(app: &App) -> Vec<Line> {
[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] 721 | fn bindings(app: &App) -> Vec<Line<'_>> {
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui/name_resolver.rs:66:20
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn resolve(&self, id: Uuid) -> (Cow<str>, Color) {
[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] 66 |     pub fn resolve(&self, id: Uuid) -> (Cow<'_, str>, Color) {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 12s
[INFO] running `Command { std: "docker" "inspect" "95fb61a77ed92aa46171cfed5ebd8d1c8a1a71cdc71bfd25538d7d07a3cfb782", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95fb61a77ed92aa46171cfed5ebd8d1c8a1a71cdc71bfd25538d7d07a3cfb782", kill_on_drop: false }`
[INFO] [stdout] 95fb61a77ed92aa46171cfed5ebd8d1c8a1a71cdc71bfd25538d7d07a3cfb782
