[INFO] cloning repository https://github.com/stencillogic/db-core
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/stencillogic/db-core" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstencillogic%2Fdb-core", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstencillogic%2Fdb-core'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 98818e972d62db49ce0b5d8f53b3d933915bae71
[INFO] testing stencillogic/db-core against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstencillogic%2Fdb-core" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/stencillogic/db-core
[INFO] finished tweaking git repo https://github.com/stencillogic/db-core
[INFO] tweaked toml for git repo https://github.com/stencillogic/db-core written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/stencillogic/db-core on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/stencillogic/db-core 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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fd5415adb95a224958f42363c7f9c8ca380abcf7c93fa4cafde41d073d130663
[INFO] running `Command { std: "docker" "start" "-a" "fd5415adb95a224958f42363c7f9c8ca380abcf7c93fa4cafde41d073d130663", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fd5415adb95a224958f42363c7f9c8ca380abcf7c93fa4cafde41d073d130663", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd5415adb95a224958f42363c7f9c8ca380abcf7c93fa4cafde41d073d130663", kill_on_drop: false }`
[INFO] [stdout] fd5415adb95a224958f42363c7f9c8ca380abcf7c93fa4cafde41d073d130663
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ef9e521c736fdfecf822efc5c850d2ac7f9d376cf1bde27dc72588d62f2bedb2
[INFO] running `Command { std: "docker" "start" "-a" "ef9e521c736fdfecf822efc5c850d2ac7f9d376cf1bde27dc72588d62f2bedb2", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling db-core v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/common/intercom.rs:31:45
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<T>
[INFO] [stdout]    |                                             ^                     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 31 -     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<T>
[INFO] [stdout] 31 +     pub fn wait_for(&self, check_cond: &mut dyn FnMut(&T) -> bool) -> MutexGuard<T>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/common/intercom.rs:59:52
[INFO] [stdout]    |
[INFO] [stdout] 59 | ...                   check_cond: &mut (dyn FnMut(&T) -> bool), 
[INFO] [stdout]    |                                        ^                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -                                   check_cond: &mut (dyn FnMut(&T) -> bool), 
[INFO] [stdout] 59 +                                   check_cond: &mut dyn FnMut(&T) -> bool, 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/common/intercom.rs:60:56
[INFO] [stdout]    |
[INFO] [stdout] 60 | ...                   interrupt_cond: &mut (dyn FnMut() -> bool), 
[INFO] [stdout]    |                                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 60 -                                   interrupt_cond: &mut (dyn FnMut() -> bool), 
[INFO] [stdout] 60 +                                   interrupt_cond: &mut dyn FnMut() -> bool, 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::log_mgr::io::LogRecordHeader`
[INFO] [stdout]   --> src/log_mgr/log_mgr.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use crate::log_mgr::io::LogRecordHeader;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]   --> src/log_mgr/buf.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg(feature = "metrics")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:248:7
[INFO] [stdout]     |
[INFO] [stdout] 248 | #[cfg(feature = "metrics")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:259:11
[INFO] [stdout]     |
[INFO] [stdout] 259 |     #[cfg(feature = "metrics")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:417:11
[INFO] [stdout]     |
[INFO] [stdout] 417 |     #[cfg(feature = "metrics")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:425:11
[INFO] [stdout]     |
[INFO] [stdout] 425 |     #[cfg(feature = "metrics")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:276:15
[INFO] [stdout]     |
[INFO] [stdout] 276 |         #[cfg(feature = "metrics")]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:284:19
[INFO] [stdout]     |
[INFO] [stdout] 284 |             #[cfg(feature = "metrics")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:346:27
[INFO] [stdout]     |
[INFO] [stdout] 346 |                     #[cfg(feature = "metrics")] 
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:356:27
[INFO] [stdout]     |
[INFO] [stdout] 356 |                     #[cfg(feature = "metrics")] 
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:404:19
[INFO] [stdout]     |
[INFO] [stdout] 404 |             #[cfg(feature = "metrics")] {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:410:23
[INFO] [stdout]     |
[INFO] [stdout] 410 |             #[cfg(not(feature = "metrics"))] {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:579:19
[INFO] [stdout]     |
[INFO] [stdout] 579 |             #[cfg(feature = "metrics")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::alloc::LayoutErr`: Name does not follow std convention, use LayoutError
[INFO] [stdout]    --> src/common/errors.rs:219:17
[INFO] [stdout]     |
[INFO] [stdout] 219 |     std::alloc::LayoutErr, IncorrectLayout, layout_err,
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::alloc::LayoutErr`: Name does not follow std convention, use LayoutError
[INFO] [stdout]    --> src/common/errors.rs:209:79
[INFO] [stdout]     |
[INFO] [stdout] 209 |     IncorrectLayout             , incorrect_layout              , std::alloc::LayoutErr,
[INFO] [stdout]     |                                                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::sync::atomic::spin_loop_hint`: use hint::spin_loop instead
[INFO] [stdout]    --> src/common/intercom.rs:202:33
[INFO] [stdout]     |
[INFO] [stdout] 202 |             core::sync::atomic::spin_loop_hint();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]    --> src/block_mgr/block.rs:344:35
[INFO] [stdout]     |
[INFO] [stdout] 344 |         unsafe { std::intrinsics::copy(src, dst, region_end - region_start) };
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/log_mgr/buf.rs:112:52
[INFO] [stdout]     |
[INFO] [stdout] 112 |             let cur_acq_size = self.acquire_size.0.compare_and_swap(
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/log_mgr/buf.rs:182:52
[INFO] [stdout]     |
[INFO] [stdout] 182 |             let cur_acq_size = self.acquire_size.0.compare_and_swap(
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/storage/datastore.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn add_fi_blocks(&self, mut block_id: &mut BlockId, fi_block_num: usize, stub_pin: &AtomicU64, f: &std::fs::File) -> Result<(), Error> {
[INFO] [stdout]     |                             ----^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/storage/datastore.rs:863:13
[INFO] [stdout]     |
[INFO] [stdout] 863 |         let mut desc = xlock.get_mut(&file_id).unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/storage/datastore.rs:869:13
[INFO] [stdout]     |
[INFO] [stdout] 869 |         let mut desc = xlock.get_mut(&file_id).unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/storage/block_driver.rs:731:26
[INFO] [stdout]     |
[INFO] [stdout] 731 |     pub fn replay(&self, mut rs: &mut ReplayState, data: &[u8]) -> Result<(), Error> {
[INFO] [stdout]     |                          ----^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `write_ready` is never read
[INFO] [stdout]   --> src/buf_mgr/buf_writer.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct BufWriter {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     write_ready:        SyncNotification<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BufWriter` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metrics` is never constructed
[INFO] [stdout]    --> src/log_mgr/buf.rs:243:12
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub struct Metrics {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_extent_bit` is never used
[INFO] [stdout]    --> src/block_mgr/free_info.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl FreeInfo {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn set_extent_bit(&self, file_id: u16, extent_id: u16, set: bool) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `used_iter` is never used
[INFO] [stdout]    --> src/block_mgr/free_info.rs:321:12
[INFO] [stdout]     |
[INFO] [stdout] 305 | impl FiData {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn used_iter(&self) -> FiDataIter {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/block_mgr/block.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Read(RwLockReadGuard<'a, ()>),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 25 -     Read(RwLockReadGuard<'a, ()>),
[INFO] [stdout] 25 +     Read(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/block_mgr/block.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Write(RwLockWriteGuard<'a, ()>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 26 -     Write(RwLockWriteGuard<'a, ()>),
[INFO] [stdout] 26 +     Write(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_crc` is never used
[INFO] [stdout]   --> src/block_mgr/block.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub trait BasicBlock {
[INFO] [stdout]    |           ---------- method in this trait
[INFO] [stdout] 87 |
[INFO] [stdout] 88 |     fn get_crc(&self) -> u32;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete_entry` is never used
[INFO] [stdout]    --> src/block_mgr/block.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl<'a> DataBlock<'a> {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn delete_entry(&mut self, entry_id: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mark_extent_full` and `set_free_info_free` are never used
[INFO] [stdout]    --> src/block_mgr/allocator.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout] 37  | impl BlockAllocator {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93  |     pub fn mark_extent_full(&self, file_id: u16, extent_id: u16) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn set_free_info_free(&self, block_id: &BlockId) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:182:25
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_block<Q>(&self, block_id: &BlockId) -> Option<(Pinned<BlockArea>, usize)>
[INFO] [stdout]     |                         ^^^^^                                 ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_block<Q>(&self, block_id: &BlockId) -> Option<(Pinned<'_, BlockArea>, usize)>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:208:33
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn allocate_on_cache<Q>(&self, block_id: &BlockId, block_type: BlockType) -> Option<(Pinned<BlockArea>, usize)>
[INFO] [stdout]     |                                 ^^^^^ this lifetime flows to the output                      ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn allocate_on_cache<Q>(&self, block_id: &BlockId, block_type: BlockType) -> Option<(Pinned<'_, BlockArea>, usize)>
[INFO] [stdout]     |                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:231:29
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn get_block_by_idx(&self, idx: usize) -> Option<Pinned<BlockArea>> {
[INFO] [stdout]     |                             ^^^^^                        ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn get_block_by_idx(&self, idx: usize) -> Option<Pinned<'_, BlockArea>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:303:22
[INFO] [stdout]     |
[INFO] [stdout] 303 | ...n_map<Q>(&self, mut block_map: RwLockWriteGuard<HashMap<BlockId, I>>, val: I, block_type: BlockType) -> (Pinned<BlockArea>, usize)
[INFO] [stdout]     |             ^^^^^ this lifetime flows to the output                                                         ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 303 |     fn put_on_map<Q>(&self, mut block_map: RwLockWriteGuard<HashMap<BlockId, I>>, val: I, block_type: BlockType) -> (Pinned<'_, BlockArea>, usize)
[INFO] [stdout]     |                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:365:16
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn try_pin(&self, buf_idx: usize) -> Option<Pinned<BlockArea>> {
[INFO] [stdout]     |                ^^^^^                            ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                |
[INFO] [stdout]     |                this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn try_pin(&self, buf_idx: usize) -> Option<Pinned<'_, BlockArea>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/common/intercom.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<T>
[INFO] [stdout]    |                     ^^^^^ this lifetime flows to the output             ------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<'_, T>
[INFO] [stdout]    |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/common/intercom.rs:58:35
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn wait_for_interruptable(&self, 
[INFO] [stdout]    |                                   ^^^^^ this lifetime flows to the output
[INFO] [stdout] ...
[INFO] [stdout] 62 |                                   ) -> Option<MutexGuard<T>> where T: PartialEq 
[INFO] [stdout]    |                                               ------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |                                   ) -> Option<MutexGuard<'_, T>> where T: PartialEq 
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/common/intercom.rs:181:22
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn read_lock(&self) -> ReadLockLwGuard<T> {
[INFO] [stdout]     |                      ^^^^^     ------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn read_lock(&self) -> ReadLockLwGuard<'_, T> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/common/intercom.rs:196:23
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn write_lock(&self) -> WriteLockLwGuard<T> {
[INFO] [stdout]     |                       ^^^^^     ------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn write_lock(&self) -> WriteLockLwGuard<'_, T> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/log_mgr/buf.rs:298:20
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn try_reserve(&self, buf_id: usize, reserve_size: usize, relaxed: bool) -> Option<Slice<T>> {
[INFO] [stdout]     |                    ^^^^^ this lifetime flows to the output                             -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn try_reserve(&self, buf_id: usize, reserve_size: usize, relaxed: bool) -> Option<Slice<'_, T>> {
[INFO] [stdout]     |                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/log_mgr/buf.rs:322:26
[INFO] [stdout]     |
[INFO] [stdout] 322 |     pub fn reserve_slice(&self, reserve_size: usize, relaxed: bool) -> Result<Slice<T>, ()> {
[INFO] [stdout]     |                          ^^^^^ this lifetime flows to the output              -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 322 |     pub fn reserve_slice(&self, reserve_size: usize, relaxed: bool) -> Result<Slice<'_, T>, ()> {
[INFO] [stdout]     |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/log_mgr/fs.rs:189:26
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub fn get_for_write(&self, reserve_size: usize) -> Result<Slice<u8>, ()> {
[INFO] [stdout]     |                          ^^^^^                                 --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub fn get_for_write(&self, reserve_size: usize) -> Result<Slice<'_, u8>, ()> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/datastore.rs:181:23
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn load_block(&self, block_id: &BlockId, file_state: FileState) -> Result<Ref<BlockArea>, Error> {
[INFO] [stdout]     |                       ^^^^^ this lifetime flows to the output                     -------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn load_block(&self, block_id: &BlockId, file_state: FileState) -> Result<Ref<'_, BlockArea>, Error> {
[INFO] [stdout]     |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/storage/datastore.rs:764:9
[INFO] [stdout]     |
[INFO] [stdout] 764 |         drop(v);
[INFO] [stdout]     |         ^^^^^-^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 764 -         drop(v);
[INFO] [stdout] 764 +         let _ = v;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/datastore.rs:875:18
[INFO] [stdout]     |
[INFO] [stdout] 875 |     fn lock_file(&self, file_id: u16) -> Option<RwLockReadGuard<HashMap<u16, Mutex<()>>>> {
[INFO] [stdout]     |                  ^^^^^                          ---------------------------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 875 |     fn lock_file(&self, file_id: u16) -> Option<RwLockReadGuard<'_, HashMap<u16, Mutex<()>>>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/block_driver.rs:461:27
[INFO] [stdout]     |
[INFO] [stdout] 461 |     fn find_entry_version(&self, c: &Cursor) -> Result<(BlockLocked<DataBlock>, u16, bool), Error> {
[INFO] [stdout]     |                           ^^^^^                         ----------------------
[INFO] [stdout]     |                           |                             |           |
[INFO] [stdout]     |                           |                             |           the lifetimes get resolved as `'_`
[INFO] [stdout]     |                           |                             the lifetimes get resolved as `'_`
[INFO] [stdout]     |                           this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 461 |     fn find_entry_version(&self, c: &Cursor) -> Result<(BlockLocked<'_, DataBlock<'_>>, u16, bool), Error> {
[INFO] [stdout]     |                                                                     +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/block_driver.rs:625:22
[INFO] [stdout]     |
[INFO] [stdout] 625 |     fn get_block_mut(&self, block_id: &BlockId) -> Result<(BlockLockedMut<DataBlock>, u64), Error> {
[INFO] [stdout]     |                      ^^^^^                                 -------------------------
[INFO] [stdout]     |                      |                                     |              |
[INFO] [stdout]     |                      |                                     |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                      |                                     the lifetimes get resolved as `'_`
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 625 |     fn get_block_mut(&self, block_id: &BlockId) -> Result<(BlockLockedMut<'_, DataBlock<'_>>, u64), Error> {
[INFO] [stdout]     |                                                                           +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/block_driver.rs:643:21
[INFO] [stdout]     |
[INFO] [stdout] 643 |     fn get_free_mut(&self, file_id: u16, requested_size: usize) -> Result<(BlockLockedMut<DataBlock>, u64), Error> {
[INFO] [stdout]     |                     ^^^^^                                                  -------------------------
[INFO] [stdout]     |                     |                                                      |              |
[INFO] [stdout]     |                     |                                                      |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                     this lifetime flows to the output                      the lifetimes get resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 643 |     fn get_free_mut(&self, file_id: u16, requested_size: usize) -> Result<(BlockLockedMut<'_, DataBlock<'_>>, u64), Error> {
[INFO] [stdout]     |                                                                                           +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/storage/checkpoint_store.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_iter(&self, checkpoint_csn: u64) -> Result<Iterator, Error> {
[INFO] [stdout]    |                     ^^^^^                                 -------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_iter(&self, checkpoint_csn: u64) -> Result<Iterator<'_>, Error> {
[INFO] [stdout]    |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/storage/checkpoint_store.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_next(&mut self) -> Result<Option<(BlockId, DataBlock)>, Error> {
[INFO] [stdout]    |                     ^^^^^^^^^                             --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_next(&mut self) -> Result<Option<(BlockId, DataBlock<'_>)>, Error> {
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/version_store.rs:122:30
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn get_iter_for_tran(&self, tsn: u64) -> Result<Iterator, Error> {
[INFO] [stdout]     |                              ^^^^^                      -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn get_iter_for_tran(&self, tsn: u64) -> Result<Iterator<'_>, Error> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/version_store.rs:252:33
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn get_next_entry_block(&mut self, entry_size: usize, trn_repo: &TrnRepo) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]     |                                 ^^^^^^^^^                                                   -------------------------
[INFO] [stdout]     |                                 |                                                           |              |
[INFO] [stdout]     |                                 |                                                           |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                 this lifetime flows to the output                           the lifetimes get resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn get_next_entry_block(&mut self, entry_size: usize, trn_repo: &TrnRepo) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                                            +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/system/instance.rs:88:30
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn begin_transaction(&self) -> Result<Transaction, Error> {
[INFO] [stdout]    |                              ^^^^^            ----------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn begin_transaction(&self) -> Result<Transaction<'_>, Error> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/system/instance.rs:126:22
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn open_read(&self, obj_id: &ObjectId, t: &Transaction) -> Result<Object, Error> {
[INFO] [stdout]     |                      ^^^^^ this lifetime flows to the output              ------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn open_read(&self, obj_id: &ObjectId, t: &Transaction) -> Result<Object<'_>, Error> {
[INFO] [stdout]     |                                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/system/instance.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn open_write<'a>(&'a self, obj_id: &ObjectId, t: &'a mut Transaction, timeout: i64) -> Result<ObjectWrite, Error> {
[INFO] [stdout]     |                            ^^                              ^^ these lifetimes flow to the output       ----------- the lifetime gets resolved as `'a`
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            these lifetimes flow to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn open_write<'a>(&'a self, obj_id: &ObjectId, t: &'a mut Transaction, timeout: i64) -> Result<ObjectWrite<'a>, Error> {
[INFO] [stdout]     |                                                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/system/instance.rs:173:29
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn open_create<'a>(&'a self, file_id: u16, t: &'a mut Transaction, initial_size: usize) -> Result<ObjectWrite, Error> {
[INFO] [stdout]     |                             ^^                         ^^ these lifetimes flow to the output              ----------- the lifetime gets resolved as `'a`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             these lifetimes flow to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn open_create<'a>(&'a self, file_id: u16, t: &'a mut Transaction, initial_size: usize) -> Result<ObjectWrite<'a>, Error> {
[INFO] [stdout]     |                                                                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/system/config.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn get_conf(&self) -> MutexGuard<Config> {
[INFO] [stdout]    |                     ^^^^^     ------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn get_conf(&self) -> MutexGuard<'_, Config> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:70:22
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_block(&self, block_id: &BlockId) -> Result<BlockLocked<DataBlock>, Error> {
[INFO] [stdout]    |                      ^^^^^                                ----------------------
[INFO] [stdout]    |                      |                                    |           |
[INFO] [stdout]    |                      |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                      |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                      this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                       +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:75:33
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn get_versioning_block(&self, block_id: &BlockId) -> Result<BlockLocked<DataBlock>, Error> {
[INFO] [stdout]    |                                 ^^^^^                                ----------------------
[INFO] [stdout]    |                                 |                                    |           |
[INFO] [stdout]    |                                 |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                 |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                 this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn get_versioning_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                                  +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:80:34
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn get_file_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<FileHeaderBlock>, Error> {
[INFO] [stdout]    |                                  ^^^^^                                ----------------------------
[INFO] [stdout]    |                                  |                                    |           |
[INFO] [stdout]    |                                  |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                  |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                  this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn get_file_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, FileHeaderBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                                   +++                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:85:36
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn get_extent_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<ExtentHeaderBlock>, Error> {
[INFO] [stdout]    |                                    ^^^^^                                ------------------------------
[INFO] [stdout]    |                                    |                                    |           |
[INFO] [stdout]    |                                    |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                    |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                    this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn get_extent_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, ExtentHeaderBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                                     +++                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:91:32
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_free_info_block(&self, block_id: &BlockId) -> Result<BlockLocked<FreeInfoBlock>, Error> {
[INFO] [stdout]    |                                ^^^^^                                --------------------------
[INFO] [stdout]    |                                |                                    |           |
[INFO] [stdout]    |                                |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_free_info_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, FreeInfoBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                                 +++              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:97:26
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn get_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]    |                          ^^^^^                                -------------------------
[INFO] [stdout]    |                          |                                    |              |
[INFO] [stdout]    |                          |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                          |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                          this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn get_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                              +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:102:37
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn get_versioning_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]     |                                     ^^^^^                                -------------------------
[INFO] [stdout]     |                                     |                                    |              |
[INFO] [stdout]     |                                     |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                     |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                     this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn get_versioning_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                         +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:107:38
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn get_file_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<FileHeaderBlock>, Error> {
[INFO] [stdout]     |                                      ^^^^^                                -------------------------------
[INFO] [stdout]     |                                      |                                    |              |
[INFO] [stdout]     |                                      |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                      |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn get_file_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, FileHeaderBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                          +++                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:112:40
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn get_extent_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<ExtentHeaderBlock>, Error> {
[INFO] [stdout]     |                                        ^^^^^                                ---------------------------------
[INFO] [stdout]     |                                        |                                    |              |
[INFO] [stdout]     |                                        |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                        |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                        this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn get_extent_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, ExtentHeaderBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                            +++                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:118:36
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn get_free_info_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<FreeInfoBlock>, Error> {
[INFO] [stdout]     |                                    ^^^^^                                -----------------------------
[INFO] [stdout]     |                                    |                                    |              |
[INFO] [stdout]     |                                    |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                    |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                    this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn get_free_info_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, FreeInfoBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                        +++              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:124:34
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_block_mut_no_lock(&self, block_id: &BlockId) -> Result<DataBlock, Error> {
[INFO] [stdout]     |                                  ^^^^^                                --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_block_mut_no_lock(&self, block_id: &BlockId) -> Result<DataBlock<'_>, Error> {
[INFO] [stdout]     |                                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:129:48
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn get_extent_header_block_mut_no_lock(&self, block_id: &BlockId) -> Result<ExtentHeaderBlock, Error> {
[INFO] [stdout]     |                                                ^^^^^                                ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn get_extent_header_block_mut_no_lock(&self, block_id: &BlockId) -> Result<ExtentHeaderBlock<'_>, Error> {
[INFO] [stdout]     |                                                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:135:35
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, lock_type: usize) -> Result<BlockLocked<T>, E...
[INFO] [stdout]     |       ^^ these lifetimes flow to the output                            ^^ these lifetimes flow to the output             -------------- the lifetime gets resolved as `'b`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'b`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn get_block_for_read<'b, T>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, lock_type: usize) -> Result<BlockLocked<'b, T>, Error> 
[INFO] [stdout]     |                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:161:40
[INFO] [stdout]     |
[INFO] [stdout] 161 | ...>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, try_lock: bool, lock_type: usize) -> Result<BlockLockedMut<T>, E...
[INFO] [stdout]     |       ^^ these lifetimes flow to the output                            ^^ these lifetimes flow to the output                             ----------------- the lifetime gets resolved as `'b`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'b`
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn get_block_for_write<'b, T>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, try_lock: bool, lock_type: usize) -> Result<BlockLockedMut<'b, T>, Error>
[INFO] [stdout]     |                                                                                                                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:215:21
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn get_iter(&self) -> BlockIterator {
[INFO] [stdout]     |                     ^^^^^     ------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn get_iter(&self) -> BlockIterator<'_> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:220:29
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn get_block_by_idx(&self, id: usize, block_id: BlockId, block_type: BlockType) -> Option<BlockLockedMut<DataBlock>> {
[INFO] [stdout]     |                             ^^^^^                                                                 -------------------------
[INFO] [stdout]     |                             |                                                                     |              |
[INFO] [stdout]     |                             |                                                                     |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                             this lifetime flows to the output                                     the lifetimes get resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn get_block_by_idx(&self, id: usize, block_id: BlockId, block_type: BlockType) -> Option<BlockLockedMut<'_, DataBlock<'_>>> {
[INFO] [stdout]     |                                                                                                                  +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:238:26
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn allocate_on_cache(&self, block_id: BlockId, block_type: BlockType) -> (Pinned<BlockArea>, usize) {
[INFO] [stdout]     |                          ^^^^^ this lifetime flows to the output              ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn allocate_on_cache(&self, block_id: BlockId, block_type: BlockType) -> (Pinned<'_, BlockArea>, usize) {
[INFO] [stdout]     |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:251:42
[INFO] [stdout]     |
[INFO] [stdout] 251 |     pub fn allocate_on_cache_mut_no_lock(&self, block_id: BlockId, block_type: BlockType) -> Result<DataBlock, Error> {
[INFO] [stdout]     |                                          ^^^^^ this lifetime flows to the output                    --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 251 |     pub fn allocate_on_cache_mut_no_lock(&self, block_id: BlockId, block_type: BlockType) -> Result<DataBlock<'_>, Error> {
[INFO] [stdout]     |                                                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/free_info.rs:321:22
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn used_iter(&self) -> FiDataIter {
[INFO] [stdout]     |                      ^^^^^     ---------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn used_iter(&self) -> FiDataIter<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/free_info.rs:329:22
[INFO] [stdout]     |
[INFO] [stdout] 329 |     pub fn free_iter(&self) -> FiDataIter {
[INFO] [stdout]     |                      ^^^^^     ---------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 329 |     pub fn free_iter(&self) -> FiDataIter<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn immut(&'a self) -> &BlockLocked<'a, T> {
[INFO] [stdout]    |                   ^^          -------------------
[INFO] [stdout]    |                   |           |            |
[INFO] [stdout]    |                   |           |            the lifetimes get resolved as `'a`
[INFO] [stdout]    |                   |           the lifetimes get resolved as `'a`
[INFO] [stdout]    |                   this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn immut(&'a self) -> &'a BlockLocked<'a, T> {
[INFO] [stdout]    |                                ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:143:22
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn get_entry(&self, entry_id: u16) -> Result<DataBlockEntry, Error> {
[INFO] [stdout]     |                      ^^^^^                           -------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn get_entry(&self, entry_id: u16) -> Result<DataBlockEntry<'_>, Error> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:159:26
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn get_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryMut, Error> {
[INFO] [stdout]     |                          ^^^^^^^^^                           ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn get_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryMut<'_>, Error> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:185:22
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn add_entry(&mut self, size: usize) -> DataBlockEntryMut {
[INFO] [stdout]     |                      ^^^^^^^^^                  ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn add_entry(&mut self, size: usize) -> DataBlockEntryMut<'_> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:194:30
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn add_version_entry(&mut self, size: usize) -> DataBlockEntryVerMut {
[INFO] [stdout]     |                              ^^^^^^^^^                  -------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn add_version_entry(&mut self, size: usize) -> DataBlockEntryVerMut<'_> {
[INFO] [stdout]     |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn extend_entry(&mut self, entry_id: u16, extend_size: usize) -> Result<DataBlockEntryMut, Error> {
[INFO] [stdout]     |                         ^^^^^^^^^ this lifetime flows to the output             ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn extend_entry(&mut self, entry_id: u16, extend_size: usize) -> Result<DataBlockEntryMut<'_>, Error> {
[INFO] [stdout]     |                                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn get_version_entry(&self, entry_id: u16) -> Result<DataBlockEntryVer, Error> {
[INFO] [stdout]     |                              ^^^^^                           ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn get_version_entry(&self, entry_id: u16) -> Result<DataBlockEntryVer<'_>, Error> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:239:34
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn get_version_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryVerMut, Error> {
[INFO] [stdout]     |                                  ^^^^^^^^^                           -------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn get_version_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryVerMut<'_>, Error> {
[INFO] [stdout]     |                                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:573:18
[INFO] [stdout]     |
[INFO] [stdout] 573 |     pub fn immut(&self) -> DataBlockEntry {
[INFO] [stdout]     |                  ^^^^^     -------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 573 |     pub fn immut(&self) -> DataBlockEntry<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/allocator.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn get_free(&self, file_id: u16) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]    |                     ^^^^^                          -------------------------
[INFO] [stdout]    |                     |                              |              |
[INFO] [stdout]    |                     |                              |              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                     |                              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                     this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn get_free(&self, file_id: u16) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                   +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/allocator.rs:98:27
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn allocate_block(&self, file_id: u16) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]    |                           ^^^^^                          -------------------------
[INFO] [stdout]    |                           |                              |              |
[INFO] [stdout]    |                           |                              |              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                           |                              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                           this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn allocate_block(&self, file_id: u16) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                         +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/allocator.rs:136:38
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn get_free_checkpoint_block(&self, checkpoint_csn: u64) -> Result<DataBlock, Error> {
[INFO] [stdout]     |                                      ^^^^^                                 --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn get_free_checkpoint_block(&self, checkpoint_csn: u64) -> Result<DataBlock<'_>, Error> {
[INFO] [stdout]     |                                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/allocator.rs:198:24
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn find_free_block(&self, file_id: u16) -> Result<Option<BlockLockedMut<DataBlock>>, Error> {
[INFO] [stdout]     |                        ^^^^^                                 -------------------------
[INFO] [stdout]     |                        |                                     |              |
[INFO] [stdout]     |                        |                                     |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                        |                                     the lifetimes get resolved as `'_`
[INFO] [stdout]     |                        this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn find_free_block(&self, file_id: u16) -> Result<Option<BlockLockedMut<'_, DataBlock<'_>>>, Error> {
[INFO] [stdout]     |                                                                             +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/allocator.rs:213:34
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn find_free_block_in_extent(&self, file_id: u16, extent_id: u16) -> Result<Option<BlockLockedMut<DataBlock>>, Error> {
[INFO] [stdout]     |                                  ^^^^^                                                 -------------------------
[INFO] [stdout]     |                                  |                                                     |              |
[INFO] [stdout]     |                                  |                                                     |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                  this lifetime flows to the output                     the lifetimes get resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn find_free_block_in_extent(&self, file_id: u16, extent_id: u16) -> Result<Option<BlockLockedMut<'_, DataBlock<'_>>>, Error> {
[INFO] [stdout]     |                                                                                                       +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.80s
[INFO] running `Command { std: "docker" "inspect" "ef9e521c736fdfecf822efc5c850d2ac7f9d376cf1bde27dc72588d62f2bedb2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ef9e521c736fdfecf822efc5c850d2ac7f9d376cf1bde27dc72588d62f2bedb2", kill_on_drop: false }`
[INFO] [stdout] ef9e521c736fdfecf822efc5c850d2ac7f9d376cf1bde27dc72588d62f2bedb2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ff4f26d4acf719ac0d1fb3f468d5b7e618f56ed4cdedb1423512e487ffbe75ea
[INFO] running `Command { std: "docker" "start" "-a" "ff4f26d4acf719ac0d1fb3f468d5b7e618f56ed4cdedb1423512e487ffbe75ea", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/common/intercom.rs:31:45
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<T>
[INFO] [stdout]    |                                             ^                     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 31 -     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<T>
[INFO] [stdout] 31 +     pub fn wait_for(&self, check_cond: &mut dyn FnMut(&T) -> bool) -> MutexGuard<T>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/common/intercom.rs:59:52
[INFO] [stdout]    |
[INFO] [stdout] 59 | ...                   check_cond: &mut (dyn FnMut(&T) -> bool), 
[INFO] [stdout]    |                                        ^                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -                                   check_cond: &mut (dyn FnMut(&T) -> bool), 
[INFO] [stdout] 59 +                                   check_cond: &mut dyn FnMut(&T) -> bool, 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/common/intercom.rs:60:56
[INFO] [stdout]    |
[INFO] [stdout] 60 | ...                   interrupt_cond: &mut (dyn FnMut() -> bool), 
[INFO] [stdout]    |                                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 60 -                                   interrupt_cond: &mut (dyn FnMut() -> bool), 
[INFO] [stdout] 60 +                                   interrupt_cond: &mut dyn FnMut() -> bool, 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::log_mgr::io::LogRecordHeader`
[INFO] [stdout]   --> src/log_mgr/log_mgr.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use crate::log_mgr::io::LogRecordHeader;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]   --> src/log_mgr/buf.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg(feature = "metrics")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:248:7
[INFO] [stdout]     |
[INFO] [stdout] 248 | #[cfg(feature = "metrics")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:259:11
[INFO] [stdout]     |
[INFO] [stdout] 259 |     #[cfg(feature = "metrics")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:417:11
[INFO] [stdout]     |
[INFO] [stdout] 417 |     #[cfg(feature = "metrics")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:425:11
[INFO] [stdout]     |
[INFO] [stdout] 425 |     #[cfg(feature = "metrics")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:276:15
[INFO] [stdout]     |
[INFO] [stdout] 276 |         #[cfg(feature = "metrics")]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:284:19
[INFO] [stdout]     |
[INFO] [stdout] 284 |             #[cfg(feature = "metrics")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:346:27
[INFO] [stdout]     |
[INFO] [stdout] 346 |                     #[cfg(feature = "metrics")] 
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:356:27
[INFO] [stdout]     |
[INFO] [stdout] 356 |                     #[cfg(feature = "metrics")] 
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:404:19
[INFO] [stdout]     |
[INFO] [stdout] 404 |             #[cfg(feature = "metrics")] {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:410:23
[INFO] [stdout]     |
[INFO] [stdout] 410 |             #[cfg(not(feature = "metrics"))] {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:579:19
[INFO] [stdout]     |
[INFO] [stdout] 579 |             #[cfg(feature = "metrics")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::alloc::LayoutErr`: Name does not follow std convention, use LayoutError
[INFO] [stdout]    --> src/common/errors.rs:219:17
[INFO] [stdout]     |
[INFO] [stdout] 219 |     std::alloc::LayoutErr, IncorrectLayout, layout_err,
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::alloc::LayoutErr`: Name does not follow std convention, use LayoutError
[INFO] [stdout]    --> src/common/errors.rs:209:79
[INFO] [stdout]     |
[INFO] [stdout] 209 |     IncorrectLayout             , incorrect_layout              , std::alloc::LayoutErr,
[INFO] [stdout]     |                                                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::sync::atomic::spin_loop_hint`: use hint::spin_loop instead
[INFO] [stdout]    --> src/common/intercom.rs:202:33
[INFO] [stdout]     |
[INFO] [stdout] 202 |             core::sync::atomic::spin_loop_hint();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]    --> src/block_mgr/block.rs:344:35
[INFO] [stdout]     |
[INFO] [stdout] 344 |         unsafe { std::intrinsics::copy(src, dst, region_end - region_start) };
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/log_mgr/buf.rs:112:52
[INFO] [stdout]     |
[INFO] [stdout] 112 |             let cur_acq_size = self.acquire_size.0.compare_and_swap(
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/log_mgr/buf.rs:182:52
[INFO] [stdout]     |
[INFO] [stdout] 182 |             let cur_acq_size = self.acquire_size.0.compare_and_swap(
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/storage/datastore.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn add_fi_blocks(&self, mut block_id: &mut BlockId, fi_block_num: usize, stub_pin: &AtomicU64, f: &std::fs::File) -> Result<(), Error> {
[INFO] [stdout]     |                             ----^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/storage/datastore.rs:863:13
[INFO] [stdout]     |
[INFO] [stdout] 863 |         let mut desc = xlock.get_mut(&file_id).unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/storage/datastore.rs:869:13
[INFO] [stdout]     |
[INFO] [stdout] 869 |         let mut desc = xlock.get_mut(&file_id).unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/storage/block_driver.rs:731:26
[INFO] [stdout]     |
[INFO] [stdout] 731 |     pub fn replay(&self, mut rs: &mut ReplayState, data: &[u8]) -> Result<(), Error> {
[INFO] [stdout]     |                          ----^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `write_ready` is never read
[INFO] [stdout]   --> src/buf_mgr/buf_writer.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct BufWriter {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     write_ready:        SyncNotification<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BufWriter` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metrics` is never constructed
[INFO] [stdout]    --> src/log_mgr/buf.rs:243:12
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub struct Metrics {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_extent_bit` is never used
[INFO] [stdout]    --> src/block_mgr/free_info.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl FreeInfo {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn set_extent_bit(&self, file_id: u16, extent_id: u16, set: bool) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `used_iter` is never used
[INFO] [stdout]    --> src/block_mgr/free_info.rs:321:12
[INFO] [stdout]     |
[INFO] [stdout] 305 | impl FiData {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn used_iter(&self) -> FiDataIter {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/block_mgr/block.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Read(RwLockReadGuard<'a, ()>),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 25 -     Read(RwLockReadGuard<'a, ()>),
[INFO] [stdout] 25 +     Read(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/block_mgr/block.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Write(RwLockWriteGuard<'a, ()>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 26 -     Write(RwLockWriteGuard<'a, ()>),
[INFO] [stdout] 26 +     Write(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_crc` is never used
[INFO] [stdout]   --> src/block_mgr/block.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub trait BasicBlock {
[INFO] [stdout]    |           ---------- method in this trait
[INFO] [stdout] 87 |
[INFO] [stdout] 88 |     fn get_crc(&self) -> u32;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete_entry` is never used
[INFO] [stdout]    --> src/block_mgr/block.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl<'a> DataBlock<'a> {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn delete_entry(&mut self, entry_id: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mark_extent_full` and `set_free_info_free` are never used
[INFO] [stdout]    --> src/block_mgr/allocator.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout] 37  | impl BlockAllocator {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93  |     pub fn mark_extent_full(&self, file_id: u16, extent_id: u16) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn set_free_info_free(&self, block_id: &BlockId) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:182:25
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_block<Q>(&self, block_id: &BlockId) -> Option<(Pinned<BlockArea>, usize)>
[INFO] [stdout]     |                         ^^^^^                                 ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_block<Q>(&self, block_id: &BlockId) -> Option<(Pinned<'_, BlockArea>, usize)>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:208:33
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn allocate_on_cache<Q>(&self, block_id: &BlockId, block_type: BlockType) -> Option<(Pinned<BlockArea>, usize)>
[INFO] [stdout]     |                                 ^^^^^ this lifetime flows to the output                      ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn allocate_on_cache<Q>(&self, block_id: &BlockId, block_type: BlockType) -> Option<(Pinned<'_, BlockArea>, usize)>
[INFO] [stdout]     |                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:231:29
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn get_block_by_idx(&self, idx: usize) -> Option<Pinned<BlockArea>> {
[INFO] [stdout]     |                             ^^^^^                        ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn get_block_by_idx(&self, idx: usize) -> Option<Pinned<'_, BlockArea>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:303:22
[INFO] [stdout]     |
[INFO] [stdout] 303 | ...n_map<Q>(&self, mut block_map: RwLockWriteGuard<HashMap<BlockId, I>>, val: I, block_type: BlockType) -> (Pinned<BlockArea>, usize)
[INFO] [stdout]     |             ^^^^^ this lifetime flows to the output                                                         ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 303 |     fn put_on_map<Q>(&self, mut block_map: RwLockWriteGuard<HashMap<BlockId, I>>, val: I, block_type: BlockType) -> (Pinned<'_, BlockArea>, usize)
[INFO] [stdout]     |                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:365:16
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn try_pin(&self, buf_idx: usize) -> Option<Pinned<BlockArea>> {
[INFO] [stdout]     |                ^^^^^                            ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                |
[INFO] [stdout]     |                this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn try_pin(&self, buf_idx: usize) -> Option<Pinned<'_, BlockArea>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/common/intercom.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<T>
[INFO] [stdout]    |                     ^^^^^ this lifetime flows to the output             ------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<'_, T>
[INFO] [stdout]    |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/common/intercom.rs:58:35
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn wait_for_interruptable(&self, 
[INFO] [stdout]    |                                   ^^^^^ this lifetime flows to the output
[INFO] [stdout] ...
[INFO] [stdout] 62 |                                   ) -> Option<MutexGuard<T>> where T: PartialEq 
[INFO] [stdout]    |                                               ------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |                                   ) -> Option<MutexGuard<'_, T>> where T: PartialEq 
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/common/intercom.rs:181:22
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn read_lock(&self) -> ReadLockLwGuard<T> {
[INFO] [stdout]     |                      ^^^^^     ------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn read_lock(&self) -> ReadLockLwGuard<'_, T> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/common/intercom.rs:196:23
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn write_lock(&self) -> WriteLockLwGuard<T> {
[INFO] [stdout]     |                       ^^^^^     ------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn write_lock(&self) -> WriteLockLwGuard<'_, T> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/log_mgr/buf.rs:298:20
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn try_reserve(&self, buf_id: usize, reserve_size: usize, relaxed: bool) -> Option<Slice<T>> {
[INFO] [stdout]     |                    ^^^^^ this lifetime flows to the output                             -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn try_reserve(&self, buf_id: usize, reserve_size: usize, relaxed: bool) -> Option<Slice<'_, T>> {
[INFO] [stdout]     |                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/log_mgr/buf.rs:322:26
[INFO] [stdout]     |
[INFO] [stdout] 322 |     pub fn reserve_slice(&self, reserve_size: usize, relaxed: bool) -> Result<Slice<T>, ()> {
[INFO] [stdout]     |                          ^^^^^ this lifetime flows to the output              -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 322 |     pub fn reserve_slice(&self, reserve_size: usize, relaxed: bool) -> Result<Slice<'_, T>, ()> {
[INFO] [stdout]     |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/log_mgr/fs.rs:189:26
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub fn get_for_write(&self, reserve_size: usize) -> Result<Slice<u8>, ()> {
[INFO] [stdout]     |                          ^^^^^                                 --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub fn get_for_write(&self, reserve_size: usize) -> Result<Slice<'_, u8>, ()> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/datastore.rs:181:23
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn load_block(&self, block_id: &BlockId, file_state: FileState) -> Result<Ref<BlockArea>, Error> {
[INFO] [stdout]     |                       ^^^^^ this lifetime flows to the output                     -------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn load_block(&self, block_id: &BlockId, file_state: FileState) -> Result<Ref<'_, BlockArea>, Error> {
[INFO] [stdout]     |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/storage/datastore.rs:764:9
[INFO] [stdout]     |
[INFO] [stdout] 764 |         drop(v);
[INFO] [stdout]     |         ^^^^^-^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 764 -         drop(v);
[INFO] [stdout] 764 +         let _ = v;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/datastore.rs:875:18
[INFO] [stdout]     |
[INFO] [stdout] 875 |     fn lock_file(&self, file_id: u16) -> Option<RwLockReadGuard<HashMap<u16, Mutex<()>>>> {
[INFO] [stdout]     |                  ^^^^^                          ---------------------------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 875 |     fn lock_file(&self, file_id: u16) -> Option<RwLockReadGuard<'_, HashMap<u16, Mutex<()>>>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/block_driver.rs:461:27
[INFO] [stdout]     |
[INFO] [stdout] 461 |     fn find_entry_version(&self, c: &Cursor) -> Result<(BlockLocked<DataBlock>, u16, bool), Error> {
[INFO] [stdout]     |                           ^^^^^                         ----------------------
[INFO] [stdout]     |                           |                             |           |
[INFO] [stdout]     |                           |                             |           the lifetimes get resolved as `'_`
[INFO] [stdout]     |                           |                             the lifetimes get resolved as `'_`
[INFO] [stdout]     |                           this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 461 |     fn find_entry_version(&self, c: &Cursor) -> Result<(BlockLocked<'_, DataBlock<'_>>, u16, bool), Error> {
[INFO] [stdout]     |                                                                     +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/block_driver.rs:625:22
[INFO] [stdout]     |
[INFO] [stdout] 625 |     fn get_block_mut(&self, block_id: &BlockId) -> Result<(BlockLockedMut<DataBlock>, u64), Error> {
[INFO] [stdout]     |                      ^^^^^                                 -------------------------
[INFO] [stdout]     |                      |                                     |              |
[INFO] [stdout]     |                      |                                     |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                      |                                     the lifetimes get resolved as `'_`
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 625 |     fn get_block_mut(&self, block_id: &BlockId) -> Result<(BlockLockedMut<'_, DataBlock<'_>>, u64), Error> {
[INFO] [stdout]     |                                                                           +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/block_driver.rs:643:21
[INFO] [stdout]     |
[INFO] [stdout] 643 |     fn get_free_mut(&self, file_id: u16, requested_size: usize) -> Result<(BlockLockedMut<DataBlock>, u64), Error> {
[INFO] [stdout]     |                     ^^^^^                                                  -------------------------
[INFO] [stdout]     |                     |                                                      |              |
[INFO] [stdout]     |                     |                                                      |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                     this lifetime flows to the output                      the lifetimes get resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 643 |     fn get_free_mut(&self, file_id: u16, requested_size: usize) -> Result<(BlockLockedMut<'_, DataBlock<'_>>, u64), Error> {
[INFO] [stdout]     |                                                                                           +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/storage/checkpoint_store.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_iter(&self, checkpoint_csn: u64) -> Result<Iterator, Error> {
[INFO] [stdout]    |                     ^^^^^                                 -------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_iter(&self, checkpoint_csn: u64) -> Result<Iterator<'_>, Error> {
[INFO] [stdout]    |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/storage/checkpoint_store.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_next(&mut self) -> Result<Option<(BlockId, DataBlock)>, Error> {
[INFO] [stdout]    |                     ^^^^^^^^^                             --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_next(&mut self) -> Result<Option<(BlockId, DataBlock<'_>)>, Error> {
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/version_store.rs:122:30
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn get_iter_for_tran(&self, tsn: u64) -> Result<Iterator, Error> {
[INFO] [stdout]     |                              ^^^^^                      -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn get_iter_for_tran(&self, tsn: u64) -> Result<Iterator<'_>, Error> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/version_store.rs:252:33
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn get_next_entry_block(&mut self, entry_size: usize, trn_repo: &TrnRepo) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]     |                                 ^^^^^^^^^                                                   -------------------------
[INFO] [stdout]     |                                 |                                                           |              |
[INFO] [stdout]     |                                 |                                                           |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                 this lifetime flows to the output                           the lifetimes get resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn get_next_entry_block(&mut self, entry_size: usize, trn_repo: &TrnRepo) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                                            +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/system/instance.rs:88:30
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn begin_transaction(&self) -> Result<Transaction, Error> {
[INFO] [stdout]    |                              ^^^^^            ----------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn begin_transaction(&self) -> Result<Transaction<'_>, Error> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/system/instance.rs:126:22
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn open_read(&self, obj_id: &ObjectId, t: &Transaction) -> Result<Object, Error> {
[INFO] [stdout]     |                      ^^^^^ this lifetime flows to the output              ------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn open_read(&self, obj_id: &ObjectId, t: &Transaction) -> Result<Object<'_>, Error> {
[INFO] [stdout]     |                                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/system/instance.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn open_write<'a>(&'a self, obj_id: &ObjectId, t: &'a mut Transaction, timeout: i64) -> Result<ObjectWrite, Error> {
[INFO] [stdout]     |                            ^^                              ^^ these lifetimes flow to the output       ----------- the lifetime gets resolved as `'a`
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            these lifetimes flow to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn open_write<'a>(&'a self, obj_id: &ObjectId, t: &'a mut Transaction, timeout: i64) -> Result<ObjectWrite<'a>, Error> {
[INFO] [stdout]     |                                                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/system/instance.rs:173:29
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn open_create<'a>(&'a self, file_id: u16, t: &'a mut Transaction, initial_size: usize) -> Result<ObjectWrite, Error> {
[INFO] [stdout]     |                             ^^                         ^^ these lifetimes flow to the output              ----------- the lifetime gets resolved as `'a`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             these lifetimes flow to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn open_create<'a>(&'a self, file_id: u16, t: &'a mut Transaction, initial_size: usize) -> Result<ObjectWrite<'a>, Error> {
[INFO] [stdout]     |                                                                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/system/config.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn get_conf(&self) -> MutexGuard<Config> {
[INFO] [stdout]    |                     ^^^^^     ------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn get_conf(&self) -> MutexGuard<'_, Config> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:70:22
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_block(&self, block_id: &BlockId) -> Result<BlockLocked<DataBlock>, Error> {
[INFO] [stdout]    |                      ^^^^^                                ----------------------
[INFO] [stdout]    |                      |                                    |           |
[INFO] [stdout]    |                      |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                      |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                      this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                       +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:75:33
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn get_versioning_block(&self, block_id: &BlockId) -> Result<BlockLocked<DataBlock>, Error> {
[INFO] [stdout]    |                                 ^^^^^                                ----------------------
[INFO] [stdout]    |                                 |                                    |           |
[INFO] [stdout]    |                                 |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                 |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                 this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn get_versioning_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                                  +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:80:34
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn get_file_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<FileHeaderBlock>, Error> {
[INFO] [stdout]    |                                  ^^^^^                                ----------------------------
[INFO] [stdout]    |                                  |                                    |           |
[INFO] [stdout]    |                                  |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                  |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                  this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn get_file_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, FileHeaderBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                                   +++                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:85:36
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn get_extent_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<ExtentHeaderBlock>, Error> {
[INFO] [stdout]    |                                    ^^^^^                                ------------------------------
[INFO] [stdout]    |                                    |                                    |           |
[INFO] [stdout]    |                                    |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                    |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                    this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn get_extent_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, ExtentHeaderBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                                     +++                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:91:32
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_free_info_block(&self, block_id: &BlockId) -> Result<BlockLocked<FreeInfoBlock>, Error> {
[INFO] [stdout]    |                                ^^^^^                                --------------------------
[INFO] [stdout]    |                                |                                    |           |
[INFO] [stdout]    |                                |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_free_info_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, FreeInfoBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                                 +++              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:97:26
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn get_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]    |                          ^^^^^                                -------------------------
[INFO] [stdout]    |                          |                                    |              |
[INFO] [stdout]    |                          |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                          |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                          this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn get_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                              +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:102:37
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn get_versioning_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]     |                                     ^^^^^                                -------------------------
[INFO] [stdout]     |                                     |                                    |              |
[INFO] [stdout]     |                                     |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                     |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                     this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn get_versioning_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                         +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:107:38
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn get_file_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<FileHeaderBlock>, Error> {
[INFO] [stdout]     |                                      ^^^^^                                -------------------------------
[INFO] [stdout]     |                                      |                                    |              |
[INFO] [stdout]     |                                      |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                      |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn get_file_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, FileHeaderBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                          +++                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:112:40
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn get_extent_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<ExtentHeaderBlock>, Error> {
[INFO] [stdout]     |                                        ^^^^^                                ---------------------------------
[INFO] [stdout]     |                                        |                                    |              |
[INFO] [stdout]     |                                        |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                        |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                        this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn get_extent_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, ExtentHeaderBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                            +++                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:118:36
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn get_free_info_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<FreeInfoBlock>, Error> {
[INFO] [stdout]     |                                    ^^^^^                                -----------------------------
[INFO] [stdout]     |                                    |                                    |              |
[INFO] [stdout]     |                                    |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                    |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                    this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn get_free_info_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, FreeInfoBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                        +++              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:124:34
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_block_mut_no_lock(&self, block_id: &BlockId) -> Result<DataBlock, Error> {
[INFO] [stdout]     |                                  ^^^^^                                --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_block_mut_no_lock(&self, block_id: &BlockId) -> Result<DataBlock<'_>, Error> {
[INFO] [stdout]     |                                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:129:48
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn get_extent_header_block_mut_no_lock(&self, block_id: &BlockId) -> Result<ExtentHeaderBlock, Error> {
[INFO] [stdout]     |                                                ^^^^^                                ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn get_extent_header_block_mut_no_lock(&self, block_id: &BlockId) -> Result<ExtentHeaderBlock<'_>, Error> {
[INFO] [stdout]     |                                                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:135:35
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, lock_type: usize) -> Result<BlockLocked<T>, E...
[INFO] [stdout]     |       ^^ these lifetimes flow to the output                            ^^ these lifetimes flow to the output             -------------- the lifetime gets resolved as `'b`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'b`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn get_block_for_read<'b, T>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, lock_type: usize) -> Result<BlockLocked<'b, T>, Error> 
[INFO] [stdout]     |                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:161:40
[INFO] [stdout]     |
[INFO] [stdout] 161 | ...>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, try_lock: bool, lock_type: usize) -> Result<BlockLockedMut<T>, E...
[INFO] [stdout]     |       ^^ these lifetimes flow to the output                            ^^ these lifetimes flow to the output                             ----------------- the lifetime gets resolved as `'b`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'b`
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn get_block_for_write<'b, T>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, try_lock: bool, lock_type: usize) -> Result<BlockLockedMut<'b, T>, Error>
[INFO] [stdout]     |                                                                                                                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:215:21
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn get_iter(&self) -> BlockIterator {
[INFO] [stdout]     |                     ^^^^^     ------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn get_iter(&self) -> BlockIterator<'_> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:220:29
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn get_block_by_idx(&self, id: usize, block_id: BlockId, block_type: BlockType) -> Option<BlockLockedMut<DataBlock>> {
[INFO] [stdout]     |                             ^^^^^                                                                 -------------------------
[INFO] [stdout]     |                             |                                                                     |              |
[INFO] [stdout]     |                             |                                                                     |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                             this lifetime flows to the output                                     the lifetimes get resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn get_block_by_idx(&self, id: usize, block_id: BlockId, block_type: BlockType) -> Option<BlockLockedMut<'_, DataBlock<'_>>> {
[INFO] [stdout]     |                                                                                                                  +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:238:26
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn allocate_on_cache(&self, block_id: BlockId, block_type: BlockType) -> (Pinned<BlockArea>, usize) {
[INFO] [stdout]     |                          ^^^^^ this lifetime flows to the output              ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn allocate_on_cache(&self, block_id: BlockId, block_type: BlockType) -> (Pinned<'_, BlockArea>, usize) {
[INFO] [stdout]     |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:251:42
[INFO] [stdout]     |
[INFO] [stdout] 251 |     pub fn allocate_on_cache_mut_no_lock(&self, block_id: BlockId, block_type: BlockType) -> Result<DataBlock, Error> {
[INFO] [stdout]     |                                          ^^^^^ this lifetime flows to the output                    --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 251 |     pub fn allocate_on_cache_mut_no_lock(&self, block_id: BlockId, block_type: BlockType) -> Result<DataBlock<'_>, Error> {
[INFO] [stdout]     |                                                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/free_info.rs:321:22
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn used_iter(&self) -> FiDataIter {
[INFO] [stdout]     |                      ^^^^^     ---------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn used_iter(&self) -> FiDataIter<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/free_info.rs:329:22
[INFO] [stdout]     |
[INFO] [stdout] 329 |     pub fn free_iter(&self) -> FiDataIter {
[INFO] [stdout]     |                      ^^^^^     ---------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 329 |     pub fn free_iter(&self) -> FiDataIter<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn immut(&'a self) -> &BlockLocked<'a, T> {
[INFO] [stdout]    |                   ^^          -------------------
[INFO] [stdout]    |                   |           |            |
[INFO] [stdout]    |                   |           |            the lifetimes get resolved as `'a`
[INFO] [stdout]    |                   |           the lifetimes get resolved as `'a`
[INFO] [stdout]    |                   this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn immut(&'a self) -> &'a BlockLocked<'a, T> {
[INFO] [stdout]    |                                ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:143:22
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn get_entry(&self, entry_id: u16) -> Result<DataBlockEntry, Error> {
[INFO] [stdout]     |                      ^^^^^                           -------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn get_entry(&self, entry_id: u16) -> Result<DataBlockEntry<'_>, Error> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:159:26
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn get_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryMut, Error> {
[INFO] [stdout]     |                          ^^^^^^^^^                           ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn get_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryMut<'_>, Error> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:185:22
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn add_entry(&mut self, size: usize) -> DataBlockEntryMut {
[INFO] [stdout]     |                      ^^^^^^^^^                  ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn add_entry(&mut self, size: usize) -> DataBlockEntryMut<'_> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:194:30
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn add_version_entry(&mut self, size: usize) -> DataBlockEntryVerMut {
[INFO] [stdout]     |                              ^^^^^^^^^                  -------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn add_version_entry(&mut self, size: usize) -> DataBlockEntryVerMut<'_> {
[INFO] [stdout]     |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn extend_entry(&mut self, entry_id: u16, extend_size: usize) -> Result<DataBlockEntryMut, Error> {
[INFO] [stdout]     |                         ^^^^^^^^^ this lifetime flows to the output             ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn extend_entry(&mut self, entry_id: u16, extend_size: usize) -> Result<DataBlockEntryMut<'_>, Error> {
[INFO] [stdout]     |                                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn get_version_entry(&self, entry_id: u16) -> Result<DataBlockEntryVer, Error> {
[INFO] [stdout]     |                              ^^^^^                           ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn get_version_entry(&self, entry_id: u16) -> Result<DataBlockEntryVer<'_>, Error> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:239:34
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn get_version_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryVerMut, Error> {
[INFO] [stdout]     |                                  ^^^^^^^^^                           -------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn get_version_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryVerMut<'_>, Error> {
[INFO] [stdout]     |                                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:573:18
[INFO] [stdout]     |
[INFO] [stdout] 573 |     pub fn immut(&self) -> DataBlockEntry {
[INFO] [stdout]     |                  ^^^^^     -------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 573 |     pub fn immut(&self) -> DataBlockEntry<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/allocator.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn get_free(&self, file_id: u16) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]    |                     ^^^^^                          -------------------------
[INFO] [stdout]    |                     |                              |              |
[INFO] [stdout]    |                     |                              |              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                     |                              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                     this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn get_free(&self, file_id: u16) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                   +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/allocator.rs:98:27
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn allocate_block(&self, file_id: u16) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]    |                           ^^^^^                          -------------------------
[INFO] [stdout]    |                           |                              |              |
[INFO] [stdout]    |                           |                              |              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                           |                              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                           this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn allocate_block(&self, file_id: u16) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                         +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/allocator.rs:136:38
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn get_free_checkpoint_block(&self, checkpoint_csn: u64) -> Result<DataBlock, Error> {
[INFO] [stdout]     |                                      ^^^^^                                 --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn get_free_checkpoint_block(&self, checkpoint_csn: u64) -> Result<DataBlock<'_>, Error> {
[INFO] [stdout]     |                                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/allocator.rs:198:24
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn find_free_block(&self, file_id: u16) -> Result<Option<BlockLockedMut<DataBlock>>, Error> {
[INFO] [stdout]     |                        ^^^^^                                 -------------------------
[INFO] [stdout]     |                        |                                     |              |
[INFO] [stdout]     |                        |                                     |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                        |                                     the lifetimes get resolved as `'_`
[INFO] [stdout]     |                        this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn find_free_block(&self, file_id: u16) -> Result<Option<BlockLockedMut<'_, DataBlock<'_>>>, Error> {
[INFO] [stdout]     |                                                                             +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/allocator.rs:213:34
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn find_free_block_in_extent(&self, file_id: u16, extent_id: u16) -> Result<Option<BlockLockedMut<DataBlock>>, Error> {
[INFO] [stdout]     |                                  ^^^^^                                                 -------------------------
[INFO] [stdout]     |                                  |                                                     |              |
[INFO] [stdout]     |                                  |                                                     |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                  this lifetime flows to the output                     the lifetimes get resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn find_free_block_in_extent(&self, file_id: u16, extent_id: u16) -> Result<Option<BlockLockedMut<'_, DataBlock<'_>>>, Error> {
[INFO] [stdout]     |                                                                                                       +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling db-core v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/common/intercom.rs:31:45
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<T>
[INFO] [stdout]    |                                             ^                     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 31 -     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<T>
[INFO] [stdout] 31 +     pub fn wait_for(&self, check_cond: &mut dyn FnMut(&T) -> bool) -> MutexGuard<T>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/common/intercom.rs:59:52
[INFO] [stdout]    |
[INFO] [stdout] 59 | ...                   check_cond: &mut (dyn FnMut(&T) -> bool), 
[INFO] [stdout]    |                                        ^                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -                                   check_cond: &mut (dyn FnMut(&T) -> bool), 
[INFO] [stdout] 59 +                                   check_cond: &mut dyn FnMut(&T) -> bool, 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/common/intercom.rs:60:56
[INFO] [stdout]    |
[INFO] [stdout] 60 | ...                   interrupt_cond: &mut (dyn FnMut() -> bool), 
[INFO] [stdout]    |                                            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 60 -                                   interrupt_cond: &mut (dyn FnMut() -> bool), 
[INFO] [stdout] 60 +                                   interrupt_cond: &mut dyn FnMut() -> bool, 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::log_mgr::io::LogRecordHeader`
[INFO] [stdout]   --> src/log_mgr/log_mgr.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use crate::log_mgr::io::LogRecordHeader;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]   --> src/log_mgr/buf.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg(feature = "metrics")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:248:7
[INFO] [stdout]     |
[INFO] [stdout] 248 | #[cfg(feature = "metrics")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:259:11
[INFO] [stdout]     |
[INFO] [stdout] 259 |     #[cfg(feature = "metrics")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:417:11
[INFO] [stdout]     |
[INFO] [stdout] 417 |     #[cfg(feature = "metrics")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:425:11
[INFO] [stdout]     |
[INFO] [stdout] 425 |     #[cfg(feature = "metrics")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:276:15
[INFO] [stdout]     |
[INFO] [stdout] 276 |         #[cfg(feature = "metrics")]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:284:19
[INFO] [stdout]     |
[INFO] [stdout] 284 |             #[cfg(feature = "metrics")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:346:27
[INFO] [stdout]     |
[INFO] [stdout] 346 |                     #[cfg(feature = "metrics")] 
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:356:27
[INFO] [stdout]     |
[INFO] [stdout] 356 |                     #[cfg(feature = "metrics")] 
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:404:19
[INFO] [stdout]     |
[INFO] [stdout] 404 |             #[cfg(feature = "metrics")] {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:410:23
[INFO] [stdout]     |
[INFO] [stdout] 410 |             #[cfg(not(feature = "metrics"))] {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stdout]    --> src/log_mgr/buf.rs:579:19
[INFO] [stdout]     |
[INFO] [stdout] 579 |             #[cfg(feature = "metrics")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::alloc::LayoutErr`: Name does not follow std convention, use LayoutError
[INFO] [stdout]    --> src/common/errors.rs:219:17
[INFO] [stdout]     |
[INFO] [stdout] 219 |     std::alloc::LayoutErr, IncorrectLayout, layout_err,
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::alloc::LayoutErr`: Name does not follow std convention, use LayoutError
[INFO] [stdout]    --> src/common/errors.rs:209:79
[INFO] [stdout]     |
[INFO] [stdout] 209 |     IncorrectLayout             , incorrect_layout              , std::alloc::LayoutErr,
[INFO] [stdout]     |                                                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::sync::atomic::spin_loop_hint`: use hint::spin_loop instead
[INFO] [stdout]    --> src/common/intercom.rs:202:33
[INFO] [stdout]     |
[INFO] [stdout] 202 |             core::sync::atomic::spin_loop_hint();
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]    --> src/block_mgr/block.rs:344:35
[INFO] [stdout]     |
[INFO] [stdout] 344 |         unsafe { std::intrinsics::copy(src, dst, region_end - region_start) };
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/log_mgr/buf.rs:112:52
[INFO] [stdout]     |
[INFO] [stdout] 112 |             let cur_acq_size = self.acquire_size.0.compare_and_swap(
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/log_mgr/buf.rs:182:52
[INFO] [stdout]     |
[INFO] [stdout] 182 |             let cur_acq_size = self.acquire_size.0.compare_and_swap(
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/storage/datastore.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn add_fi_blocks(&self, mut block_id: &mut BlockId, fi_block_num: usize, stub_pin: &AtomicU64, f: &std::fs::File) -> Result<(), Error> {
[INFO] [stdout]     |                             ----^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/storage/datastore.rs:863:13
[INFO] [stdout]     |
[INFO] [stdout] 863 |         let mut desc = xlock.get_mut(&file_id).unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/storage/datastore.rs:869:13
[INFO] [stdout]     |
[INFO] [stdout] 869 |         let mut desc = xlock.get_mut(&file_id).unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/storage/block_driver.rs:731:26
[INFO] [stdout]     |
[INFO] [stdout] 731 |     pub fn replay(&self, mut rs: &mut ReplayState, data: &[u8]) -> Result<(), Error> {
[INFO] [stdout]     |                          ----^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `write_ready` is never read
[INFO] [stdout]   --> src/buf_mgr/buf_writer.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct BufWriter {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     write_ready:        SyncNotification<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BufWriter` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metrics` is never constructed
[INFO] [stdout]    --> src/log_mgr/buf.rs:243:12
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub struct Metrics {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/block_mgr/block.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Read(RwLockReadGuard<'a, ()>),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 25 -     Read(RwLockReadGuard<'a, ()>),
[INFO] [stdout] 25 +     Read(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/block_mgr/block.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Write(RwLockWriteGuard<'a, ()>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 26 -     Write(RwLockWriteGuard<'a, ()>),
[INFO] [stdout] 26 +     Write(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mark_extent_full` is never used
[INFO] [stdout]   --> src/block_mgr/allocator.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl BlockAllocator {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn mark_extent_full(&self, file_id: u16, extent_id: u16) -> Result<(), Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:182:25
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_block<Q>(&self, block_id: &BlockId) -> Option<(Pinned<BlockArea>, usize)>
[INFO] [stdout]     |                         ^^^^^                                 ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_block<Q>(&self, block_id: &BlockId) -> Option<(Pinned<'_, BlockArea>, usize)>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:208:33
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn allocate_on_cache<Q>(&self, block_id: &BlockId, block_type: BlockType) -> Option<(Pinned<BlockArea>, usize)>
[INFO] [stdout]     |                                 ^^^^^ this lifetime flows to the output                      ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn allocate_on_cache<Q>(&self, block_id: &BlockId, block_type: BlockType) -> Option<(Pinned<'_, BlockArea>, usize)>
[INFO] [stdout]     |                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:231:29
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn get_block_by_idx(&self, idx: usize) -> Option<Pinned<BlockArea>> {
[INFO] [stdout]     |                             ^^^^^                        ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn get_block_by_idx(&self, idx: usize) -> Option<Pinned<'_, BlockArea>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:303:22
[INFO] [stdout]     |
[INFO] [stdout] 303 | ...n_map<Q>(&self, mut block_map: RwLockWriteGuard<HashMap<BlockId, I>>, val: I, block_type: BlockType) -> (Pinned<BlockArea>, usize)
[INFO] [stdout]     |             ^^^^^ this lifetime flows to the output                                                         ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 303 |     fn put_on_map<Q>(&self, mut block_map: RwLockWriteGuard<HashMap<BlockId, I>>, val: I, block_type: BlockType) -> (Pinned<'_, BlockArea>, usize)
[INFO] [stdout]     |                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/buf_mgr/buf_mgr.rs:365:16
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn try_pin(&self, buf_idx: usize) -> Option<Pinned<BlockArea>> {
[INFO] [stdout]     |                ^^^^^                            ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                |
[INFO] [stdout]     |                this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn try_pin(&self, buf_idx: usize) -> Option<Pinned<'_, BlockArea>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/common/intercom.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<T>
[INFO] [stdout]    |                     ^^^^^ this lifetime flows to the output             ------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<'_, T>
[INFO] [stdout]    |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/common/intercom.rs:58:35
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn wait_for_interruptable(&self, 
[INFO] [stdout]    |                                   ^^^^^ this lifetime flows to the output
[INFO] [stdout] ...
[INFO] [stdout] 62 |                                   ) -> Option<MutexGuard<T>> where T: PartialEq 
[INFO] [stdout]    |                                               ------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |                                   ) -> Option<MutexGuard<'_, T>> where T: PartialEq 
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/common/intercom.rs:181:22
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn read_lock(&self) -> ReadLockLwGuard<T> {
[INFO] [stdout]     |                      ^^^^^     ------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn read_lock(&self) -> ReadLockLwGuard<'_, T> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/common/intercom.rs:196:23
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn write_lock(&self) -> WriteLockLwGuard<T> {
[INFO] [stdout]     |                       ^^^^^     ------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn write_lock(&self) -> WriteLockLwGuard<'_, T> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/log_mgr/buf.rs:298:20
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn try_reserve(&self, buf_id: usize, reserve_size: usize, relaxed: bool) -> Option<Slice<T>> {
[INFO] [stdout]     |                    ^^^^^ this lifetime flows to the output                             -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn try_reserve(&self, buf_id: usize, reserve_size: usize, relaxed: bool) -> Option<Slice<'_, T>> {
[INFO] [stdout]     |                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/log_mgr/buf.rs:322:26
[INFO] [stdout]     |
[INFO] [stdout] 322 |     pub fn reserve_slice(&self, reserve_size: usize, relaxed: bool) -> Result<Slice<T>, ()> {
[INFO] [stdout]     |                          ^^^^^ this lifetime flows to the output              -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 322 |     pub fn reserve_slice(&self, reserve_size: usize, relaxed: bool) -> Result<Slice<'_, T>, ()> {
[INFO] [stdout]     |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/log_mgr/fs.rs:189:26
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub fn get_for_write(&self, reserve_size: usize) -> Result<Slice<u8>, ()> {
[INFO] [stdout]     |                          ^^^^^                                 --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub fn get_for_write(&self, reserve_size: usize) -> Result<Slice<'_, u8>, ()> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/datastore.rs:181:23
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn load_block(&self, block_id: &BlockId, file_state: FileState) -> Result<Ref<BlockArea>, Error> {
[INFO] [stdout]     |                       ^^^^^ this lifetime flows to the output                     -------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn load_block(&self, block_id: &BlockId, file_state: FileState) -> Result<Ref<'_, BlockArea>, Error> {
[INFO] [stdout]     |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/storage/datastore.rs:764:9
[INFO] [stdout]     |
[INFO] [stdout] 764 |         drop(v);
[INFO] [stdout]     |         ^^^^^-^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 764 -         drop(v);
[INFO] [stdout] 764 +         let _ = v;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/datastore.rs:875:18
[INFO] [stdout]     |
[INFO] [stdout] 875 |     fn lock_file(&self, file_id: u16) -> Option<RwLockReadGuard<HashMap<u16, Mutex<()>>>> {
[INFO] [stdout]     |                  ^^^^^                          ---------------------------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 875 |     fn lock_file(&self, file_id: u16) -> Option<RwLockReadGuard<'_, HashMap<u16, Mutex<()>>>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/block_driver.rs:461:27
[INFO] [stdout]     |
[INFO] [stdout] 461 |     fn find_entry_version(&self, c: &Cursor) -> Result<(BlockLocked<DataBlock>, u16, bool), Error> {
[INFO] [stdout]     |                           ^^^^^                         ----------------------
[INFO] [stdout]     |                           |                             |           |
[INFO] [stdout]     |                           |                             |           the lifetimes get resolved as `'_`
[INFO] [stdout]     |                           |                             the lifetimes get resolved as `'_`
[INFO] [stdout]     |                           this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 461 |     fn find_entry_version(&self, c: &Cursor) -> Result<(BlockLocked<'_, DataBlock<'_>>, u16, bool), Error> {
[INFO] [stdout]     |                                                                     +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/block_driver.rs:625:22
[INFO] [stdout]     |
[INFO] [stdout] 625 |     fn get_block_mut(&self, block_id: &BlockId) -> Result<(BlockLockedMut<DataBlock>, u64), Error> {
[INFO] [stdout]     |                      ^^^^^                                 -------------------------
[INFO] [stdout]     |                      |                                     |              |
[INFO] [stdout]     |                      |                                     |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                      |                                     the lifetimes get resolved as `'_`
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 625 |     fn get_block_mut(&self, block_id: &BlockId) -> Result<(BlockLockedMut<'_, DataBlock<'_>>, u64), Error> {
[INFO] [stdout]     |                                                                           +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/block_driver.rs:643:21
[INFO] [stdout]     |
[INFO] [stdout] 643 |     fn get_free_mut(&self, file_id: u16, requested_size: usize) -> Result<(BlockLockedMut<DataBlock>, u64), Error> {
[INFO] [stdout]     |                     ^^^^^                                                  -------------------------
[INFO] [stdout]     |                     |                                                      |              |
[INFO] [stdout]     |                     |                                                      |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                     this lifetime flows to the output                      the lifetimes get resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 643 |     fn get_free_mut(&self, file_id: u16, requested_size: usize) -> Result<(BlockLockedMut<'_, DataBlock<'_>>, u64), Error> {
[INFO] [stdout]     |                                                                                           +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/storage/checkpoint_store.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_iter(&self, checkpoint_csn: u64) -> Result<Iterator, Error> {
[INFO] [stdout]    |                     ^^^^^                                 -------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_iter(&self, checkpoint_csn: u64) -> Result<Iterator<'_>, Error> {
[INFO] [stdout]    |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/storage/checkpoint_store.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_next(&mut self) -> Result<Option<(BlockId, DataBlock)>, Error> {
[INFO] [stdout]    |                     ^^^^^^^^^                             --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_next(&mut self) -> Result<Option<(BlockId, DataBlock<'_>)>, Error> {
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/version_store.rs:122:30
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn get_iter_for_tran(&self, tsn: u64) -> Result<Iterator, Error> {
[INFO] [stdout]     |                              ^^^^^                      -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn get_iter_for_tran(&self, tsn: u64) -> Result<Iterator<'_>, Error> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/storage/version_store.rs:252:33
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn get_next_entry_block(&mut self, entry_size: usize, trn_repo: &TrnRepo) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]     |                                 ^^^^^^^^^                                                   -------------------------
[INFO] [stdout]     |                                 |                                                           |              |
[INFO] [stdout]     |                                 |                                                           |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                 this lifetime flows to the output                           the lifetimes get resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn get_next_entry_block(&mut self, entry_size: usize, trn_repo: &TrnRepo) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                                            +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/system/instance.rs:88:30
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn begin_transaction(&self) -> Result<Transaction, Error> {
[INFO] [stdout]    |                              ^^^^^            ----------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn begin_transaction(&self) -> Result<Transaction<'_>, Error> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/system/instance.rs:126:22
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn open_read(&self, obj_id: &ObjectId, t: &Transaction) -> Result<Object, Error> {
[INFO] [stdout]     |                      ^^^^^ this lifetime flows to the output              ------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn open_read(&self, obj_id: &ObjectId, t: &Transaction) -> Result<Object<'_>, Error> {
[INFO] [stdout]     |                                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/system/instance.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn open_write<'a>(&'a self, obj_id: &ObjectId, t: &'a mut Transaction, timeout: i64) -> Result<ObjectWrite, Error> {
[INFO] [stdout]     |                            ^^                              ^^ these lifetimes flow to the output       ----------- the lifetime gets resolved as `'a`
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            these lifetimes flow to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn open_write<'a>(&'a self, obj_id: &ObjectId, t: &'a mut Transaction, timeout: i64) -> Result<ObjectWrite<'a>, Error> {
[INFO] [stdout]     |                                                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/system/instance.rs:173:29
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn open_create<'a>(&'a self, file_id: u16, t: &'a mut Transaction, initial_size: usize) -> Result<ObjectWrite, Error> {
[INFO] [stdout]     |                             ^^                         ^^ these lifetimes flow to the output              ----------- the lifetime gets resolved as `'a`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             these lifetimes flow to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn open_create<'a>(&'a self, file_id: u16, t: &'a mut Transaction, initial_size: usize) -> Result<ObjectWrite<'a>, Error> {
[INFO] [stdout]     |                                                                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/system/config.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn get_conf(&self) -> MutexGuard<Config> {
[INFO] [stdout]    |                     ^^^^^     ------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn get_conf(&self) -> MutexGuard<'_, Config> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:70:22
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_block(&self, block_id: &BlockId) -> Result<BlockLocked<DataBlock>, Error> {
[INFO] [stdout]    |                      ^^^^^                                ----------------------
[INFO] [stdout]    |                      |                                    |           |
[INFO] [stdout]    |                      |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                      |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                      this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                       +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:75:33
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn get_versioning_block(&self, block_id: &BlockId) -> Result<BlockLocked<DataBlock>, Error> {
[INFO] [stdout]    |                                 ^^^^^                                ----------------------
[INFO] [stdout]    |                                 |                                    |           |
[INFO] [stdout]    |                                 |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                 |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                 this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn get_versioning_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                                  +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:80:34
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn get_file_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<FileHeaderBlock>, Error> {
[INFO] [stdout]    |                                  ^^^^^                                ----------------------------
[INFO] [stdout]    |                                  |                                    |           |
[INFO] [stdout]    |                                  |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                  |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                  this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn get_file_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, FileHeaderBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                                   +++                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:85:36
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn get_extent_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<ExtentHeaderBlock>, Error> {
[INFO] [stdout]    |                                    ^^^^^                                ------------------------------
[INFO] [stdout]    |                                    |                                    |           |
[INFO] [stdout]    |                                    |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                    |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                    this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn get_extent_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, ExtentHeaderBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                                     +++                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:91:32
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_free_info_block(&self, block_id: &BlockId) -> Result<BlockLocked<FreeInfoBlock>, Error> {
[INFO] [stdout]    |                                ^^^^^                                --------------------------
[INFO] [stdout]    |                                |                                    |           |
[INFO] [stdout]    |                                |                                    |           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_free_info_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, FreeInfoBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                                 +++              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block_mgr.rs:97:26
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn get_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]    |                          ^^^^^                                -------------------------
[INFO] [stdout]    |                          |                                    |              |
[INFO] [stdout]    |                          |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                          |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                          this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn get_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                              +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:102:37
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn get_versioning_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]     |                                     ^^^^^                                -------------------------
[INFO] [stdout]     |                                     |                                    |              |
[INFO] [stdout]     |                                     |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                     |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                     this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn get_versioning_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                         +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:107:38
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn get_file_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<FileHeaderBlock>, Error> {
[INFO] [stdout]     |                                      ^^^^^                                -------------------------------
[INFO] [stdout]     |                                      |                                    |              |
[INFO] [stdout]     |                                      |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                      |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn get_file_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, FileHeaderBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                          +++                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:112:40
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn get_extent_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<ExtentHeaderBlock>, Error> {
[INFO] [stdout]     |                                        ^^^^^                                ---------------------------------
[INFO] [stdout]     |                                        |                                    |              |
[INFO] [stdout]     |                                        |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                        |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                        this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn get_extent_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, ExtentHeaderBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                            +++                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:118:36
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn get_free_info_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<FreeInfoBlock>, Error> {
[INFO] [stdout]     |                                    ^^^^^                                -----------------------------
[INFO] [stdout]     |                                    |                                    |              |
[INFO] [stdout]     |                                    |                                    |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                    |                                    the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                    this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn get_free_info_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, FreeInfoBlock<'_>>, Error> {
[INFO] [stdout]     |                                                                                        +++              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:124:34
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_block_mut_no_lock(&self, block_id: &BlockId) -> Result<DataBlock, Error> {
[INFO] [stdout]     |                                  ^^^^^                                --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_block_mut_no_lock(&self, block_id: &BlockId) -> Result<DataBlock<'_>, Error> {
[INFO] [stdout]     |                                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:129:48
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn get_extent_header_block_mut_no_lock(&self, block_id: &BlockId) -> Result<ExtentHeaderBlock, Error> {
[INFO] [stdout]     |                                                ^^^^^                                ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn get_extent_header_block_mut_no_lock(&self, block_id: &BlockId) -> Result<ExtentHeaderBlock<'_>, Error> {
[INFO] [stdout]     |                                                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:135:35
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, lock_type: usize) -> Result<BlockLocked<T>, E...
[INFO] [stdout]     |       ^^ these lifetimes flow to the output                            ^^ these lifetimes flow to the output             -------------- the lifetime gets resolved as `'b`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'b`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn get_block_for_read<'b, T>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, lock_type: usize) -> Result<BlockLocked<'b, T>, Error> 
[INFO] [stdout]     |                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:161:40
[INFO] [stdout]     |
[INFO] [stdout] 161 | ...>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, try_lock: bool, lock_type: usize) -> Result<BlockLockedMut<T>, E...
[INFO] [stdout]     |       ^^ these lifetimes flow to the output                            ^^ these lifetimes flow to the output                             ----------------- the lifetime gets resolved as `'b`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'b`
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn get_block_for_write<'b, T>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, try_lock: bool, lock_type: usize) -> Result<BlockLockedMut<'b, T>, Error>
[INFO] [stdout]     |                                                                                                                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:215:21
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn get_iter(&self) -> BlockIterator {
[INFO] [stdout]     |                     ^^^^^     ------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn get_iter(&self) -> BlockIterator<'_> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:220:29
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn get_block_by_idx(&self, id: usize, block_id: BlockId, block_type: BlockType) -> Option<BlockLockedMut<DataBlock>> {
[INFO] [stdout]     |                             ^^^^^                                                                 -------------------------
[INFO] [stdout]     |                             |                                                                     |              |
[INFO] [stdout]     |                             |                                                                     |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                             this lifetime flows to the output                                     the lifetimes get resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn get_block_by_idx(&self, id: usize, block_id: BlockId, block_type: BlockType) -> Option<BlockLockedMut<'_, DataBlock<'_>>> {
[INFO] [stdout]     |                                                                                                                  +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:238:26
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn allocate_on_cache(&self, block_id: BlockId, block_type: BlockType) -> (Pinned<BlockArea>, usize) {
[INFO] [stdout]     |                          ^^^^^ this lifetime flows to the output              ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn allocate_on_cache(&self, block_id: BlockId, block_type: BlockType) -> (Pinned<'_, BlockArea>, usize) {
[INFO] [stdout]     |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block_mgr.rs:251:42
[INFO] [stdout]     |
[INFO] [stdout] 251 |     pub fn allocate_on_cache_mut_no_lock(&self, block_id: BlockId, block_type: BlockType) -> Result<DataBlock, Error> {
[INFO] [stdout]     |                                          ^^^^^ this lifetime flows to the output                    --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 251 |     pub fn allocate_on_cache_mut_no_lock(&self, block_id: BlockId, block_type: BlockType) -> Result<DataBlock<'_>, Error> {
[INFO] [stdout]     |                                                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/free_info.rs:321:22
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn used_iter(&self) -> FiDataIter {
[INFO] [stdout]     |                      ^^^^^     ---------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn used_iter(&self) -> FiDataIter<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/free_info.rs:329:22
[INFO] [stdout]     |
[INFO] [stdout] 329 |     pub fn free_iter(&self) -> FiDataIter {
[INFO] [stdout]     |                      ^^^^^     ---------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 329 |     pub fn free_iter(&self) -> FiDataIter<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/block.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn immut(&'a self) -> &BlockLocked<'a, T> {
[INFO] [stdout]    |                   ^^          -------------------
[INFO] [stdout]    |                   |           |            |
[INFO] [stdout]    |                   |           |            the lifetimes get resolved as `'a`
[INFO] [stdout]    |                   |           the lifetimes get resolved as `'a`
[INFO] [stdout]    |                   this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn immut(&'a self) -> &'a BlockLocked<'a, T> {
[INFO] [stdout]    |                                ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:143:22
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn get_entry(&self, entry_id: u16) -> Result<DataBlockEntry, Error> {
[INFO] [stdout]     |                      ^^^^^                           -------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn get_entry(&self, entry_id: u16) -> Result<DataBlockEntry<'_>, Error> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:159:26
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn get_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryMut, Error> {
[INFO] [stdout]     |                          ^^^^^^^^^                           ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn get_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryMut<'_>, Error> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:185:22
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn add_entry(&mut self, size: usize) -> DataBlockEntryMut {
[INFO] [stdout]     |                      ^^^^^^^^^                  ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn add_entry(&mut self, size: usize) -> DataBlockEntryMut<'_> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:194:30
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn add_version_entry(&mut self, size: usize) -> DataBlockEntryVerMut {
[INFO] [stdout]     |                              ^^^^^^^^^                  -------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn add_version_entry(&mut self, size: usize) -> DataBlockEntryVerMut<'_> {
[INFO] [stdout]     |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn extend_entry(&mut self, entry_id: u16, extend_size: usize) -> Result<DataBlockEntryMut, Error> {
[INFO] [stdout]     |                         ^^^^^^^^^ this lifetime flows to the output             ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn extend_entry(&mut self, entry_id: u16, extend_size: usize) -> Result<DataBlockEntryMut<'_>, Error> {
[INFO] [stdout]     |                                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn get_version_entry(&self, entry_id: u16) -> Result<DataBlockEntryVer, Error> {
[INFO] [stdout]     |                              ^^^^^                           ----------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn get_version_entry(&self, entry_id: u16) -> Result<DataBlockEntryVer<'_>, Error> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:239:34
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn get_version_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryVerMut, Error> {
[INFO] [stdout]     |                                  ^^^^^^^^^                           -------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn get_version_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryVerMut<'_>, Error> {
[INFO] [stdout]     |                                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/block.rs:573:18
[INFO] [stdout]     |
[INFO] [stdout] 573 |     pub fn immut(&self) -> DataBlockEntry {
[INFO] [stdout]     |                  ^^^^^     -------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 573 |     pub fn immut(&self) -> DataBlockEntry<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]     --> src/block_mgr/block.rs:1128:9
[INFO] [stdout]      |
[INFO] [stdout] 1128 |         &mut entry4_buf.copy_from_slice(entry.data);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1128 |         let _ = &mut entry4_buf.copy_from_slice(entry.data);
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/allocator.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn get_free(&self, file_id: u16) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]    |                     ^^^^^                          -------------------------
[INFO] [stdout]    |                     |                              |              |
[INFO] [stdout]    |                     |                              |              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                     |                              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                     this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn get_free(&self, file_id: u16) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                   +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/block_mgr/allocator.rs:98:27
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn allocate_block(&self, file_id: u16) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stdout]    |                           ^^^^^                          -------------------------
[INFO] [stdout]    |                           |                              |              |
[INFO] [stdout]    |                           |                              |              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                           |                              the lifetimes get resolved as `'_`
[INFO] [stdout]    |                           this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn allocate_block(&self, file_id: u16) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stdout]    |                                                                         +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/allocator.rs:136:38
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn get_free_checkpoint_block(&self, checkpoint_csn: u64) -> Result<DataBlock, Error> {
[INFO] [stdout]     |                                      ^^^^^                                 --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn get_free_checkpoint_block(&self, checkpoint_csn: u64) -> Result<DataBlock<'_>, Error> {
[INFO] [stdout]     |                                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/allocator.rs:198:24
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn find_free_block(&self, file_id: u16) -> Result<Option<BlockLockedMut<DataBlock>>, Error> {
[INFO] [stdout]     |                        ^^^^^                                 -------------------------
[INFO] [stdout]     |                        |                                     |              |
[INFO] [stdout]     |                        |                                     |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                        |                                     the lifetimes get resolved as `'_`
[INFO] [stdout]     |                        this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn find_free_block(&self, file_id: u16) -> Result<Option<BlockLockedMut<'_, DataBlock<'_>>>, Error> {
[INFO] [stdout]     |                                                                             +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block_mgr/allocator.rs:213:34
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn find_free_block_in_extent(&self, file_id: u16, extent_id: u16) -> Result<Option<BlockLockedMut<DataBlock>>, Error> {
[INFO] [stdout]     |                                  ^^^^^                                                 -------------------------
[INFO] [stdout]     |                                  |                                                     |              |
[INFO] [stdout]     |                                  |                                                     |              the lifetimes get resolved as `'_`
[INFO] [stdout]     |                                  this lifetime flows to the output                     the lifetimes get resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn find_free_block_in_extent(&self, file_id: u16, extent_id: u16) -> Result<Option<BlockLockedMut<'_, DataBlock<'_>>>, Error> {
[INFO] [stdout]     |                                                                                                       +++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 12.58s
[INFO] running `Command { std: "docker" "inspect" "ff4f26d4acf719ac0d1fb3f468d5b7e618f56ed4cdedb1423512e487ffbe75ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff4f26d4acf719ac0d1fb3f468d5b7e618f56ed4cdedb1423512e487ffbe75ea", kill_on_drop: false }`
[INFO] [stdout] ff4f26d4acf719ac0d1fb3f468d5b7e618f56ed4cdedb1423512e487ffbe75ea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 773ec3c6ad055b4cb5c3b5f63df69d4063ea441f6dacce419895577253eae089
[INFO] running `Command { std: "docker" "start" "-a" "773ec3c6ad055b4cb5c3b5f63df69d4063ea441f6dacce419895577253eae089", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/common/intercom.rs:31:45
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<T>
[INFO] [stderr]    |                                             ^                     ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 31 -     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<T>
[INFO] [stderr] 31 +     pub fn wait_for(&self, check_cond: &mut dyn FnMut(&T) -> bool) -> MutexGuard<T>
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/common/intercom.rs:59:52
[INFO] [stderr]    |
[INFO] [stderr] 59 | ...                   check_cond: &mut (dyn FnMut(&T) -> bool), 
[INFO] [stderr]    |                                        ^                     ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 59 -                                   check_cond: &mut (dyn FnMut(&T) -> bool), 
[INFO] [stderr] 59 +                                   check_cond: &mut dyn FnMut(&T) -> bool, 
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/common/intercom.rs:60:56
[INFO] [stderr]    |
[INFO] [stderr] 60 | ...                   interrupt_cond: &mut (dyn FnMut() -> bool), 
[INFO] [stderr]    |                                            ^                   ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 60 -                                   interrupt_cond: &mut (dyn FnMut() -> bool), 
[INFO] [stderr] 60 +                                   interrupt_cond: &mut dyn FnMut() -> bool, 
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::log_mgr::io::LogRecordHeader`
[INFO] [stderr]   --> src/log_mgr/log_mgr.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub use crate::log_mgr::io::LogRecordHeader;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stderr]   --> src/log_mgr/buf.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[cfg(feature = "metrics")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stderr]    --> src/log_mgr/buf.rs:248:7
[INFO] [stderr]     |
[INFO] [stderr] 248 | #[cfg(feature = "metrics")]
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stderr]    --> src/log_mgr/buf.rs:259:11
[INFO] [stderr]     |
[INFO] [stderr] 259 |     #[cfg(feature = "metrics")]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stderr]    --> src/log_mgr/buf.rs:417:11
[INFO] [stderr]     |
[INFO] [stderr] 417 |     #[cfg(feature = "metrics")]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stderr]    --> src/log_mgr/buf.rs:425:11
[INFO] [stderr]     |
[INFO] [stderr] 425 |     #[cfg(feature = "metrics")]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stderr]    --> src/log_mgr/buf.rs:276:15
[INFO] [stderr]     |
[INFO] [stderr] 276 |         #[cfg(feature = "metrics")]
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stderr]    --> src/log_mgr/buf.rs:284:19
[INFO] [stderr]     |
[INFO] [stderr] 284 |             #[cfg(feature = "metrics")]
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stderr]    --> src/log_mgr/buf.rs:346:27
[INFO] [stderr]     |
[INFO] [stderr] 346 |                     #[cfg(feature = "metrics")] 
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stderr]    --> src/log_mgr/buf.rs:356:27
[INFO] [stderr]     |
[INFO] [stderr] 356 |                     #[cfg(feature = "metrics")] 
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stderr]    --> src/log_mgr/buf.rs:404:19
[INFO] [stderr]     |
[INFO] [stderr] 404 |             #[cfg(feature = "metrics")] {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stderr]    --> src/log_mgr/buf.rs:410:23
[INFO] [stderr]     |
[INFO] [stderr] 410 |             #[cfg(not(feature = "metrics"))] {
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `metrics`
[INFO] [stderr]    --> src/log_mgr/buf.rs:579:19
[INFO] [stderr]     |
[INFO] [stderr] 579 |             #[cfg(feature = "metrics")]
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `metrics` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated type alias `std::alloc::LayoutErr`: Name does not follow std convention, use LayoutError
[INFO] [stderr]    --> src/common/errors.rs:219:17
[INFO] [stderr]     |
[INFO] [stderr] 219 |     std::alloc::LayoutErr, IncorrectLayout, layout_err,
[INFO] [stderr]     |                 ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated type alias `std::alloc::LayoutErr`: Name does not follow std convention, use LayoutError
[INFO] [stderr]    --> src/common/errors.rs:209:79
[INFO] [stderr]     |
[INFO] [stderr] 209 |     IncorrectLayout             , incorrect_layout              , std::alloc::LayoutErr,
[INFO] [stderr]     |                                                                               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::sync::atomic::spin_loop_hint`: use hint::spin_loop instead
[INFO] [stderr]    --> src/common/intercom.rs:202:33
[INFO] [stderr]     |
[INFO] [stderr] 202 |             core::sync::atomic::spin_loop_hint();
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `std::intrinsics`: import this function via `std::ptr` instead
[INFO] [stderr]    --> src/block_mgr/block.rs:344:35
[INFO] [stderr]     |
[INFO] [stderr] 344 |         unsafe { std::intrinsics::copy(src, dst, region_end - region_start) };
[INFO] [stderr]     |                                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/log_mgr/buf.rs:112:52
[INFO] [stderr]     |
[INFO] [stderr] 112 |             let cur_acq_size = self.acquire_size.0.compare_and_swap(
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/log_mgr/buf.rs:182:52
[INFO] [stderr]     |
[INFO] [stderr] 182 |             let cur_acq_size = self.acquire_size.0.compare_and_swap(
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/storage/datastore.rs:445:29
[INFO] [stderr]     |
[INFO] [stderr] 445 |     fn add_fi_blocks(&self, mut block_id: &mut BlockId, fi_block_num: usize, stub_pin: &AtomicU64, f: &std::fs::File) -> Result<(), Error> {
[INFO] [stderr]     |                             ----^^^^^^^^
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/storage/datastore.rs:863:13
[INFO] [stderr]     |
[INFO] [stderr] 863 |         let mut desc = xlock.get_mut(&file_id).unwrap();
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/storage/datastore.rs:869:13
[INFO] [stderr]     |
[INFO] [stderr] 869 |         let mut desc = xlock.get_mut(&file_id).unwrap();
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/storage/block_driver.rs:731:26
[INFO] [stderr]     |
[INFO] [stderr] 731 |     pub fn replay(&self, mut rs: &mut ReplayState, data: &[u8]) -> Result<(), Error> {
[INFO] [stderr]     |                          ----^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `write_ready` is never read
[INFO] [stderr]   --> src/buf_mgr/buf_writer.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub struct BufWriter {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 32 |     write_ready:        SyncNotification<usize>,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BufWriter` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Metrics` is never constructed
[INFO] [stderr]    --> src/log_mgr/buf.rs:243:12
[INFO] [stderr]     |
[INFO] [stderr] 243 | pub struct Metrics {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_extent_bit` is never used
[INFO] [stderr]    --> src/block_mgr/free_info.rs:121:12
[INFO] [stderr]     |
[INFO] [stderr] 36  | impl FreeInfo {
[INFO] [stderr]     | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 121 |     pub fn set_extent_bit(&self, file_id: u16, extent_id: u16, set: bool) -> Result<(), Error> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `used_iter` is never used
[INFO] [stderr]    --> src/block_mgr/free_info.rs:321:12
[INFO] [stderr]     |
[INFO] [stderr] 305 | impl FiData {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 321 |     pub fn used_iter(&self) -> FiDataIter {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/block_mgr/block.rs:25:10
[INFO] [stderr]    |
[INFO] [stderr] 25 |     Read(RwLockReadGuard<'a, ()>),
[INFO] [stderr]    |     ---- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 25 -     Read(RwLockReadGuard<'a, ()>),
[INFO] [stderr] 25 +     Read(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/block_mgr/block.rs:26:11
[INFO] [stderr]    |
[INFO] [stderr] 26 |     Write(RwLockWriteGuard<'a, ()>),
[INFO] [stderr]    |     ----- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 26 -     Write(RwLockWriteGuard<'a, ()>),
[INFO] [stderr] 26 +     Write(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_crc` is never used
[INFO] [stderr]   --> src/block_mgr/block.rs:88:8
[INFO] [stderr]    |
[INFO] [stderr] 86 | pub trait BasicBlock {
[INFO] [stderr]    |           ---------- method in this trait
[INFO] [stderr] 87 |
[INFO] [stderr] 88 |     fn get_crc(&self) -> u32;
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `delete_entry` is never used
[INFO] [stderr]    --> src/block_mgr/block.rs:276:12
[INFO] [stderr]     |
[INFO] [stderr] 131 | impl<'a> DataBlock<'a> {
[INFO] [stderr]     | ---------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 276 |     pub fn delete_entry(&mut self, entry_id: u16) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `mark_extent_full` and `set_free_info_free` are never used
[INFO] [stderr]    --> src/block_mgr/allocator.rs:93:12
[INFO] [stderr]     |
[INFO] [stderr] 37  | impl BlockAllocator {
[INFO] [stderr]     | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 93  |     pub fn mark_extent_full(&self, file_id: u16, extent_id: u16) -> Result<(), Error> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 127 |     pub fn set_free_info_free(&self, block_id: &BlockId) -> Result<(), Error> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/buf_mgr/buf_mgr.rs:182:25
[INFO] [stderr]     |
[INFO] [stderr] 182 |     pub fn get_block<Q>(&self, block_id: &BlockId) -> Option<(Pinned<BlockArea>, usize)>
[INFO] [stderr]     |                         ^^^^^                                 ----------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 182 |     pub fn get_block<Q>(&self, block_id: &BlockId) -> Option<(Pinned<'_, BlockArea>, usize)>
[INFO] [stderr]     |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/buf_mgr/buf_mgr.rs:208:33
[INFO] [stderr]     |
[INFO] [stderr] 208 |     pub fn allocate_on_cache<Q>(&self, block_id: &BlockId, block_type: BlockType) -> Option<(Pinned<BlockArea>, usize)>
[INFO] [stderr]     |                                 ^^^^^ this lifetime flows to the output                      ----------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 208 |     pub fn allocate_on_cache<Q>(&self, block_id: &BlockId, block_type: BlockType) -> Option<(Pinned<'_, BlockArea>, usize)>
[INFO] [stderr]     |                                                                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/buf_mgr/buf_mgr.rs:231:29
[INFO] [stderr]     |
[INFO] [stderr] 231 |     pub fn get_block_by_idx(&self, idx: usize) -> Option<Pinned<BlockArea>> {
[INFO] [stderr]     |                             ^^^^^                        ----------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 231 |     pub fn get_block_by_idx(&self, idx: usize) -> Option<Pinned<'_, BlockArea>> {
[INFO] [stderr]     |                                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/buf_mgr/buf_mgr.rs:303:22
[INFO] [stderr]     |
[INFO] [stderr] 303 | ...n_map<Q>(&self, mut block_map: RwLockWriteGuard<HashMap<BlockId, I>>, val: I, block_type: BlockType) -> (Pinned<BlockArea>, usize)
[INFO] [stderr]     |             ^^^^^ this lifetime flows to the output                                                         ----------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 303 |     fn put_on_map<Q>(&self, mut block_map: RwLockWriteGuard<HashMap<BlockId, I>>, val: I, block_type: BlockType) -> (Pinned<'_, BlockArea>, usize)
[INFO] [stderr]     |                                                                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/buf_mgr/buf_mgr.rs:365:16
[INFO] [stderr]     |
[INFO] [stderr] 365 |     fn try_pin(&self, buf_idx: usize) -> Option<Pinned<BlockArea>> {
[INFO] [stderr]     |                ^^^^^                            ----------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                |
[INFO] [stderr]     |                this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 365 |     fn try_pin(&self, buf_idx: usize) -> Option<Pinned<'_, BlockArea>> {
[INFO] [stderr]     |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/common/intercom.rs:31:21
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<T>
[INFO] [stderr]    |                     ^^^^^ this lifetime flows to the output             ------------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub fn wait_for(&self, check_cond: &mut (dyn FnMut(&T) -> bool)) -> MutexGuard<'_, T>
[INFO] [stderr]    |                                                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/common/intercom.rs:58:35
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn wait_for_interruptable(&self, 
[INFO] [stderr]    |                                   ^^^^^ this lifetime flows to the output
[INFO] [stderr] ...
[INFO] [stderr] 62 |                                   ) -> Option<MutexGuard<T>> where T: PartialEq 
[INFO] [stderr]    |                                               ------------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 62 |                                   ) -> Option<MutexGuard<'_, T>> where T: PartialEq 
[INFO] [stderr]    |                                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/common/intercom.rs:181:22
[INFO] [stderr]     |
[INFO] [stderr] 181 |     pub fn read_lock(&self) -> ReadLockLwGuard<T> {
[INFO] [stderr]     |                      ^^^^^     ------------------ the lifetime gets resolved as `'_`
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 181 |     pub fn read_lock(&self) -> ReadLockLwGuard<'_, T> {
[INFO] [stderr]     |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/common/intercom.rs:196:23
[INFO] [stderr]     |
[INFO] [stderr] 196 |     pub fn write_lock(&self) -> WriteLockLwGuard<T> {
[INFO] [stderr]     |                       ^^^^^     ------------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 196 |     pub fn write_lock(&self) -> WriteLockLwGuard<'_, T> {
[INFO] [stderr]     |                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/log_mgr/buf.rs:298:20
[INFO] [stderr]     |
[INFO] [stderr] 298 |     fn try_reserve(&self, buf_id: usize, reserve_size: usize, relaxed: bool) -> Option<Slice<T>> {
[INFO] [stderr]     |                    ^^^^^ this lifetime flows to the output                             -------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 298 |     fn try_reserve(&self, buf_id: usize, reserve_size: usize, relaxed: bool) -> Option<Slice<'_, T>> {
[INFO] [stderr]     |                                                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/log_mgr/buf.rs:322:26
[INFO] [stderr]     |
[INFO] [stderr] 322 |     pub fn reserve_slice(&self, reserve_size: usize, relaxed: bool) -> Result<Slice<T>, ()> {
[INFO] [stderr]     |                          ^^^^^ this lifetime flows to the output              -------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 322 |     pub fn reserve_slice(&self, reserve_size: usize, relaxed: bool) -> Result<Slice<'_, T>, ()> {
[INFO] [stderr]     |                                                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/log_mgr/fs.rs:189:26
[INFO] [stderr]     |
[INFO] [stderr] 189 |     pub fn get_for_write(&self, reserve_size: usize) -> Result<Slice<u8>, ()> {
[INFO] [stderr]     |                          ^^^^^                                 --------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 189 |     pub fn get_for_write(&self, reserve_size: usize) -> Result<Slice<'_, u8>, ()> {
[INFO] [stderr]     |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/storage/datastore.rs:181:23
[INFO] [stderr]     |
[INFO] [stderr] 181 |     pub fn load_block(&self, block_id: &BlockId, file_state: FileState) -> Result<Ref<BlockArea>, Error> {
[INFO] [stderr]     |                       ^^^^^ this lifetime flows to the output                     -------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 181 |     pub fn load_block(&self, block_id: &BlockId, file_state: FileState) -> Result<Ref<'_, BlockArea>, Error> {
[INFO] [stderr]     |                                                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stderr]    --> src/storage/datastore.rs:764:9
[INFO] [stderr]     |
[INFO] [stderr] 764 |         drop(v);
[INFO] [stderr]     |         ^^^^^-^
[INFO] [stderr]     |              |
[INFO] [stderr]     |              argument has type `()`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]     |
[INFO] [stderr] 764 -         drop(v);
[INFO] [stderr] 764 +         let _ = v;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/storage/datastore.rs:875:18
[INFO] [stderr]     |
[INFO] [stderr] 875 |     fn lock_file(&self, file_id: u16) -> Option<RwLockReadGuard<HashMap<u16, Mutex<()>>>> {
[INFO] [stderr]     |                  ^^^^^                          ---------------------------------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 875 |     fn lock_file(&self, file_id: u16) -> Option<RwLockReadGuard<'_, HashMap<u16, Mutex<()>>>> {
[INFO] [stderr]     |                                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/storage/block_driver.rs:461:27
[INFO] [stderr]     |
[INFO] [stderr] 461 |     fn find_entry_version(&self, c: &Cursor) -> Result<(BlockLocked<DataBlock>, u16, bool), Error> {
[INFO] [stderr]     |                           ^^^^^                         ----------------------
[INFO] [stderr]     |                           |                             |           |
[INFO] [stderr]     |                           |                             |           the lifetimes get resolved as `'_`
[INFO] [stderr]     |                           |                             the lifetimes get resolved as `'_`
[INFO] [stderr]     |                           this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 461 |     fn find_entry_version(&self, c: &Cursor) -> Result<(BlockLocked<'_, DataBlock<'_>>, u16, bool), Error> {
[INFO] [stderr]     |                                                                     +++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/storage/block_driver.rs:625:22
[INFO] [stderr]     |
[INFO] [stderr] 625 |     fn get_block_mut(&self, block_id: &BlockId) -> Result<(BlockLockedMut<DataBlock>, u64), Error> {
[INFO] [stderr]     |                      ^^^^^                                 -------------------------
[INFO] [stderr]     |                      |                                     |              |
[INFO] [stderr]     |                      |                                     |              the lifetimes get resolved as `'_`
[INFO] [stderr]     |                      |                                     the lifetimes get resolved as `'_`
[INFO] [stderr]     |                      this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 625 |     fn get_block_mut(&self, block_id: &BlockId) -> Result<(BlockLockedMut<'_, DataBlock<'_>>, u64), Error> {
[INFO] [stderr]     |                                                                           +++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/storage/block_driver.rs:643:21
[INFO] [stderr]     |
[INFO] [stderr] 643 |     fn get_free_mut(&self, file_id: u16, requested_size: usize) -> Result<(BlockLockedMut<DataBlock>, u64), Error> {
[INFO] [stderr]     |                     ^^^^^                                                  -------------------------
[INFO] [stderr]     |                     |                                                      |              |
[INFO] [stderr]     |                     |                                                      |              the lifetimes get resolved as `'_`
[INFO] [stderr]     |                     this lifetime flows to the output                      the lifetimes get resolved as `'_`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 643 |     fn get_free_mut(&self, file_id: u16, requested_size: usize) -> Result<(BlockLockedMut<'_, DataBlock<'_>>, u64), Error> {
[INFO] [stderr]     |                                                                                           +++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/storage/checkpoint_store.rs:62:21
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn get_iter(&self, checkpoint_csn: u64) -> Result<Iterator, Error> {
[INFO] [stderr]    |                     ^^^^^                                 -------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn get_iter(&self, checkpoint_csn: u64) -> Result<Iterator<'_>, Error> {
[INFO] [stderr]    |                                                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/storage/checkpoint_store.rs:91:21
[INFO] [stderr]    |
[INFO] [stderr] 91 |     pub fn get_next(&mut self) -> Result<Option<(BlockId, DataBlock)>, Error> {
[INFO] [stderr]    |                     ^^^^^^^^^                             --------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 91 |     pub fn get_next(&mut self) -> Result<Option<(BlockId, DataBlock<'_>)>, Error> {
[INFO] [stderr]    |                                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/storage/version_store.rs:122:30
[INFO] [stderr]     |
[INFO] [stderr] 122 |     pub fn get_iter_for_tran(&self, tsn: u64) -> Result<Iterator, Error> {
[INFO] [stderr]     |                              ^^^^^                      -------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 122 |     pub fn get_iter_for_tran(&self, tsn: u64) -> Result<Iterator<'_>, Error> {
[INFO] [stderr]     |                                                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/storage/version_store.rs:252:33
[INFO] [stderr]     |
[INFO] [stderr] 252 |     pub fn get_next_entry_block(&mut self, entry_size: usize, trn_repo: &TrnRepo) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stderr]     |                                 ^^^^^^^^^                                                   -------------------------
[INFO] [stderr]     |                                 |                                                           |              |
[INFO] [stderr]     |                                 |                                                           |              the lifetimes get resolved as `'_`
[INFO] [stderr]     |                                 this lifetime flows to the output                           the lifetimes get resolved as `'_`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 252 |     pub fn get_next_entry_block(&mut self, entry_size: usize, trn_repo: &TrnRepo) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stderr]     |                                                                                                            +++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/system/instance.rs:88:30
[INFO] [stderr]    |
[INFO] [stderr] 88 |     pub fn begin_transaction(&self) -> Result<Transaction, Error> {
[INFO] [stderr]    |                              ^^^^^            ----------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 88 |     pub fn begin_transaction(&self) -> Result<Transaction<'_>, Error> {
[INFO] [stderr]    |                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/system/instance.rs:126:22
[INFO] [stderr]     |
[INFO] [stderr] 126 |     pub fn open_read(&self, obj_id: &ObjectId, t: &Transaction) -> Result<Object, Error> {
[INFO] [stderr]     |                      ^^^^^ this lifetime flows to the output              ------ the lifetime gets resolved as `'_`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 126 |     pub fn open_read(&self, obj_id: &ObjectId, t: &Transaction) -> Result<Object<'_>, Error> {
[INFO] [stderr]     |                                                                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/system/instance.rs:141:28
[INFO] [stderr]     |
[INFO] [stderr] 141 |     pub fn open_write<'a>(&'a self, obj_id: &ObjectId, t: &'a mut Transaction, timeout: i64) -> Result<ObjectWrite, Error> {
[INFO] [stderr]     |                            ^^                              ^^ these lifetimes flow to the output       ----------- the lifetime gets resolved as `'a`
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            these lifetimes flow to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 141 |     pub fn open_write<'a>(&'a self, obj_id: &ObjectId, t: &'a mut Transaction, timeout: i64) -> Result<ObjectWrite<'a>, Error> {
[INFO] [stderr]     |                                                                                                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/system/instance.rs:173:29
[INFO] [stderr]     |
[INFO] [stderr] 173 |     pub fn open_create<'a>(&'a self, file_id: u16, t: &'a mut Transaction, initial_size: usize) -> Result<ObjectWrite, Error> {
[INFO] [stderr]     |                             ^^                         ^^ these lifetimes flow to the output              ----------- the lifetime gets resolved as `'a`
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             these lifetimes flow to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 173 |     pub fn open_create<'a>(&'a self, file_id: u16, t: &'a mut Transaction, initial_size: usize) -> Result<ObjectWrite<'a>, Error> {
[INFO] [stderr]     |                                                                                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/system/config.rs:28:21
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub fn get_conf(&self) -> MutexGuard<Config> {
[INFO] [stderr]    |                     ^^^^^     ------------------ the lifetime gets resolved as `'_`
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub fn get_conf(&self) -> MutexGuard<'_, Config> {
[INFO] [stderr]    |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/block_mgr/block_mgr.rs:70:22
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub fn get_block(&self, block_id: &BlockId) -> Result<BlockLocked<DataBlock>, Error> {
[INFO] [stderr]    |                      ^^^^^                                ----------------------
[INFO] [stderr]    |                      |                                    |           |
[INFO] [stderr]    |                      |                                    |           the lifetimes get resolved as `'_`
[INFO] [stderr]    |                      |                                    the lifetimes get resolved as `'_`
[INFO] [stderr]    |                      this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub fn get_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, DataBlock<'_>>, Error> {
[INFO] [stderr]    |                                                                       +++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/block_mgr/block_mgr.rs:75:33
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub fn get_versioning_block(&self, block_id: &BlockId) -> Result<BlockLocked<DataBlock>, Error> {
[INFO] [stderr]    |                                 ^^^^^                                ----------------------
[INFO] [stderr]    |                                 |                                    |           |
[INFO] [stderr]    |                                 |                                    |           the lifetimes get resolved as `'_`
[INFO] [stderr]    |                                 |                                    the lifetimes get resolved as `'_`
[INFO] [stderr]    |                                 this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub fn get_versioning_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, DataBlock<'_>>, Error> {
[INFO] [stderr]    |                                                                                  +++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/block_mgr/block_mgr.rs:80:34
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn get_file_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<FileHeaderBlock>, Error> {
[INFO] [stderr]    |                                  ^^^^^                                ----------------------------
[INFO] [stderr]    |                                  |                                    |           |
[INFO] [stderr]    |                                  |                                    |           the lifetimes get resolved as `'_`
[INFO] [stderr]    |                                  |                                    the lifetimes get resolved as `'_`
[INFO] [stderr]    |                                  this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn get_file_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, FileHeaderBlock<'_>>, Error> {
[INFO] [stderr]    |                                                                                   +++                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/block_mgr/block_mgr.rs:85:36
[INFO] [stderr]    |
[INFO] [stderr] 85 |     pub fn get_extent_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<ExtentHeaderBlock>, Error> {
[INFO] [stderr]    |                                    ^^^^^                                ------------------------------
[INFO] [stderr]    |                                    |                                    |           |
[INFO] [stderr]    |                                    |                                    |           the lifetimes get resolved as `'_`
[INFO] [stderr]    |                                    |                                    the lifetimes get resolved as `'_`
[INFO] [stderr]    |                                    this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 85 |     pub fn get_extent_header_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, ExtentHeaderBlock<'_>>, Error> {
[INFO] [stderr]    |                                                                                     +++                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/block_mgr/block_mgr.rs:91:32
[INFO] [stderr]    |
[INFO] [stderr] 91 |     pub fn get_free_info_block(&self, block_id: &BlockId) -> Result<BlockLocked<FreeInfoBlock>, Error> {
[INFO] [stderr]    |                                ^^^^^                                --------------------------
[INFO] [stderr]    |                                |                                    |           |
[INFO] [stderr]    |                                |                                    |           the lifetimes get resolved as `'_`
[INFO] [stderr]    |                                |                                    the lifetimes get resolved as `'_`
[INFO] [stderr]    |                                this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 91 |     pub fn get_free_info_block(&self, block_id: &BlockId) -> Result<BlockLocked<'_, FreeInfoBlock<'_>>, Error> {
[INFO] [stderr]    |                                                                                 +++              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/block_mgr/block_mgr.rs:97:26
[INFO] [stderr]    |
[INFO] [stderr] 97 |     pub fn get_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stderr]    |                          ^^^^^                                -------------------------
[INFO] [stderr]    |                          |                                    |              |
[INFO] [stderr]    |                          |                                    |              the lifetimes get resolved as `'_`
[INFO] [stderr]    |                          |                                    the lifetimes get resolved as `'_`
[INFO] [stderr]    |                          this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 97 |     pub fn get_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stderr]    |                                                                              +++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block_mgr.rs:102:37
[INFO] [stderr]     |
[INFO] [stderr] 102 |     pub fn get_versioning_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stderr]     |                                     ^^^^^                                -------------------------
[INFO] [stderr]     |                                     |                                    |              |
[INFO] [stderr]     |                                     |                                    |              the lifetimes get resolved as `'_`
[INFO] [stderr]     |                                     |                                    the lifetimes get resolved as `'_`
[INFO] [stderr]     |                                     this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 102 |     pub fn get_versioning_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stderr]     |                                                                                         +++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block_mgr.rs:107:38
[INFO] [stderr]     |
[INFO] [stderr] 107 |     pub fn get_file_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<FileHeaderBlock>, Error> {
[INFO] [stderr]     |                                      ^^^^^                                -------------------------------
[INFO] [stderr]     |                                      |                                    |              |
[INFO] [stderr]     |                                      |                                    |              the lifetimes get resolved as `'_`
[INFO] [stderr]     |                                      |                                    the lifetimes get resolved as `'_`
[INFO] [stderr]     |                                      this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 107 |     pub fn get_file_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, FileHeaderBlock<'_>>, Error> {
[INFO] [stderr]     |                                                                                          +++                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block_mgr.rs:112:40
[INFO] [stderr]     |
[INFO] [stderr] 112 |     pub fn get_extent_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<ExtentHeaderBlock>, Error> {
[INFO] [stderr]     |                                        ^^^^^                                ---------------------------------
[INFO] [stderr]     |                                        |                                    |              |
[INFO] [stderr]     |                                        |                                    |              the lifetimes get resolved as `'_`
[INFO] [stderr]     |                                        |                                    the lifetimes get resolved as `'_`
[INFO] [stderr]     |                                        this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 112 |     pub fn get_extent_header_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, ExtentHeaderBlock<'_>>, Error> {
[INFO] [stderr]     |                                                                                            +++                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block_mgr.rs:118:36
[INFO] [stderr]     |
[INFO] [stderr] 118 |     pub fn get_free_info_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<FreeInfoBlock>, Error> {
[INFO] [stderr]     |                                    ^^^^^                                -----------------------------
[INFO] [stderr]     |                                    |                                    |              |
[INFO] [stderr]     |                                    |                                    |              the lifetimes get resolved as `'_`
[INFO] [stderr]     |                                    |                                    the lifetimes get resolved as `'_`
[INFO] [stderr]     |                                    this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 118 |     pub fn get_free_info_block_mut(&self, block_id: &BlockId) -> Result<BlockLockedMut<'_, FreeInfoBlock<'_>>, Error> {
[INFO] [stderr]     |                                                                                        +++              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block_mgr.rs:124:34
[INFO] [stderr]     |
[INFO] [stderr] 124 |     pub fn get_block_mut_no_lock(&self, block_id: &BlockId) -> Result<DataBlock, Error> {
[INFO] [stderr]     |                                  ^^^^^                                --------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 124 |     pub fn get_block_mut_no_lock(&self, block_id: &BlockId) -> Result<DataBlock<'_>, Error> {
[INFO] [stderr]     |                                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block_mgr.rs:129:48
[INFO] [stderr]     |
[INFO] [stderr] 129 |     pub fn get_extent_header_block_mut_no_lock(&self, block_id: &BlockId) -> Result<ExtentHeaderBlock, Error> {
[INFO] [stderr]     |                                                ^^^^^                                ----------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                                                |
[INFO] [stderr]     |                                                this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 129 |     pub fn get_extent_header_block_mut_no_lock(&self, block_id: &BlockId) -> Result<ExtentHeaderBlock<'_>, Error> {
[INFO] [stderr]     |                                                                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block_mgr.rs:135:35
[INFO] [stderr]     |
[INFO] [stderr] 135 | ...>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, lock_type: usize) -> Result<BlockLocked<T>, E...
[INFO] [stderr]     |       ^^ these lifetimes flow to the output                            ^^ these lifetimes flow to the output             -------------- the lifetime gets resolved as `'b`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to consistently use `'b`
[INFO] [stderr]     |
[INFO] [stderr] 135 |     fn get_block_for_read<'b, T>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, lock_type: usize) -> Result<BlockLocked<'b, T>, Error> 
[INFO] [stderr]     |                                                                                                                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block_mgr.rs:161:40
[INFO] [stderr]     |
[INFO] [stderr] 161 | ...>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, try_lock: bool, lock_type: usize) -> Result<BlockLockedMut<T>, E...
[INFO] [stderr]     |       ^^ these lifetimes flow to the output                            ^^ these lifetimes flow to the output                             ----------------- the lifetime gets resolved as `'b`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to consistently use `'b`
[INFO] [stderr]     |
[INFO] [stderr] 161 |     pub fn get_block_for_write<'b, T>(&'b self, block_id: &BlockId, init_fun: fn(BlockId, usize, Pinned<'b, BlockArea>) -> T, try_lock: bool, lock_type: usize) -> Result<BlockLockedMut<'b, T>, Error>
[INFO] [stderr]     |                                                                                                                                                                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block_mgr.rs:215:21
[INFO] [stderr]     |
[INFO] [stderr] 215 |     pub fn get_iter(&self) -> BlockIterator {
[INFO] [stderr]     |                     ^^^^^     ------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 215 |     pub fn get_iter(&self) -> BlockIterator<'_> {
[INFO] [stderr]     |                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block_mgr.rs:220:29
[INFO] [stderr]     |
[INFO] [stderr] 220 |     pub fn get_block_by_idx(&self, id: usize, block_id: BlockId, block_type: BlockType) -> Option<BlockLockedMut<DataBlock>> {
[INFO] [stderr]     |                             ^^^^^                                                                 -------------------------
[INFO] [stderr]     |                             |                                                                     |              |
[INFO] [stderr]     |                             |                                                                     |              the lifetimes get resolved as `'_`
[INFO] [stderr]     |                             this lifetime flows to the output                                     the lifetimes get resolved as `'_`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 220 |     pub fn get_block_by_idx(&self, id: usize, block_id: BlockId, block_type: BlockType) -> Option<BlockLockedMut<'_, DataBlock<'_>>> {
[INFO] [stderr]     |                                                                                                                  +++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block_mgr.rs:238:26
[INFO] [stderr]     |
[INFO] [stderr] 238 |     fn allocate_on_cache(&self, block_id: BlockId, block_type: BlockType) -> (Pinned<BlockArea>, usize) {
[INFO] [stderr]     |                          ^^^^^ this lifetime flows to the output              ----------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 238 |     fn allocate_on_cache(&self, block_id: BlockId, block_type: BlockType) -> (Pinned<'_, BlockArea>, usize) {
[INFO] [stderr]     |                                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block_mgr.rs:251:42
[INFO] [stderr]     |
[INFO] [stderr] 251 |     pub fn allocate_on_cache_mut_no_lock(&self, block_id: BlockId, block_type: BlockType) -> Result<DataBlock, Error> {
[INFO] [stderr]     |                                          ^^^^^ this lifetime flows to the output                    --------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 251 |     pub fn allocate_on_cache_mut_no_lock(&self, block_id: BlockId, block_type: BlockType) -> Result<DataBlock<'_>, Error> {
[INFO] [stderr]     |                                                                                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/free_info.rs:321:22
[INFO] [stderr]     |
[INFO] [stderr] 321 |     pub fn used_iter(&self) -> FiDataIter {
[INFO] [stderr]     |                      ^^^^^     ---------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 321 |     pub fn used_iter(&self) -> FiDataIter<'_> {
[INFO] [stderr]     |                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/free_info.rs:329:22
[INFO] [stderr]     |
[INFO] [stderr] 329 |     pub fn free_iter(&self) -> FiDataIter {
[INFO] [stderr]     |                      ^^^^^     ---------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 329 |     pub fn free_iter(&self) -> FiDataIter<'_> {
[INFO] [stderr]     |                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/block_mgr/block.rs:64:19
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub fn immut(&'a self) -> &BlockLocked<'a, T> {
[INFO] [stderr]    |                   ^^          -------------------
[INFO] [stderr]    |                   |           |            |
[INFO] [stderr]    |                   |           |            the lifetimes get resolved as `'a`
[INFO] [stderr]    |                   |           the lifetimes get resolved as `'a`
[INFO] [stderr]    |                   this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub fn immut(&'a self) -> &'a BlockLocked<'a, T> {
[INFO] [stderr]    |                                ++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block.rs:143:22
[INFO] [stderr]     |
[INFO] [stderr] 143 |     pub fn get_entry(&self, entry_id: u16) -> Result<DataBlockEntry, Error> {
[INFO] [stderr]     |                      ^^^^^                           -------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 143 |     pub fn get_entry(&self, entry_id: u16) -> Result<DataBlockEntry<'_>, Error> {
[INFO] [stderr]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] running 21 tests
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block.rs:159:26
[INFO] [stderr]     |
[INFO] [stderr] 159 |     pub fn get_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryMut, Error> {
[INFO] [stderr]     |                          ^^^^^^^^^                           ----------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 159 |     pub fn get_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryMut<'_>, Error> {
[INFO] [stderr]     |                                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block.rs:185:22
[INFO] [stderr]     |
[INFO] [stderr] 185 |     pub fn add_entry(&mut self, size: usize) -> DataBlockEntryMut {
[INFO] [stderr]     |                      ^^^^^^^^^                  ----------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 185 |     pub fn add_entry(&mut self, size: usize) -> DataBlockEntryMut<'_> {
[INFO] [stderr]     |                                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block.rs:194:30
[INFO] [stderr]     |
[INFO] [stderr] 194 |     pub fn add_version_entry(&mut self, size: usize) -> DataBlockEntryVerMut {
[INFO] [stderr]     |                              ^^^^^^^^^                  -------------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 194 |     pub fn add_version_entry(&mut self, size: usize) -> DataBlockEntryVerMut<'_> {
[INFO] [stderr]     |                                                                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block.rs:209:25
[INFO] [stderr]     |
[INFO] [stderr] 209 |     pub fn extend_entry(&mut self, entry_id: u16, extend_size: usize) -> Result<DataBlockEntryMut, Error> {
[INFO] [stderr]     |                         ^^^^^^^^^ this lifetime flows to the output             ----------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 209 |     pub fn extend_entry(&mut self, entry_id: u16, extend_size: usize) -> Result<DataBlockEntryMut<'_>, Error> {
[INFO] [stderr]     |                                                                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block.rs:227:30
[INFO] [stderr]     |
[INFO] [stderr] 227 |     pub fn get_version_entry(&self, entry_id: u16) -> Result<DataBlockEntryVer, Error> {
[INFO] [stderr]     |                              ^^^^^                           ----------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 227 |     pub fn get_version_entry(&self, entry_id: u16) -> Result<DataBlockEntryVer<'_>, Error> {
[INFO] [stderr]     |                                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block.rs:239:34
[INFO] [stderr]     |
[INFO] [stderr] 239 |     pub fn get_version_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryVerMut, Error> {
[INFO] [stderr]     |                                  ^^^^^^^^^                           -------------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 239 |     pub fn get_version_entry_mut(&mut self, entry_id: u16) -> Result<DataBlockEntryVerMut<'_>, Error> {
[INFO] [stderr]     |                                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/block.rs:573:18
[INFO] [stderr]     |
[INFO] [stderr] 573 |     pub fn immut(&self) -> DataBlockEntry {
[INFO] [stderr]     |                  ^^^^^     -------------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 573 |     pub fn immut(&self) -> DataBlockEntry<'_> {
[INFO] [stderr]     |                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/block_mgr/allocator.rs:84:21
[INFO] [stderr]    |
[INFO] [stderr] 84 |     pub fn get_free(&self, file_id: u16) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stderr]    |                     ^^^^^                          -------------------------
[INFO] [stderr]    |                     |                              |              |
[INFO] [stderr]    |                     |                              |              the lifetimes get resolved as `'_`
[INFO] [stderr]    |                     |                              the lifetimes get resolved as `'_`
[INFO] [stderr]    |                     this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 84 |     pub fn get_free(&self, file_id: u16) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stderr]    |                                                                   +++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/block_mgr/allocator.rs:98:27
[INFO] [stderr]    |
[INFO] [stderr] 98 |     pub fn allocate_block(&self, file_id: u16) -> Result<BlockLockedMut<DataBlock>, Error> {
[INFO] [stderr]    |                           ^^^^^                          -------------------------
[INFO] [stderr]    |                           |                              |              |
[INFO] [stderr]    |                           |                              |              the lifetimes get resolved as `'_`
[INFO] [stderr]    |                           |                              the lifetimes get resolved as `'_`
[INFO] [stderr]    |                           this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 98 |     pub fn allocate_block(&self, file_id: u16) -> Result<BlockLockedMut<'_, DataBlock<'_>>, Error> {
[INFO] [stderr]    |                                                                         +++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/allocator.rs:136:38
[INFO] [stderr]     |
[INFO] [stderr] 136 |     pub fn get_free_checkpoint_block(&self, checkpoint_csn: u64) -> Result<DataBlock, Error> {
[INFO] [stderr]     |                                      ^^^^^                                 --------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stdout] test block_mgr::block::tests::test_header_blocks ... ok
[INFO] [stderr] 136 |     pub fn get_free_checkpoint_block(&self, checkpoint_csn: u64) -> Result<DataBlock<'_>, Error> {
[INFO] [stderr]     |                                                                                     ++++
[INFO] [stderr] 
[INFO] [stdout] test block_mgr::block::tests::test_data_block ... ok
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/allocator.rs:198:24
[INFO] [stderr]     |
[INFO] [stderr] 198 |     fn find_free_block(&self, file_id: u16) -> Result<Option<BlockLockedMut<DataBlock>>, Error> {
[INFO] [stderr]     |                        ^^^^^                                 -------------------------
[INFO] [stderr]     |                        |                                     |              |
[INFO] [stderr]     |                        |                                     |              the lifetimes get resolved as `'_`
[INFO] [stderr]     |                        |                                     the lifetimes get resolved as `'_`
[INFO] [stderr]     |                        this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 198 |     fn find_free_block(&self, file_id: u16) -> Result<Option<BlockLockedMut<'_, DataBlock<'_>>>, Error> {
[INFO] [stderr]     |                                                                             +++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/block_mgr/allocator.rs:213:34
[INFO] [stderr]     |
[INFO] [stderr] 213 |     fn find_free_block_in_extent(&self, file_id: u16, extent_id: u16) -> Result<Option<BlockLockedMut<DataBlock>>, Error> {
[INFO] [stderr]     |                                  ^^^^^                                                 -------------------------
[INFO] [stderr]     |                                  |                                                     |              |
[INFO] [stderr]     |                                  |                                                     |              the lifetimes get resolved as `'_`
[INFO] [stderr]     |                                  this lifetime flows to the output                     the lifetimes get resolved as `'_`
[INFO] [stdout] test buf_mgr::buf_mgr::tests::test ... ok
[INFO] [stderr]     |
[INFO] [stdout] test common::misc::tests::run_conversions ... ok
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout] test buf_mgr::buf_mgr::tests::test_buf_mgr ... ok
[INFO] [stderr]     |
[INFO] [stdout] test log_mgr::buf::tests::zero_size ... ok
[INFO] [stderr] 213 |     fn find_free_block_in_extent(&self, file_id: u16, extent_id: u16) -> Result<Option<BlockLockedMut<'_, DataBlock<'_>>>, Error> {
[INFO] [stdout] test log_mgr::buf::tests::too_big_size ... ok
[INFO] [stderr]     |                                                                                                       +++          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `db-core` (lib) generated 96 warnings (run `cargo fix --lib -p db-core` to apply 8 suggestions)
[INFO] [stderr] warning: method `mark_extent_full` is never used
[INFO] [stderr]   --> src/block_mgr/allocator.rs:93:12
[INFO] [stderr]    |
[INFO] [stderr] 37 | impl BlockAllocator {
[INFO] [stderr]    | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 93 |     pub fn mark_extent_full(&self, file_id: u16, extent_id: u16) -> Result<(), Error> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]     --> src/block_mgr/block.rs:1128:9
[INFO] [stderr]      |
[INFO] [stderr] 1128 |         &mut entry4_buf.copy_from_slice(entry.data);
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stdout] test common::crc32::tests::test_crc32 ... ok
[INFO] [stderr] 1128 |         let _ = &mut entry4_buf.copy_from_slice(entry.data);
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `db-core` (lib test) generated 93 warnings (91 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/db_core-9553310228950db7)
[INFO] [stdout] test storage::fs_ops::tests::traverse_test ... FAILED
[INFO] [stdout] test block_mgr::allocator::tests::test_allocator ... ok
[INFO] [stdout] test log_mgr::log_mgr::tests::test_log_mgr ... ok
[INFO] [stdout] test log_mgr::fs::tests::test_file_stream ... ok
[INFO] [stdout] test block_mgr::block_mgr::tests::test_block_mgr ... ok
[INFO] [stdout] test tran_mgr::tran_mgr::tests::test_tran_mgr ... ok
[INFO] [stdout] test storage::version_store::tests::test_version_store ... ok
[INFO] [stdout] test block_mgr::free_info::tests::test_free_info ... ok
[INFO] [stdout] test storage::datastore::tests::test_datastore ... ok
[INFO] [stdout] test storage::block_driver::tests::test_block_driver ... ok
[INFO] [stdout] test system::instance::tests::test_instance ... ok
[INFO] [stdout] test buf_mgr::buf_writer::tests::test_buf_writer ... ok
[INFO] [stdout] test storage::checkpoint_store::tests::test_checkpoint_store ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- storage::fs_ops::tests::traverse_test stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'storage::fs_ops::tests::traverse_test' panicked at src/storage/fs_ops.rs:48:43:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5db3c5c8d452 - std::backtrace_rs::backtrace::libunwind::trace::h73a647620bf1c49d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5db3c5c8d452 - std::backtrace_rs::backtrace::trace_unsynchronized::hd4d513ed96cb3cb1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5db3c5c8d452 - std::sys::backtrace::_print_fmt::h61bb95f7476aafa5
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5db3c5c8d452 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha2e7e3a01df69042
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5db3c5cb3c43 - core::fmt::rt::Argument::fmt::hf14163372f0f9a76
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5db3c5cb3c43 - core::fmt::write::h7cb8f63788cd01d2
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x5db3c5c89f23 - std::io::default_write_fmt::h9ed739ccee8a150c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5db3c5c89f23 - std::io::Write::write_fmt::h1c0a32da913b32f1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5db3c5c8d2a2 - std::sys::backtrace::BacktraceLock::print::h3ec4d7883eb25e61
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5db3c5c8ed0c - std::panicking::default_hook::{{closure}}::h29548987efd832cb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x5db3c5c8eb62 - std::panicking::default_hook::ha25170a15c643514
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x5db3c5c55614 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h562adeecbf43c420
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x5db3c5c55614 - test::test_main_with_exit_callback::{{closure}}::h97dd2a879d27e0e4
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5db3c5c8f7eb - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7e85cbdbda26fdb7
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x5db3c5c8f7eb - std::panicking::rust_panic_with_hook::h0d81afcd829aa24b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x5db3c5c8f4ba - std::panicking::begin_panic_handler::{{closure}}::hc84a33f1202346cf
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:706:13
[INFO] [stdout]   16:     0x5db3c5c8d949 - std::sys::backtrace::__rust_end_short_backtrace::h373067a14f6c59aa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x5db3c5c8f14d - __rustc[beb0385846a06d21]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x5db3c5cb2750 - core::panicking::panic_fmt::ha33fa2ae772efba9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x5db3c5cb2af6 - core::result::unwrap_failed::hfbbd3c78a73fea3d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1761:5
[INFO] [stdout]   20:     0x5db3c5c18459 - core::result::Result<T,E>::unwrap::h7de8fb836971ff6d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1167:23
[INFO] [stdout]   21:     0x5db3c5c18459 - db_core::storage::fs_ops::tests::prepare_dir_tree::ha06578338fda50a6
[INFO] [stdout]                                at /opt/rustwide/workdir/src/storage/fs_ops.rs:48:43
[INFO] [stdout]   22:     0x5db3c5c18459 - db_core::storage::fs_ops::tests::traverse_test::he338090433903036
[INFO] [stdout]                                at /opt/rustwide/workdir/src/storage/fs_ops.rs:74:9
[INFO] [stdout]   23:     0x5db3c5bee979 - db_core::storage::fs_ops::tests::traverse_test::{{closure}}::h65dd28956fed3c80
[INFO] [stdout]                                at /opt/rustwide/workdir/src/storage/fs_ops.rs:65:23
[INFO] [stdout]   24:     0x5db3c5bee979 - core::ops::function::FnOnce::call_once::h8557999fd79a579b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5db3c5c5ad4b - core::ops::function::FnOnce::call_once::hf84b9c3d864a6959
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5db3c5c5ad4b - test::__rust_begin_short_backtrace::h5724e31441c16fcb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:648:18
[INFO] [stdout]   27:     0x5db3c5c59f8e - test::run_test_in_process::{{closure}}::hbc28c9aa91793d7d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:74
[INFO] [stdout]   28:     0x5db3c5c59f8e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc17b0e238c0f8f3e
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x5db3c5c59f8e - std::panicking::catch_unwind::do_call::hcdbce0d6dd6c83ce
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   30:     0x5db3c5c59f8e - std::panicking::catch_unwind::h9477967ceea044e8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   31:     0x5db3c5c59f8e - std::panic::catch_unwind::h616a2e249da12e16
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5db3c5c59f8e - test::run_test_in_process::h2758deb0f2e54430
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:27
[INFO] [stdout]   33:     0x5db3c5c59f8e - test::run_test::{{closure}}::habe5cd2564b18aaa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:592:43
[INFO] [stdout]   34:     0x5db3c5c1db34 - test::run_test::{{closure}}::h9a0a6928f1a15421
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:622:41
[INFO] [stdout]   35:     0x5db3c5c1db34 - std::sys::backtrace::__rust_begin_short_backtrace::hd68b5332434a22ca
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   36:     0x5db3c5c214da - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h264ddcc3098eacae
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   37:     0x5db3c5c214da - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9fa39489749d6f3c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x5db3c5c214da - std::panicking::catch_unwind::do_call::hb9a1944b9f85100f
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   39:     0x5db3c5c214da - std::panicking::catch_unwind::h0c6f100786c0dad8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   40:     0x5db3c5c214da - std::panic::catch_unwind::hf6084e2723385823
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5db3c5c214da - std::thread::Builder::spawn_unchecked_::{{closure}}::hf0af58ce658143ad
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   42:     0x5db3c5c214da - core::ops::function::FnOnce::call_once{{vtable.shim}}::h88a14f9b2e79f9de
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5db3c5c927d7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf31256ba38644b65
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   44:     0x5db3c5c927d7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h100ad77f3448041b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   45:     0x5db3c5c927d7 - std::sys::pal::unix::thread::Thread::new::thread_start::h1a22ded422ce395b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   46:     0x7d0b63becaa4 - <unknown>
[INFO] [stdout]   47:     0x7d0b63c79a34 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     storage::fs_ops::tests::traverse_test
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 20 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.12s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "773ec3c6ad055b4cb5c3b5f63df69d4063ea441f6dacce419895577253eae089", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "773ec3c6ad055b4cb5c3b5f63df69d4063ea441f6dacce419895577253eae089", kill_on_drop: false }`
[INFO] [stdout] 773ec3c6ad055b4cb5c3b5f63df69d4063ea441f6dacce419895577253eae089
