[INFO] cloning repository https://github.com/Lournc/mini-lsm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Lournc/mini-lsm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLournc%2Fmini-lsm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLournc%2Fmini-lsm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4d94c9437a022512e9311f93e438a6e9d25bc1ee
[INFO] testing Lournc/mini-lsm against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLournc%2Fmini-lsm" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc1/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-7-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/Lournc/mini-lsm
[INFO] finished tweaking git repo https://github.com/Lournc/mini-lsm
[INFO] tweaked toml for git repo https://github.com/Lournc/mini-lsm written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Lournc/mini-lsm on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Lournc/mini-lsm 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded error-code v3.2.0
[INFO] [stderr]   Downloaded ouroboros_macro v0.18.4
[INFO] [stderr]   Downloaded ouroboros v0.18.4
[INFO] [stderr]   Downloaded clipboard-win v5.3.1
[INFO] [stderr]   Downloaded triomphe v0.1.13
[INFO] [stderr]   Downloaded quanta v0.11.1
[INFO] [stderr]   Downloaded rustyline v13.0.0
[INFO] [stderr]   Downloaded crossbeam-skiplist v0.1.3
[INFO] [stderr]   Downloaded clap_derive v4.5.5
[INFO] [stderr]   Downloaded clap v4.5.7
[INFO] [stderr]   Downloaded shared_child v1.0.0
[INFO] [stderr]   Downloaded duct v0.13.7
[INFO] [stderr]   Downloaded clap_builder v4.5.7
[INFO] [stderr]   Downloaded moka v0.9.9
[INFO] [stderr]   Downloaded farmhash v1.1.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b408a6b59cfe37d156233741a3687a0c78a67303c45669e8f250c4fb41bbb9c8
[INFO] running `Command { std: "docker" "start" "-a" "b408a6b59cfe37d156233741a3687a0c78a67303c45669e8f250c4fb41bbb9c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b408a6b59cfe37d156233741a3687a0c78a67303c45669e8f250c4fb41bbb9c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b408a6b59cfe37d156233741a3687a0c78a67303c45669e8f250c4fb41bbb9c8", kill_on_drop: false }`
[INFO] [stdout] b408a6b59cfe37d156233741a3687a0c78a67303c45669e8f250c4fb41bbb9c8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a3dd8ecfe43c3702ef2a5bd10d2a100ddda352e7e20d17760598e815c14e626e
[INFO] running `Command { std: "docker" "start" "-a" "a3dd8ecfe43c3702ef2a5bd10d2a100ddda352e7e20d17760598e815c14e626e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling anstyle-query v1.1.0
[INFO] [stderr]    Compiling colorchoice v1.0.1
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.0
[INFO] [stderr]    Compiling anstyle v1.0.7
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling anstyle-parse v0.2.4
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling unicode-width v0.1.13
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling either v1.12.0
[INFO] [stderr]    Compiling syn v2.0.67
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling clap_lex v0.7.1
[INFO] [stderr]    Compiling raw-cpuid v10.7.0
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling moka v0.9.9
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling triomphe v0.1.13
[INFO] [stderr]    Compiling aliasable v0.1.3
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling radix_trie v0.2.1
[INFO] [stderr]    Compiling unicode-segmentation v1.11.0
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling anstream v0.6.14
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling farmhash v1.1.5
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]    Compiling clap_builder v4.5.7
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-channel v0.5.13
[INFO] [stderr]    Compiling crossbeam-skiplist v0.1.3
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling nix v0.27.1
[INFO] [stderr]    Compiling quanta v0.11.1
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling shared_child v1.0.0
[INFO] [stderr]    Compiling os_pipe v1.2.0
[INFO] [stderr]    Compiling console v0.15.8
[INFO] [stderr]    Compiling duct v0.13.7
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling uuid v1.8.0
[INFO] [stderr]    Compiling scheduled-thread-pool v0.2.7
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling fd-lock v4.0.2
[INFO] [stderr]    Compiling rustyline v13.0.0
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling clap_derive v4.5.5
[INFO] [stderr]    Compiling ouroboros_macro v0.18.4
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling clap v4.5.7
[INFO] [stderr]    Compiling mini-lsm-xtask v0.2.0 (/opt/rustwide/workdir/xtask)
[INFO] [stderr]    Compiling ouroboros v0.18.4
[INFO] [stderr]    Compiling mini-lsm v0.2.0 (/opt/rustwide/workdir/mini-lsm)
[INFO] [stderr]    Compiling mini-lsm-starter v0.2.0 (/opt/rustwide/workdir/mini-lsm-starter)
[INFO] [stderr]    Compiling mini-lsm-mvcc v0.2.0 (/opt/rustwide/workdir/mini-lsm-mvcc)
[INFO] [stdout] warning: unused imports: `BorrowMut` and `Borrow`
[INFO] [stdout]  --> mini-lsm-starter/src/mem_table.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> mini-lsm-starter/src/mem_table.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter;
[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:46:16
[INFO] [stdout]    |
[INFO] [stdout] 46 |     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] 46 |     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:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     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] 35 |     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:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |     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] 57 |     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:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |     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] 57 |     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:80:25
[INFO] [stdout]    |
[INFO] [stdout] 80 |     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] 80 |     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:178:12
[INFO] [stdout]     |
[INFO] [stdout] 178 |     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] 178 |     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:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 |     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] 46 |     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:63:16
[INFO] [stdout]    |
[INFO] [stdout] 63 |     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] 63 |     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: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/iterators/merge_iterator.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |     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] 83 |     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:75:25
[INFO] [stdout]    |
[INFO] [stdout] 75 |     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] 75 |     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:105:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |     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] 105 |     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:53:50
[INFO] [stdout]    |
[INFO] [stdout] 53 | 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] 53 | 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:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 |     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] 230 |     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:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     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] 85 |     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:62:16
[INFO] [stdout]    |
[INFO] [stdout] 62 |     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] 62 |     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: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/iterators/merge_iterator.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |     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] 83 |     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:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |     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] 57 |     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:80:25
[INFO] [stdout]    |
[INFO] [stdout] 80 |     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] 80 |     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:189:12
[INFO] [stdout]     |
[INFO] [stdout] 189 |     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] 189 |     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:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     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] 85 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 58.03s
[INFO] running `Command { std: "docker" "inspect" "a3dd8ecfe43c3702ef2a5bd10d2a100ddda352e7e20d17760598e815c14e626e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a3dd8ecfe43c3702ef2a5bd10d2a100ddda352e7e20d17760598e815c14e626e", kill_on_drop: false }`
[INFO] [stdout] a3dd8ecfe43c3702ef2a5bd10d2a100ddda352e7e20d17760598e815c14e626e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 05fdd504691c4f6565e90d48b2d33a1527287f266601567a6a247cb42bda1392
[INFO] running `Command { std: "docker" "start" "-a" "05fdd504691c4f6565e90d48b2d33a1527287f266601567a6a247cb42bda1392", kill_on_drop: false }`
[INFO] [stderr]    Compiling fastrand v2.1.0
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/block/iterator.rs:62:16
[INFO] [stdout]    |
[INFO] [stdout] 62 |     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] 62 |     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: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/iterators/merge_iterator.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |     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] 83 |     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:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |     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] 57 |     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:80:25
[INFO] [stdout]    |
[INFO] [stdout] 80 |     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] 80 |     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:189:12
[INFO] [stdout]     |
[INFO] [stdout] 189 |     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] 189 |     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:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     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] 85 |     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:63:16
[INFO] [stdout]    |
[INFO] [stdout] 63 |     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] 63 |     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: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/iterators/merge_iterator.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |     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] 83 |     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:75:25
[INFO] [stdout]    |
[INFO] [stdout] 75 |     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] 75 |     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:105:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |     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] 105 |     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:53:50
[INFO] [stdout]    |
[INFO] [stdout] 53 | 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] 53 | 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:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 |     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] 230 |     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:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     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] 85 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut` and `Borrow`
[INFO] [stdout]  --> mini-lsm-starter/src/mem_table.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> mini-lsm-starter/src/mem_table.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter;
[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:46:16
[INFO] [stdout]    |
[INFO] [stdout] 46 |     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] 46 |     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:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     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] 35 |     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:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |     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] 57 |     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:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |     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] 57 |     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:80:25
[INFO] [stdout]    |
[INFO] [stdout] 80 |     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] 80 |     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:178:12
[INFO] [stdout]     |
[INFO] [stdout] 178 |     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] 178 |     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:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 |     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] 46 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling mini-lsm-xtask v0.2.0 (/opt/rustwide/workdir/xtask)
[INFO] [stderr]    Compiling tempfile v3.10.1
[INFO] [stderr]    Compiling mini-lsm v0.2.0 (/opt/rustwide/workdir/mini-lsm)
[INFO] [stderr]    Compiling mini-lsm-mvcc v0.2.0 (/opt/rustwide/workdir/mini-lsm-mvcc)
[INFO] [stderr]    Compiling mini-lsm-starter v0.2.0 (/opt/rustwide/workdir/mini-lsm-starter)
[INFO] [stdout] warning: unused imports: `BorrowMut` and `Borrow`
[INFO] [stdout]  --> mini-lsm-starter/src/mem_table.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> mini-lsm-starter/src/mem_table.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_sst` is never used
[INFO] [stdout]    --> mini-lsm-starter/src/tests/harness.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn generate_sst(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sync` is never used
[INFO] [stdout]    --> mini-lsm-starter/src/tests/harness.rs:213:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub fn sync(storage: &LsmStorageInner) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compaction_bench` is never used
[INFO] [stdout]    --> mini-lsm-starter/src/tests/harness.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub fn compaction_bench(storage: Arc<MiniLsm>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_compaction_ratio` is never used
[INFO] [stdout]    --> mini-lsm-starter/src/tests/harness.rs:282:8
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub fn check_compaction_ratio(storage: Arc<MiniLsm>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_files_in_dir` is never used
[INFO] [stdout]    --> mini-lsm-starter/src/tests/harness.rs:411:8
[INFO] [stdout]     |
[INFO] [stdout] 411 | pub fn dump_files_in_dir(path: impl AsRef<Path>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `construct_merge_iterator_over_storage` is never used
[INFO] [stdout]    --> mini-lsm-starter/src/tests/harness.rs:423:8
[INFO] [stdout]     |
[INFO] [stdout] 423 | pub fn construct_merge_iterator_over_storage(
[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:46:16
[INFO] [stdout]    |
[INFO] [stdout] 46 |     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] 46 |     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:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     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] 35 |     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:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |     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] 57 |     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:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |     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] 57 |     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:80:25
[INFO] [stdout]    |
[INFO] [stdout] 80 |     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] 80 |     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:178:12
[INFO] [stdout]     |
[INFO] [stdout] 178 |     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] 178 |     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:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 |     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] 46 |     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: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:63:16
[INFO] [stdout]    |
[INFO] [stdout] 63 |     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] 63 |     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: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/iterators/merge_iterator.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |     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] 83 |     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:75:25
[INFO] [stdout]    |
[INFO] [stdout] 75 |     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] 75 |     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:105:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |     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] 105 |     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:53:50
[INFO] [stdout]    |
[INFO] [stdout] 53 | 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] 53 | 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:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 |     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] 230 |     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:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     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] 85 |     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: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/src/block/iterator.rs:62:16
[INFO] [stdout]    |
[INFO] [stdout] 62 |     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] 62 |     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: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/iterators/merge_iterator.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |     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] 83 |     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:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |     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] 57 |     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:80:25
[INFO] [stdout]    |
[INFO] [stdout] 80 |     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] 80 |     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:189:12
[INFO] [stdout]     |
[INFO] [stdout] 189 |     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] 189 |     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:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     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] 85 |     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: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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 19.21s
[INFO] running `Command { std: "docker" "inspect" "05fdd504691c4f6565e90d48b2d33a1527287f266601567a6a247cb42bda1392", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "05fdd504691c4f6565e90d48b2d33a1527287f266601567a6a247cb42bda1392", kill_on_drop: false }`
[INFO] [stdout] 05fdd504691c4f6565e90d48b2d33a1527287f266601567a6a247cb42bda1392
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8e57c85453b4d6affe6ca284def2f261c21fdd54fe0fb591f2926f72eaf38813
[INFO] running `Command { std: "docker" "start" "-a" "8e57c85453b4d6affe6ca284def2f261c21fdd54fe0fb591f2926f72eaf38813", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm/src/block/iterator.rs:62:16
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn key(&self) -> KeySlice {
[INFO] [stderr]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                |
[INFO] [stderr]    |                the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm/src/iterators/concat_iterator.rs:97:12
[INFO] [stderr]    |
[INFO] [stderr] 97 |     fn key(&self) -> KeySlice {
[INFO] [stderr]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm/src/iterators/merge_iterator.rs:83:12
[INFO] [stderr]    |
[INFO] [stderr] 83 |     fn key(&self) -> KeySlice {
[INFO] [stderr]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 83 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm/src/key.rs:57:25
[INFO] [stderr]    |
[INFO] [stderr] 57 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stderr]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 57 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm/src/key.rs:80:25
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stderr]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mini-lsm/src/mem_table.rs:189:12
[INFO] [stderr]     |
[INFO] [stderr] 189 |     fn key(&self) -> KeySlice {
[INFO] [stderr]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |            |
[INFO] [stderr]     |            the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 189 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]     |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm/src/table/iterator.rs:85:12
[INFO] [stderr]    |
[INFO] [stderr] 85 |     fn key(&self) -> KeySlice {
[INFO] [stderr]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 85 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BorrowMut` and `Borrow`
[INFO] [stderr]  --> mini-lsm-starter/src/mem_table.rs:3:19
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stderr]   |                   ^^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter`
[INFO] [stderr]  --> mini-lsm-starter/src/mem_table.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::iter;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm-starter/src/block/iterator.rs:46:16
[INFO] [stderr]    |
[INFO] [stderr] 46 |     pub fn key(&self) -> KeySlice {
[INFO] [stderr]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                |
[INFO] [stderr]    |                the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 46 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm-starter/src/iterators/concat_iterator.rs:35:12
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn key(&self) -> KeySlice {
[INFO] [stderr]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm-starter/src/iterators/merge_iterator.rs:57:12
[INFO] [stderr]    |
[INFO] [stderr] 57 |     fn key(&self) -> KeySlice {
[INFO] [stderr]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 57 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm-starter/src/key.rs:57:25
[INFO] [stderr]    |
[INFO] [stderr] 57 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stderr]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 57 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm-starter/src/key.rs:80:25
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stderr]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mini-lsm-starter/src/mem_table.rs:178:12
[INFO] [stderr]     |
[INFO] [stderr] 178 |     fn key(&self) -> KeySlice {
[INFO] [stderr]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |            |
[INFO] [stderr]     |            the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 178 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]     |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm-starter/src/table/iterator.rs:46:12
[INFO] [stderr]    |
[INFO] [stderr] 46 |     fn key(&self) -> KeySlice {
[INFO] [stderr]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 46 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm-mvcc/src/block/iterator.rs:63:16
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn key(&self) -> KeySlice {
[INFO] [stderr]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                |
[INFO] [stderr]    |                the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm-mvcc/src/iterators/concat_iterator.rs:97:12
[INFO] [stderr]    |
[INFO] [stderr] 97 |     fn key(&self) -> KeySlice {
[INFO] [stderr]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm-mvcc/src/iterators/merge_iterator.rs:83:12
[INFO] [stderr]    |
[INFO] [stderr] 83 |     fn key(&self) -> KeySlice {
[INFO] [stderr]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 83 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm-mvcc/src/key.rs:75:25
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stderr]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mini-lsm-mvcc/src/key.rs:105:25
[INFO] [stderr]     |
[INFO] [stderr] 105 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stderr]     |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 105 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stderr]     |                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm-mvcc/src/mem_table.rs:53:50
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound<KeySlice> {
[INFO] [stderr]    |                                                  ^^^^^                     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                                  |
[INFO] [stderr]    |                                                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound<KeySlice<'_>> {
[INFO] [stderr]    |                                                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mini-lsm-mvcc/src/mem_table.rs:230:12
[INFO] [stderr]     |
[INFO] [stderr] 230 |     fn key(&self) -> KeySlice {
[INFO] [stderr]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |            |
[INFO] [stderr]     |            the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 230 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]     |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm-mvcc/src/table/iterator.rs:85:12
[INFO] [stderr]    |
[INFO] [stderr] 85 |     fn key(&self) -> KeySlice {
[INFO] [stderr]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 85 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_sst` is never used
[INFO] [stderr]    --> mini-lsm-starter/src/tests/harness.rs:183:8
[INFO] [stderr]     |
[INFO] [stderr] 183 | pub fn generate_sst(
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `sync` is never used
[INFO] [stderr]    --> mini-lsm-starter/src/tests/harness.rs:213:8
[INFO] [stderr]     |
[INFO] [stderr] 213 | pub fn sync(storage: &LsmStorageInner) {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `compaction_bench` is never used
[INFO] [stderr]    --> mini-lsm-starter/src/tests/harness.rs:220:8
[INFO] [stderr]     |
[INFO] [stderr] 220 | pub fn compaction_bench(storage: Arc<MiniLsm>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `check_compaction_ratio` is never used
[INFO] [stderr]    --> mini-lsm-starter/src/tests/harness.rs:282:8
[INFO] [stderr]     |
[INFO] [stderr] 282 | pub fn check_compaction_ratio(storage: Arc<MiniLsm>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `dump_files_in_dir` is never used
[INFO] [stderr]    --> mini-lsm-starter/src/tests/harness.rs:411:8
[INFO] [stderr]     |
[INFO] [stderr] 411 | pub fn dump_files_in_dir(path: impl AsRef<Path>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `construct_merge_iterator_over_storage` is never used
[INFO] [stderr]    --> mini-lsm-starter/src/tests/harness.rs:423:8
[INFO] [stderr]     |
[INFO] [stderr] 423 | pub fn construct_merge_iterator_over_storage(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm-starter/src/tests/harness.rs:60:12
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn key(&self) -> KeySlice {
[INFO] [stderr]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm/src/tests/harness.rs:60:12
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn key(&self) -> KeySlice {
[INFO] [stderr]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mini-lsm-mvcc/src/tests/harness.rs:60:12
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn key(&self) -> KeySlice {
[INFO] [stderr]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `mini-lsm` (lib) generated 7 warnings (run `cargo fix --lib -p mini-lsm` to apply 7 suggestions)
[INFO] [stderr] warning: `mini-lsm-starter` (lib) generated 9 warnings (run `cargo fix --lib -p mini-lsm-starter` to apply 9 suggestions)
[INFO] [stderr] warning: `mini-lsm-mvcc` (lib) generated 8 warnings (run `cargo fix --lib -p mini-lsm-mvcc` to apply 8 suggestions)
[INFO] [stderr] warning: `mini-lsm-starter` (lib test) generated 16 warnings (9 duplicates) (run `cargo fix --lib -p mini-lsm-starter --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `mini-lsm` (lib test) generated 8 warnings (7 duplicates) (run `cargo fix --lib -p mini-lsm --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `mini-lsm-mvcc` (lib test) generated 9 warnings (8 duplicates) (run `cargo fix --lib -p mini-lsm-mvcc --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mini_lsm-db88369cc93f9825)
[INFO] [stdout] 
[INFO] [stdout] running 56 tests
[INFO] [stdout] test tests::week1_day1::test_task1_memtable_overwrite ... ok
[INFO] [stdout] test tests::week1_day1::test_task1_memtable_get ... ok
[INFO] [stdout] test tests::week1_day2::test_task1_memtable_iter ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_1 ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_error ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_all ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_large_1 ... ok
[INFO] [stdout] test tests::week1_day2::test_task3_fused_iterator ... ok
[INFO] [stdout] test tests::week1_day3::test_block_decode ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_full ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_large_2 ... ok
[INFO] [stdout] test tests::week1_day3::test_block_encode ... ok
[INFO] [stdout] test tests::week1_day2::test_task1_empty_memtable_iter ... ok
[INFO] [stdout] test tests::week1_day3::test_block_iterator ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_single_key ... ok
[INFO] [stdout] test tests::week1_day3::test_block_seek_key ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_1 ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_2 ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_empty ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_build_all ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_build_single_key ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_2 ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_3 ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_5 ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_4 ... ok
[INFO] [stdout] test tests::week1_day7::test_task1_bloom_filter ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_build_two_blocks ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_seek_key ... ok
[INFO] [stdout] test tests::week1_day1::test_task2_storage_integration ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_decode ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_iterator ... ok
[INFO] [stdout] test tests::week1_day7::test_task3_block_key_compression ... ok
[INFO] [stdout] test tests::week1_day7::test_task2_sst_decode ... ok
[INFO] [stdout] test tests::week1_day1::test_task4_storage_integration ... ok
[INFO] [stdout] test tests::week1_day1::test_task3_storage_integration ... ok
[INFO] [stdout] test tests::week1_day2::test_task4_integration ... ok
[INFO] [stdout] test tests::week1_day5::test_task3_storage_get ... ok
[INFO] [stdout] test tests::week1_day5::test_task2_storage_scan ... ok
[INFO] [stdout] test tests::week1_day1::test_task3_freeze_on_capacity ... ok
[INFO] [stdout] test tests::week2_day1::test_task2_concat_iterator ... ok
[INFO] [stdout] test tests::week1_day6::test_task1_storage_get ... ok
[INFO] [stdout] test tests::week1_day6::test_task1_storage_scan ... ok
[INFO] [stdout] test tests::week2_day1::test_task3_integration ... ok
[INFO] [stdout] test tests::week2_day1::test_task1_full_compaction ... ok
[INFO] [stdout] test tests::week1_day6::test_task3_sst_filter ... ok
[INFO] [stdout] test tests::week1_day6::test_task2_auto_flush ... ok
[INFO] [stdout] test tests::week2_day5::test_integration_tiered ... ok
[INFO] [stdout] test tests::week2_day5::test_integration_leveled ... ok
[INFO] [stdout] test tests::week2_day5::test_integration_simple ... ok
[INFO] [stdout] test tests::week2_day6::test_integration_tiered ... ok
[INFO] [stdout] test tests::week2_day6::test_integration_leveled ... ok
[INFO] [stdout] test tests::week2_day6::test_integration_simple ... ok
[INFO] [stdout] test tests::week2_day5::test_multiple_compacted_ssts_leveled ... ok
[INFO] [stdout] test tests::week2_day2::test_integration ... FAILED
[INFO] [stdout] test tests::week2_day3::test_integration ... ok
[INFO] [stdout] test tests::week2_day4::test_integration ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::week2_day2::test_integration stdout ----
[INFO] [stdout] flushed 0.sst with size=1070964
[INFO] [stdout] flushed 1.sst with size=1071111
[INFO] [stdout] compaction triggered at level 0 and 1 with size ratio 0
[INFO] [stdout] L0 (2): [1, 0]
[INFO] [stdout] L1 (0): []
[INFO] [stdout] L2 (0): []
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: None, upper_level_sst_ids: [1, 0], lower_level: 1, lower_level_sst_ids: [], is_lower_level_bottom_level: false })
[INFO] [stdout] flushed 2.sst with size=1070943
[INFO] [stdout] flushed 3.sst with size=1070993
[INFO] [stdout] flushed 4.sst with size=1070855
[INFO] [stdout] flushed 5.sst with size=1071090
[INFO] [stdout] compaction finished: 2 files removed, 3 files added, output=[7, 9, 10]
[INFO] [stdout] compaction triggered at level 0 and 1 with size ratio 0.75
[INFO] [stdout] L0 (4): [5, 4, 3, 2]
[INFO] [stdout] L1 (3): [7, 9, 10]
[INFO] [stdout] L2 (0): []
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: None, upper_level_sst_ids: [5, 4, 3, 2], lower_level: 1, lower_level_sst_ids: [7, 9, 10], is_lower_level_bottom_level: false })
[INFO] [stdout] flushed 6.sst with size=1070838
[INFO] [stdout] flushed 8.sst with size=1071059
[INFO] [stdout] flushed 11.sst with size=1070994
[INFO] [stdout] flushed 12.sst with size=1070921
[INFO] [stdout] flushed 14.sst with size=1071066
[INFO] [stdout] compaction finished: 7 files removed, 3 files added, output=[13, 15, 18]
[INFO] [stdout] compaction triggered at level 0 and 1 with size ratio 0.6
[INFO] [stdout] L0 (5): [14, 12, 11, 8, 6]
[INFO] [stdout] L1 (3): [13, 15, 18]
[INFO] [stdout] L2 (0): []
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: None, upper_level_sst_ids: [14, 12, 11, 8, 6], lower_level: 1, lower_level_sst_ids: [13, 15, 18], is_lower_level_bottom_level: false })
[INFO] [stdout] flushed 16.sst with size=1070905
[INFO] [stdout] flushed 17.sst with size=1071006
[INFO] [stdout] flushed 19.sst with size=1070920
[INFO] [stdout] flushed 20.sst with size=1071091
[INFO] [stdout] flushed 22.sst with size=1071026
[INFO] [stdout] flushed 24.sst with size=1071013
[INFO] [stdout] compaction finished: 8 files removed, 5 files added, output=[21, 23, 25, 28, 29]
[INFO] [stdout] compaction triggered at level 0 and 1 with size ratio 0.8333333333333334
[INFO] [stdout] L0 (6): [24, 22, 20, 19, 17, 16]
[INFO] [stdout] L1 (5): [21, 23, 25, 28, 29]
[INFO] [stdout] L2 (0): []
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: None, upper_level_sst_ids: [24, 22, 20, 19, 17, 16], lower_level: 1, lower_level_sst_ids: [21, 23, 25, 28, 29], is_lower_level_bottom_level: false })
[INFO] [stdout] flushed 26.sst with size=1070922
[INFO] [stdout] flushed 27.sst with size=1070980
[INFO] [stdout] flushed 30.sst with size=1071068
[INFO] [stdout] flushed 31.sst with size=1070917
[INFO] [stdout] compaction finished: 11 files removed, 6 files added, output=[32, 34, 36, 37, 38, 39]
[INFO] [stdout] compaction triggered at level 0 and 1 with size ratio 1.5
[INFO] [stdout] L0 (4): [31, 30, 27, 26]
[INFO] [stdout] L1 (6): [32, 34, 36, 37, 38, 39]
[INFO] [stdout] L2 (0): []
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: None, upper_level_sst_ids: [31, 30, 27, 26], lower_level: 1, lower_level_sst_ids: [32, 34, 36, 37, 38, 39], is_lower_level_bottom_level: false })
[INFO] [stdout] flushed 33.sst with size=1070968
[INFO] [stdout] compaction finished: 10 files removed, 7 files added, output=[40, 41, 42, 43, 44, 45, 46]
[INFO] [stdout] compaction triggered at level 1 and 2 with size ratio 0
[INFO] [stdout] L0 (1): [33]
[INFO] [stdout] L1 (7): [40, 41, 42, 43, 44, 45, 46]
[INFO] [stdout] L2 (0): []
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: Some(1), upper_level_sst_ids: [40, 41, 42, 43, 44, 45, 46], lower_level: 2, lower_level_sst_ids: [], is_lower_level_bottom_level: false })
[INFO] [stdout] compaction finished: 7 files removed, 7 files added, output=[47, 48, 49, 50, 51, 52, 53]
[INFO] [stdout] compaction triggered at level 2 and 3 with size ratio 0
[INFO] [stdout] L0 (1): [33]
[INFO] [stdout] L1 (0): []
[INFO] [stdout] L2 (7): [47, 48, 49, 50, 51, 52, 53]
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: Some(2), upper_level_sst_ids: [47, 48, 49, 50, 51, 52, 53], lower_level: 3, lower_level_sst_ids: [], is_lower_level_bottom_level: true })
[INFO] [stdout] L0 (1): [33]
[INFO] [stdout] L1 (0): []
[INFO] [stdout] L2 (7): [47, 48, 49, 50, 51, 52, 53]
[INFO] [stdout] L3 (0): []
[INFO] [stdout] This test case does not guarantee your compaction algorithm produces a LSM state as expected. It only does minimal checks on the size of the levels. Please use the compaction simulator to check if the compaction is correctly going on.
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::week2_day2::test_integration' (80) panicked at mini-lsm/src/tests/harness.rs:323:17:
[INFO] [stdout] L2/L3, 0/7<200%
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x61c92819f2ca - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x61c92819f2ca - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x61c92819f2ca - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x61c92819f2ca - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x61c9281b490a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x61c9281b490a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x61c9281a4422 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x61c9281a4422 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x61c92817bcff - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x61c92817bcff - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x61c9281967f9 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x61c9280eaacc - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x61c9280eaacc - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x61c928196a72 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x61c928196a72 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x61c92817bdb8 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x61c9281708c9 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x61c92817cbbd - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x61c9281b50cc - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x61c927f65dbe - mini_lsm[760aa677f09d2686]::tests::harness::check_compaction_ratio
[INFO] [stdout]                                at /opt/rustwide/workdir/mini-lsm/src/tests/harness.rs:323:17
[INFO] [stdout]   20:     0x61c9280965d4 - mini_lsm[760aa677f09d2686]::tests::week2_day2::test_integration
[INFO] [stdout]                                at /opt/rustwide/workdir/mini-lsm/src/tests/week2_day2.rs:26:5
[INFO] [stdout]   21:     0x61c928080587 - mini_lsm[760aa677f09d2686]::tests::week2_day2::test_integration::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/mini-lsm/src/tests/week2_day2.rs:11:22
[INFO] [stdout]   22:     0x61c927ffbb76 - <mini_lsm[760aa677f09d2686]::tests::week2_day2::test_integration::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x61c9280dddab - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x61c9280dddab - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x61c9280eb59b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x61c9280eb59b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x61c9280eb59b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x61c9280eb59b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x61c9280eb59b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x61c9280eb59b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x61c9280eb59b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x61c9280e4cb4 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x61c9280e4cb4 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x61c9280ee1a2 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x61c9280ee1a2 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x61c9280ee1a2 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x61c9280ee1a2 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x61c9280ee1a2 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x61c9280ee1a2 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x61c9280ee1a2 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x61c92819e98f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   42:     0x61c92819e98f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x7c7ec114faa4 - <unknown>
[INFO] [stdout]   44:     0x7c7ec11dca64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::week2_day2::test_integration
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 55 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 19.65s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p mini-lsm --lib`
[INFO] running `Command { std: "docker" "inspect" "8e57c85453b4d6affe6ca284def2f261c21fdd54fe0fb591f2926f72eaf38813", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8e57c85453b4d6affe6ca284def2f261c21fdd54fe0fb591f2926f72eaf38813", kill_on_drop: false }`
[INFO] [stdout] 8e57c85453b4d6affe6ca284def2f261c21fdd54fe0fb591f2926f72eaf38813
