[INFO] cloning repository https://github.com/Edisonwzjjj/levelDB-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Edisonwzjjj/levelDB-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEdisonwzjjj%2FlevelDB-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEdisonwzjjj%2FlevelDB-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 43486e3d0e30d0ba366e868d330a3952d98f35fc
[INFO] checking Edisonwzjjj/levelDB-rs against 4fcf39725a9c99bd495d8c73af83628a256ff9a9 for pr-162233-crater-rollup
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEdisonwzjjj%2FlevelDB-rs" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc1/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-4-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/Edisonwzjjj/levelDB-rs
[INFO] finished tweaking git repo https://github.com/Edisonwzjjj/levelDB-rs
[INFO] tweaked toml for git repo https://github.com/Edisonwzjjj/levelDB-rs written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Edisonwzjjj/levelDB-rs on toolchain 4fcf39725a9c99bd495d8c73af83628a256ff9a9
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4fcf39725a9c99bd495d8c73af83628a256ff9a9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Edisonwzjjj/levelDB-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4fcf39725a9c99bd495d8c73af83628a256ff9a9" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused workspace dependency `anyhow`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | anyhow = "1"
[INFO] [stderr]   | ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_workspace_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the workspace dependency `anyhow`
[INFO] [stderr] warning: unused workspace dependency `bytes`
[INFO] [stderr]  --> Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | bytes = "1"
[INFO] [stderr]   | ^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the workspace dependency `bytes`
[INFO] [stderr] warning: workspace (manifest) generated 2 warnings
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> xtask/Cargo.toml:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | homepage = { workspace = true }
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 8 | repository = { workspace = true }
[INFO] [stderr]   |              --------------------
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `mini-lsm-xtask` (manifest) generated 1 warning
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> mini-lsm/Cargo.toml:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | homepage = { workspace = true }
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 8 | repository = { workspace = true }
[INFO] [stderr]   |              --------------------
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `mini-lsm` (manifest) generated 1 warning
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> mini-lsm-mvcc/Cargo.toml:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | homepage = { workspace = true }
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 8 | repository = { workspace = true }
[INFO] [stderr]   |              --------------------
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `mini-lsm-mvcc` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded windows-targets v0.52.5
[INFO] [stderr]   Downloaded tempfile v3.10.1
[INFO] [stderr]   Downloaded aliasable v0.1.3
[INFO] [stderr]   Downloaded bytecount v0.6.8
[INFO] [stderr]   Downloaded endian-type v0.1.2
[INFO] [stderr]   Downloaded rustc_version v0.4.0
[INFO] [stderr]   Downloaded anstyle v1.0.7
[INFO] [stderr]   Downloaded fd-lock v4.0.2
[INFO] [stderr]   Downloaded ouroboros v0.18.4
[INFO] [stderr]   Downloaded scheduled-thread-pool v0.2.7
[INFO] [stderr]   Downloaded fastrand v2.1.0
[INFO] [stderr]   Downloaded tagptr v0.2.0
[INFO] [stderr]   Downloaded shared_child v1.0.0
[INFO] [stderr]   Downloaded winapi-util v0.1.8
[INFO] [stderr]   Downloaded nibble_vec v0.1.0
[INFO] [stderr]   Downloaded anstyle-query v1.1.0
[INFO] [stderr]   Downloaded num_cpus v1.16.0
[INFO] [stderr]   Downloaded colorchoice v1.0.1
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.3
[INFO] [stderr]   Downloaded errno v0.3.9
[INFO] [stderr]   Downloaded skeptic v0.13.7
[INFO] [stderr]   Downloaded is_terminal_polyfill v1.70.0
[INFO] [stderr]   Downloaded hermit-abi v0.3.9
[INFO] [stderr]   Downloaded os_pipe v1.2.0
[INFO] [stderr]   Downloaded either v1.12.0
[INFO] [stderr]   Downloaded error-chain v0.12.4
[INFO] [stderr]   Downloaded clap_lex v0.7.1
[INFO] [stderr]   Downloaded cargo-platform v0.1.8
[INFO] [stderr]   Downloaded quanta v0.11.1
[INFO] [stderr]   Downloaded anstyle-parse v0.2.4
[INFO] [stderr]   Downloaded triomphe v0.1.13
[INFO] [stderr]   Downloaded unicase v2.7.0
[INFO] [stderr]   Downloaded anstream v0.6.14
[INFO] [stderr]   Downloaded quote v1.0.36
[INFO] [stderr]   Downloaded clipboard-win v5.3.1
[INFO] [stderr]   Downloaded redox_syscall v0.5.2
[INFO] [stderr]   Downloaded semver v1.0.23
[INFO] [stderr]   Downloaded autocfg v1.3.0
[INFO] [stderr]   Downloaded bitflags v2.5.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.86
[INFO] [stderr]   Downloaded clap_derive v4.5.5
[INFO] [stderr]   Downloaded duct v0.13.7
[INFO] [stderr]   Downloaded anyhow v1.0.86
[INFO] [stderr]   Downloaded console v0.15.8
[INFO] [stderr]   Downloaded ouroboros_macro v0.18.4
[INFO] [stderr]   Downloaded cargo_metadata v0.14.2
[INFO] [stderr]   Downloaded camino v1.1.7
[INFO] [stderr]   Downloaded uuid v1.8.0
[INFO] [stderr]   Downloaded crc32fast v1.4.2
[INFO] [stderr]   Downloaded smallvec v1.13.2
[INFO] [stderr]   Downloaded crossbeam-skiplist v0.1.3
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.20
[INFO] [stderr]   Downloaded bytes v1.6.0
[INFO] [stderr]   Downloaded encode_unicode v0.3.6
[INFO] [stderr]   Downloaded clap v4.5.7
[INFO] [stderr]   Downloaded serde v1.0.203
[INFO] [stderr]   Downloaded arc-swap v1.7.1
[INFO] [stderr]   Downloaded serde_derive v1.0.203
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.13
[INFO] [stderr]   Downloaded rustyline v13.0.0
[INFO] [stderr]   Downloaded pulldown-cmark v0.9.6
[INFO] [stderr]   Downloaded raw-cpuid v10.7.0
[INFO] [stderr]   Downloaded serde_json v1.0.117
[INFO] [stderr]   Downloaded moka v0.9.9
[INFO] [stderr]   Downloaded clap_builder v4.5.7
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.52.5
[INFO] [stderr]   Downloaded radix_trie v0.2.1
[INFO] [stderr]   Downloaded syn v2.0.67
[INFO] [stderr]   Downloaded rustix v0.38.34
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.52.5
[INFO] [stderr]   Downloaded unicode-width v0.1.13
[INFO] [stderr]   Downloaded windows_i686_gnullvm v0.52.5
[INFO] [stderr]   Downloaded libc v0.2.155
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.52.5
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.52.5
[INFO] [stderr]   Downloaded windows_i686_msvc v0.52.5
[INFO] [stderr]   Downloaded windows_i686_gnu v0.52.5
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.52.5
[INFO] [stderr]   Downloaded farmhash v1.1.5
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.14
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a4065bd8f5cedce8af501dbd1cc857049946d14840637249ba58dc3d13b55f8c
[INFO] running `Command { std: "docker" "start" "a4065bd8f5cedce8af501dbd1cc857049946d14840637249ba58dc3d13b55f8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a4065bd8f5cedce8af501dbd1cc857049946d14840637249ba58dc3d13b55f8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a4065bd8f5cedce8af501dbd1cc857049946d14840637249ba58dc3d13b55f8c" "/opt/rustwide/cargo-home/bin/cargo" "+4fcf39725a9c99bd495d8c73af83628a256ff9a9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a4065bd8f5cedce8af501dbd1cc857049946d14840637249ba58dc3d13b55f8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a4065bd8f5cedce8af501dbd1cc857049946d14840637249ba58dc3d13b55f8c" "/opt/rustwide/cargo-home/bin/cargo" "+4fcf39725a9c99bd495d8c73af83628a256ff9a9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: unused workspace dependency `anyhow`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | anyhow = "1"
[INFO] [stderr]   | ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_workspace_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the workspace dependency `anyhow`
[INFO] [stderr] warning: unused workspace dependency `bytes`
[INFO] [stderr]  --> Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | bytes = "1"
[INFO] [stderr]   | ^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the workspace dependency `bytes`
[INFO] [stderr] warning: workspace (manifest) generated 2 warnings
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> mini-lsm/Cargo.toml:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | homepage = { workspace = true }
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 8 | repository = { workspace = true }
[INFO] [stderr]   |              --------------------
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `mini-lsm` (manifest) generated 1 warning
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> mini-lsm-mvcc/Cargo.toml:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | homepage = { workspace = true }
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 8 | repository = { workspace = true }
[INFO] [stderr]   |              --------------------
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `mini-lsm-mvcc` (manifest) generated 1 warning
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> xtask/Cargo.toml:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | homepage = { workspace = true }
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 8 | repository = { workspace = true }
[INFO] [stderr]   |              --------------------
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `mini-lsm-xtask` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.0
[INFO] [stderr]     Checking colorchoice v1.0.1
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking anstyle-query v1.1.0
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking anstyle v1.0.7
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking anstyle-parse v0.2.4
[INFO] [stderr]     Checking unicode-width v0.1.13
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]     Checking clap_lex v0.7.1
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling either v1.12.0
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]     Checking anstream v0.6.14
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]     Checking raw-cpuid v10.7.0
[INFO] [stderr]     Checking endian-type v0.1.2
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling moka v0.9.9
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking clap_builder v4.5.7
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking triomphe v0.1.13
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking unicode-segmentation v1.11.0
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking tagptr v0.2.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking aliasable v0.1.3
[INFO] [stderr]     Checking home v0.5.9
[INFO] [stderr]     Checking arc-swap v1.7.1
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]     Checking farmhash v1.1.5
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking fastrand v2.1.0
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling syn v2.0.67
[INFO] [stderr]     Checking crossbeam-skiplist v0.1.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking quanta v0.11.1
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]     Checking shared_child v1.0.0
[INFO] [stderr]     Checking os_pipe v1.2.0
[INFO] [stderr]     Checking console v0.15.8
[INFO] [stderr]     Checking duct v0.13.7
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking uuid v1.8.0
[INFO] [stderr]     Checking scheduled-thread-pool v0.2.7
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking fd-lock v4.0.2
[INFO] [stderr]     Checking tempfile v3.10.1
[INFO] [stderr]     Checking rustyline v13.0.0
[INFO] [stderr]    Compiling clap_derive v4.5.5
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling ouroboros_macro v0.18.4
[INFO] [stderr]     Checking ouroboros v0.18.4
[INFO] [stderr]     Checking clap v4.5.7
[INFO] [stderr]     Checking mini-lsm-xtask v0.2.0 (/opt/rustwide/workdir/xtask)
[INFO] [stderr]     Checking mini-lsm-starter v0.2.0 (/opt/rustwide/workdir/mini-lsm-starter)
[INFO] [stderr]     Checking mini-lsm-mvcc v0.2.0 (/opt/rustwide/workdir/mini-lsm-mvcc)
[INFO] [stderr]     Checking mini-lsm v0.2.0 (/opt/rustwide/workdir/mini-lsm)
[INFO] [stdout] warning: fields `path`, `block_cache`, `compaction_controller`, `manifest`, and `mvcc` are never read
[INFO] [stdout]    --> mini-lsm-starter/src/lsm_storage.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub(crate) struct LsmStorageInner {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 138 |     path: PathBuf,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 139 |     pub(crate) block_cache: Arc<BlockCache>,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub(crate) compaction_controller: CompactionController,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 143 |     pub(crate) manifest: Option<Manifest>,
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 144 |     pub(crate) mvcc: Option<LsmMvccInner>,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `flush_thread` and `compaction_thread` are never read
[INFO] [stdout]    --> mini-lsm-starter/src/lsm_storage.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct MiniLsm {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 154 |     flush_thread: Mutex<Option<std::thread::JoinHandle<()>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     compaction_thread: Mutex<Option<std::thread::JoinHandle<()>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `path_of_sst_static`, `path_of_sst`, `path_of_wal_static`, `path_of_wal`, and `sync_dir` are never used
[INFO] [stdout]    --> mini-lsm-starter/src/lsm_storage.rs:344:19
[INFO] [stdout]     |
[INFO] [stdout] 243 | impl LsmStorageInner {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub(crate) fn path_of_sst_static(path: impl AsRef<Path>, id: usize) -> PathBuf {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     pub(crate) fn path_of_sst(&self, id: usize) -> PathBuf {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub(crate) fn path_of_wal_static(path: impl AsRef<Path>, id: usize) -> PathBuf {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub(crate) fn path_of_wal(&self, id: usize) -> PathBuf {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub(super) fn sync_dir(&self) -> Result<()> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_bound` is never used
[INFO] [stdout]   --> mini-lsm-starter/src/mem_table.rs:42:15
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) fn map_bound(bound: Bound<&[u8]>) -> Bound<Bytes> {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/block/iterator.rs:60:16
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/iterators/concat_iterator.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/iterators/merge_iterator.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/key.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/key.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-starter/src/mem_table.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/table/iterator.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/block/iterator.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/iterators/concat_iterator.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/iterators/merge_iterator.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/key.rs:89:25
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/key.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/mem_table.rs:67:50
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound<KeySlice> {
[INFO] [stdout]    |                                                  ^^^^^                     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                                  |
[INFO] [stdout]    |                                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound<KeySlice<'_>> {
[INFO] [stdout]    |                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/mem_table.rs:244:12
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/block/iterator.rs:76:16
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm/src/iterators/concat_iterator.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/iterators/merge_iterator.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/key.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/key.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm/src/mem_table.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path`, `block_cache`, `compaction_controller`, `manifest`, and `mvcc` are never read
[INFO] [stdout]    --> mini-lsm-starter/src/lsm_storage.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub(crate) struct LsmStorageInner {
[INFO] [stdout]     |                   --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 138 |     path: PathBuf,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 139 |     pub(crate) block_cache: Arc<BlockCache>,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub(crate) compaction_controller: CompactionController,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 143 |     pub(crate) manifest: Option<Manifest>,
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 144 |     pub(crate) mvcc: Option<LsmMvccInner>,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `flush_thread` and `compaction_thread` are never read
[INFO] [stdout]    --> mini-lsm-starter/src/lsm_storage.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct MiniLsm {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 154 |     flush_thread: Mutex<Option<std::thread::JoinHandle<()>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     compaction_thread: Mutex<Option<std::thread::JoinHandle<()>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `path_of_sst_static`, `path_of_sst`, `path_of_wal_static`, `path_of_wal`, and `sync_dir` are never used
[INFO] [stdout]    --> mini-lsm-starter/src/lsm_storage.rs:344:19
[INFO] [stdout]     |
[INFO] [stdout] 243 | impl LsmStorageInner {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub(crate) fn path_of_sst_static(path: impl AsRef<Path>, id: usize) -> PathBuf {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     pub(crate) fn path_of_sst(&self, id: usize) -> PathBuf {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub(crate) fn path_of_wal_static(path: impl AsRef<Path>, id: usize) -> PathBuf {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub(crate) fn path_of_wal(&self, id: usize) -> PathBuf {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub(super) fn sync_dir(&self) -> Result<()> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_bound` is never used
[INFO] [stdout]   --> mini-lsm-starter/src/mem_table.rs:42:15
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) fn map_bound(bound: Bound<&[u8]>) -> Bound<Bytes> {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/block/iterator.rs:60:16
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/iterators/concat_iterator.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/iterators/merge_iterator.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/key.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/key.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-starter/src/mem_table.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/table/iterator.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/tests/harness.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/block/iterator.rs:76:16
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm/src/iterators/concat_iterator.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/iterators/merge_iterator.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/key.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/key.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm/src/mem_table.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/tests/harness.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/block/iterator.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/iterators/concat_iterator.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/iterators/merge_iterator.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/key.rs:89:25
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/key.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/mem_table.rs:67:50
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound<KeySlice> {
[INFO] [stdout]    |                                                  ^^^^^                     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                                  |
[INFO] [stdout]    |                                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound<KeySlice<'_>> {
[INFO] [stdout]    |                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/mem_table.rs:244:12
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/tests/harness.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `arc-swap`
[INFO] [stderr]   --> mini-lsm/Cargo.toml:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | arc-swap = "1"
[INFO] [stderr]    | ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `arc-swap`
[INFO] [stderr] warning: `mini-lsm` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `arc-swap`
[INFO] [stderr]   --> mini-lsm-mvcc/Cargo.toml:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | arc-swap = "1"
[INFO] [stderr]    | ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `arc-swap`
[INFO] [stderr] warning: `mini-lsm-mvcc` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `arc-swap`
[INFO] [stderr]  --> mini-lsm-starter/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | arc-swap = "1"
[INFO] [stderr]   | ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `arc-swap`
[INFO] [stderr] warning: unused dependency `farmhash`
[INFO] [stderr]   --> mini-lsm-starter/Cargo.toml:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | farmhash = "1"
[INFO] [stderr]    | ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `farmhash`
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]   --> mini-lsm-starter/Cargo.toml:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | serde_json = { version = "1.0" }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] warning: `mini-lsm-starter` (manifest) generated 3 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.14s
[INFO] running `Command { std: "docker" "inspect" "a4065bd8f5cedce8af501dbd1cc857049946d14840637249ba58dc3d13b55f8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4065bd8f5cedce8af501dbd1cc857049946d14840637249ba58dc3d13b55f8c", kill_on_drop: false }`
[INFO] [stdout] a4065bd8f5cedce8af501dbd1cc857049946d14840637249ba58dc3d13b55f8c
