[INFO] cloning repository https://github.com/MarshallSigumd/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/MarshallSigumd/mini-lsm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarshallSigumd%2Fmini-lsm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarshallSigumd%2Fmini-lsm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 99a13d0dcdd216cc60faffa67686f2e2ba9f8212
[INFO] testing MarshallSigumd/mini-lsm against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarshallSigumd%2Fmini-lsm" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc1/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-5-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/MarshallSigumd/mini-lsm
[INFO] finished tweaking git repo https://github.com/MarshallSigumd/mini-lsm
[INFO] tweaked toml for git repo https://github.com/MarshallSigumd/mini-lsm written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MarshallSigumd/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/MarshallSigumd/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 camino v1.2.1
[INFO] [stderr]   Downloaded crossbeam-skiplist v0.1.3
[INFO] [stderr]   Downloaded os_pipe v1.2.3
[INFO] [stderr]   Downloaded rustyline v13.0.0
[INFO] [stderr]   Downloaded duct v0.13.7
[INFO] [stderr]   Downloaded syn v2.0.108
[INFO] [stderr]   Downloaded farmhash v1.1.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 66fa343334217c927237087ca4c4aad606f529f6182b91fc8ad5affb4cd1bc48
[INFO] running `Command { std: "docker" "start" "-a" "66fa343334217c927237087ca4c4aad606f529f6182b91fc8ad5affb4cd1bc48", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "66fa343334217c927237087ca4c4aad606f529f6182b91fc8ad5affb4cd1bc48", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66fa343334217c927237087ca4c4aad606f529f6182b91fc8ad5affb4cd1bc48", kill_on_drop: false }`
[INFO] [stdout] 66fa343334217c927237087ca4c4aad606f529f6182b91fc8ad5affb4cd1bc48
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 64959ad8b73cc57c508a41950709835b52fec86a4b800c0a49b6757472afb54d
[INFO] running `Command { std: "docker" "start" "-a" "64959ad8b73cc57c508a41950709835b52fec86a4b800c0a49b6757472afb54d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling moka v0.9.9
[INFO] [stderr]    Compiling triomphe v0.1.15
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling aliasable v0.1.3
[INFO] [stderr]    Compiling crossbeam-skiplist v0.1.3
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling farmhash v1.1.5
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling radix_trie v0.2.1
[INFO] [stderr]    Compiling clap_builder v4.5.51
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling fd-lock v4.0.4
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling nix v0.27.1
[INFO] [stderr]    Compiling quanta v0.11.1
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling os_pipe v1.2.3
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling sigchld v0.2.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling shared_child v1.1.1
[INFO] [stderr]    Compiling scheduled-thread-pool v0.2.7
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling duct v0.13.7
[INFO] [stderr]    Compiling rustyline v13.0.0
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling ouroboros_macro v0.18.5
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling ouroboros v0.18.5
[INFO] [stderr]    Compiling clap v4.5.51
[INFO] [stderr]    Compiling mini-lsm-xtask v0.2.0 (/opt/rustwide/workdir/xtask)
[INFO] [stderr]    Compiling serde v1.0.228
[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 import: `std::convert::AsRef`
[INFO] [stdout]   --> mini-lsm-starter/src/block/builder.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::convert::AsRef;
[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: `crate::compact`
[INFO] [stdout]   --> mini-lsm-starter/src/compact.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::compact;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> mini-lsm-starter/src/iterators/two_merge_iterator.rs:48:16
[INFO] [stdout]    |
[INFO] [stdout] 48 |             if (self.b.is_valid() && self.a.key() == self.b.key()) {
[INFO] [stdout]    |                ^                                                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -             if (self.b.is_valid() && self.a.key() == self.b.key()) {
[INFO] [stdout] 48 +             if self.b.is_valid() && self.a.key() == self.b.key() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> mini-lsm-starter/src/lsm_iterator.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | / ...   ///在 move_to_non_delete 方法中，循环条件是 while self.is_valid() && self.inner.value().is_empty()。当遇到墓碑记录（空值）...
[INFO] [stdout] 85 | | ...   ///
[INFO] [stdout] 86 | | ...   ///move_to_non_delete 方法需要在使用 next() 后检查 self.inner 是否仍然有效，并相应地更新 self.is_valid
[INFO] [stdout]    | |____________________________________________________________________________________________________________^
[INFO] [stdout] 87 |   ...   Ok(())
[INFO] [stdout]    |         ------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `farmhash::fingerprint32`
[INFO] [stdout]   --> mini-lsm-starter/src/lsm_storage.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use farmhash::fingerprint32;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> mini-lsm-starter/src/lsm_storage.rs:36:40
[INFO] [stdout]    |
[INFO] [stdout] 36 | use crate::iterators::merge_iterator::{self, MergeIterator};
[INFO] [stdout]    |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Block`
[INFO] [stdout]   --> mini-lsm-starter/src/table/builder.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |     block::{Block, BlockBuilder},
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clap::builder::NonEmptyStringValueParser`
[INFO] [stdout]   --> mini-lsm-starter/src/table.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use clap::builder::NonEmptyStringValueParser;
[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:77:16
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-starter/src/iterators/concat_iterator.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 |     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] 118 |     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:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |     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] 101 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/key.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/key.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-starter/src/mem_table.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 199 |     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] 199 |     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:100:12
[INFO] [stdout]     |
[INFO] [stdout] 100 |     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] 100 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/block/iterator.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/iterators/concat_iterator.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/iterators/merge_iterator.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/key.rs:89:25
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/key.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/mem_table.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 |     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] 260 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/block/iterator.rs:76:16
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm/src/iterators/concat_iterator.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/iterators/merge_iterator.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/key.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/key.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm/src/mem_table.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 206 |     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] 206 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.08s
[INFO] running `Command { std: "docker" "inspect" "64959ad8b73cc57c508a41950709835b52fec86a4b800c0a49b6757472afb54d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64959ad8b73cc57c508a41950709835b52fec86a4b800c0a49b6757472afb54d", kill_on_drop: false }`
[INFO] [stdout] 64959ad8b73cc57c508a41950709835b52fec86a4b800c0a49b6757472afb54d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 711fbaef3c0ef147912a24aae59132cda92b7709dd8162cd50cd280677b6c1e9
[INFO] running `Command { std: "docker" "start" "-a" "711fbaef3c0ef147912a24aae59132cda92b7709dd8162cd50cd280677b6c1e9", kill_on_drop: false }`
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/block/iterator.rs:76:16
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm/src/iterators/concat_iterator.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/iterators/merge_iterator.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/key.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/key.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm/src/mem_table.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 206 |     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] 206 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/block/iterator.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/iterators/concat_iterator.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/iterators/merge_iterator.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/key.rs:89:25
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/key.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/mem_table.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 |     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] 260 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::AsRef`
[INFO] [stdout]   --> mini-lsm-starter/src/block/builder.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::convert::AsRef;
[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: `crate::compact`
[INFO] [stdout]   --> mini-lsm-starter/src/compact.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::compact;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> mini-lsm-starter/src/iterators/two_merge_iterator.rs:48:16
[INFO] [stdout]    |
[INFO] [stdout] 48 |             if (self.b.is_valid() && self.a.key() == self.b.key()) {
[INFO] [stdout]    |                ^                                                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -             if (self.b.is_valid() && self.a.key() == self.b.key()) {
[INFO] [stdout] 48 +             if self.b.is_valid() && self.a.key() == self.b.key() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> mini-lsm-starter/src/lsm_iterator.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | / ...   ///在 move_to_non_delete 方法中，循环条件是 while self.is_valid() && self.inner.value().is_empty()。当遇到墓碑记录（空值）...
[INFO] [stdout] 85 | | ...   ///
[INFO] [stdout] 86 | | ...   ///move_to_non_delete 方法需要在使用 next() 后检查 self.inner 是否仍然有效，并相应地更新 self.is_valid
[INFO] [stdout]    | |____________________________________________________________________________________________________________^
[INFO] [stdout] 87 |   ...   Ok(())
[INFO] [stdout]    |         ------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `farmhash::fingerprint32`
[INFO] [stdout]   --> mini-lsm-starter/src/lsm_storage.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use farmhash::fingerprint32;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> mini-lsm-starter/src/lsm_storage.rs:36:40
[INFO] [stdout]    |
[INFO] [stdout] 36 | use crate::iterators::merge_iterator::{self, MergeIterator};
[INFO] [stdout]    |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Block`
[INFO] [stdout]   --> mini-lsm-starter/src/table/builder.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |     block::{Block, BlockBuilder},
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clap::builder::NonEmptyStringValueParser`
[INFO] [stdout]   --> mini-lsm-starter/src/table.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use clap::builder::NonEmptyStringValueParser;
[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:77:16
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-starter/src/iterators/concat_iterator.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 |     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] 118 |     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:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |     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] 101 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/key.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/key.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-starter/src/mem_table.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 199 |     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] 199 |     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:100:12
[INFO] [stdout]     |
[INFO] [stdout] 100 |     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] 100 |     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 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] [stderr]    Compiling mini-lsm v0.2.0 (/opt/rustwide/workdir/mini-lsm)
[INFO] [stdout] warning: unused import: `std::convert::AsRef`
[INFO] [stdout]   --> mini-lsm-starter/src/block/builder.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::convert::AsRef;
[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: `crate::compact`
[INFO] [stdout]   --> mini-lsm-starter/src/compact.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::compact;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> mini-lsm-starter/src/iterators/two_merge_iterator.rs:48:16
[INFO] [stdout]    |
[INFO] [stdout] 48 |             if (self.b.is_valid() && self.a.key() == self.b.key()) {
[INFO] [stdout]    |                ^                                                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -             if (self.b.is_valid() && self.a.key() == self.b.key()) {
[INFO] [stdout] 48 +             if self.b.is_valid() && self.a.key() == self.b.key() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> mini-lsm-starter/src/lsm_iterator.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | / ...   ///在 move_to_non_delete 方法中，循环条件是 while self.is_valid() && self.inner.value().is_empty()。当遇到墓碑记录（空值）...
[INFO] [stdout] 85 | | ...   ///
[INFO] [stdout] 86 | | ...   ///move_to_non_delete 方法需要在使用 next() 后检查 self.inner 是否仍然有效，并相应地更新 self.is_valid
[INFO] [stdout]    | |____________________________________________________________________________________________________________^
[INFO] [stdout] 87 |   ...   Ok(())
[INFO] [stdout]    |         ------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `farmhash::fingerprint32`
[INFO] [stdout]   --> mini-lsm-starter/src/lsm_storage.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use farmhash::fingerprint32;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> mini-lsm-starter/src/lsm_storage.rs:36:40
[INFO] [stdout]    |
[INFO] [stdout] 36 | use crate::iterators::merge_iterator::{self, MergeIterator};
[INFO] [stdout]    |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Block`
[INFO] [stdout]   --> mini-lsm-starter/src/table/builder.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |     block::{Block, BlockBuilder},
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clap::builder::NonEmptyStringValueParser`
[INFO] [stdout]   --> mini-lsm-starter/src/table.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use clap::builder::NonEmptyStringValueParser;
[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:77:16
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-starter/src/iterators/concat_iterator.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 |     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] 118 |     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:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |     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] 101 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/key.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/key.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-starter/src/mem_table.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 199 |     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] 199 |     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:100:12
[INFO] [stdout]     |
[INFO] [stdout] 100 |     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] 100 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/tests/harness.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/block/iterator.rs:76:16
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm/src/iterators/concat_iterator.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/iterators/merge_iterator.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/key.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/key.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm/src/mem_table.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 206 |     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] 206 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/tests/harness.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/block/iterator.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/iterators/concat_iterator.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/iterators/merge_iterator.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/key.rs:89:25
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/key.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/mem_table.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 |     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] 260 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/tests/harness.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 11.10s
[INFO] running `Command { std: "docker" "inspect" "711fbaef3c0ef147912a24aae59132cda92b7709dd8162cd50cd280677b6c1e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "711fbaef3c0ef147912a24aae59132cda92b7709dd8162cd50cd280677b6c1e9", kill_on_drop: false }`
[INFO] [stdout] 711fbaef3c0ef147912a24aae59132cda92b7709dd8162cd50cd280677b6c1e9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 66a59171c50d8cd43fa37e5b408c024e884104a1e6b1480640022744861b1520
[INFO] running `Command { std: "docker" "start" "-a" "66a59171c50d8cd43fa37e5b408c024e884104a1e6b1480640022744861b1520", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::convert::AsRef`
[INFO] [stderr]   --> mini-lsm-starter/src/block/builder.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use std::convert::AsRef;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::compact`
[INFO] [stderr]   --> mini-lsm-starter/src/compact.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 | use crate::compact;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> mini-lsm-starter/src/iterators/two_merge_iterator.rs:48:16
[INFO] [stderr]    |
[INFO] [stderr] 48 |             if (self.b.is_valid() && self.a.key() == self.b.key()) {
[INFO] [stderr]    |                ^                                                 ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 48 -             if (self.b.is_valid() && self.a.key() == self.b.key()) {
[INFO] [stderr] 48 +             if self.b.is_valid() && self.a.key() == self.b.key() {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> mini-lsm-starter/src/lsm_iterator.rs:84:9
[INFO] [stderr]    |
[INFO] [stderr] 84 | / ...   ///在 move_to_non_delete 方法中，循环条件是 while self.is_valid() && self.inner.value().is_empty()。当遇到墓碑记录（空值）...
[INFO] [stderr] 85 | | ...   ///
[INFO] [stderr] 86 | | ...   ///move_to_non_delete 方法需要在使用 next() 后检查 self.inner 是否仍然有效，并相应地更新 self.is_valid
[INFO] [stderr]    | |____________________________________________________________________________________________________________^
[INFO] [stderr] 87 |   ...   Ok(())
[INFO] [stderr]    |         ------ rustdoc does not generate documentation for expressions
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `farmhash::fingerprint32`
[INFO] [stderr]   --> mini-lsm-starter/src/lsm_storage.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | use farmhash::fingerprint32;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]   --> mini-lsm-starter/src/lsm_storage.rs:36:40
[INFO] [stderr]    |
[INFO] [stderr] 36 | use crate::iterators::merge_iterator::{self, MergeIterator};
[INFO] [stderr]    |                                        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Block`
[INFO] [stderr]   --> mini-lsm-starter/src/table/builder.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 34 |     block::{Block, BlockBuilder},
[INFO] [stderr]    |             ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `clap::builder::NonEmptyStringValueParser`
[INFO] [stderr]   --> mini-lsm-starter/src/table.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 | use clap::builder::NonEmptyStringValueParser;
[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:77:16
[INFO] [stderr]    |
[INFO] [stderr] 77 |     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] 77 |     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:118:12
[INFO] [stderr]     |
[INFO] [stderr] 118 |     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] 118 |     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:101:12
[INFO] [stderr]     |
[INFO] [stderr] 101 |     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] 101 |     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:71:25
[INFO] [stderr]    |
[INFO] [stderr] 71 |     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] 71 |     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:94:25
[INFO] [stderr]    |
[INFO] [stderr] 94 |     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] 94 |     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:199:12
[INFO] [stderr]     |
[INFO] [stderr] 199 |     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] 199 |     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:100:12
[INFO] [stderr]     |
[INFO] [stderr] 100 |     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] 100 |     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:77:16
[INFO] [stderr]    |
[INFO] [stderr] 77 |     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] 77 |     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:111:12
[INFO] [stderr]     |
[INFO] [stderr] 111 |     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] 111 |     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: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/key.rs:89:25
[INFO] [stderr]    |
[INFO] [stderr] 89 |     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] 89 |     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:119:25
[INFO] [stderr]     |
[INFO] [stderr] 119 |     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] 119 |     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:260:12
[INFO] [stderr]     |
[INFO] [stderr] 260 |     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] 260 |     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:99:12
[INFO] [stderr]    |
[INFO] [stderr] 99 |     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] 99 |     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/block/iterator.rs:76:16
[INFO] [stderr]    |
[INFO] [stderr] 76 |     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] 76 |     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:111:12
[INFO] [stderr]     |
[INFO] [stderr] 111 |     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] 111 |     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: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/key.rs:71:25
[INFO] [stderr]    |
[INFO] [stderr] 71 |     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] 71 |     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:94:25
[INFO] [stderr]    |
[INFO] [stderr] 94 |     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] 94 |     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:206:12
[INFO] [stderr]     |
[INFO] [stderr] 206 |     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] 206 |     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:99:12
[INFO] [stderr]    |
[INFO] [stderr] 99 |     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] 99 |     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:76:12
[INFO] [stderr]    |
[INFO] [stderr] 76 |     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] 76 |     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:76:12
[INFO] [stderr]    |
[INFO] [stderr] 76 |     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] 76 |     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/tests/harness.rs:76:12
[INFO] [stderr]    |
[INFO] [stderr] 76 |     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] 76 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stderr]    |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `mini-lsm-starter` (lib) generated 15 warnings (run `cargo fix --lib -p mini-lsm-starter` to apply 14 suggestions)
[INFO] [stderr] warning: `mini-lsm-mvcc` (lib) generated 7 warnings (run `cargo fix --lib -p mini-lsm-mvcc` to apply 7 suggestions)
[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-mvcc` (lib test) generated 8 warnings (7 duplicates) (run `cargo fix --lib -p mini-lsm-mvcc --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-starter` (lib test) generated 16 warnings (15 duplicates) (run `cargo fix --lib -p mini-lsm-starter --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mini_lsm-bcb133880280e046)
[INFO] [stdout] 
[INFO] [stdout] running 56 tests
[INFO] [stdout] test tests::week1_day1::test_task1_memtable_overwrite ... 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_day3::test_block_build_full ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_2 ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_large_1 ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_all ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_single_key ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_large_2 ... ok
[INFO] [stdout] test tests::week1_day1::test_task1_memtable_get ... 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_iterator ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_empty ... ok
[INFO] [stdout] test tests::week1_day2::test_task1_empty_memtable_iter ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_error ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_iterator ... ok
[INFO] [stdout] test tests::week1_day3::test_block_encode ... ok
[INFO] [stdout] test tests::week1_day3::test_block_seek_key ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_2 ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_4 ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_5 ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_1 ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_build_all ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_decode ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_build_two_blocks ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_build_single_key ... ok
[INFO] [stdout] test tests::week1_day1::test_task2_storage_integration ... ok
[INFO] [stdout] test tests::week1_day7::test_task2_sst_decode ... ok
[INFO] [stdout] test tests::week1_day2::test_task4_integration ... ok
[INFO] [stdout] test tests::week1_day1::test_task4_storage_integration ... ok
[INFO] [stdout] test tests::week1_day7::test_task3_block_key_compression ... ok
[INFO] [stdout] test tests::week1_day1::test_task3_storage_integration ... ok
[INFO] [stdout] test tests::week1_day5::test_task3_storage_get ... ok
[INFO] [stdout] test tests::week1_day6::test_task1_storage_scan ... ok
[INFO] [stdout] test tests::week1_day1::test_task3_freeze_on_capacity ... ok
[INFO] [stdout] test tests::week1_day6::test_task1_storage_get ... ok
[INFO] [stdout] test tests::week2_day1::test_task2_concat_iterator ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_3 ... ok
[INFO] [stdout] test tests::week1_day7::test_task1_bloom_filter ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_seek_key ... ok
[INFO] [stdout] test tests::week2_day1::test_task1_full_compaction ... ok
[INFO] [stdout] test tests::week2_day1::test_task3_integration ... ok
[INFO] [stdout] test tests::week1_day5::test_task2_storage_scan ... 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::week1_day6::test_task3_sst_filter ... ok
[INFO] [stdout] test tests::week2_day5::test_integration_tiered ... ok
[INFO] [stdout] test tests::week2_day5::test_integration_simple ... ok
[INFO] [stdout] test tests::week2_day5::test_integration_leveled ... ok
[INFO] [stdout] test tests::week1_day6::test_task2_auto_flush ... ok
[INFO] [stdout] test tests::week2_day5::test_multiple_compacted_ssts_leveled ... ok
[INFO] [stdout] test tests::week2_day3::test_integration ... ok
[INFO] [stdout] test tests::week2_day4::test_integration ... ok
[INFO] [stdout] test tests::week2_day2::test_integration ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 56 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 14.89s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/compaction-simulator.rs (/opt/rustwide/target/debug/deps/compaction_simulator_ref-dc76084f59a444c7)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/mini-lsm-cli.rs (/opt/rustwide/target/debug/deps/mini_lsm_cli_ref-6d9c5b9f07635ee3)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/wrapper.rs (/opt/rustwide/target/debug/deps/mini_lsm_wrapper_ref-9155bfad8fb92440)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mini_lsm_mvcc-016a90cd50d12205)
[INFO] [stdout] 
[INFO] [stdout] running 72 tests
[INFO] [stdout] test tests::week1_day1::test_task1_memtable_overwrite ... ok
[INFO] [stdout] test tests::week1_day2::test_task1_empty_memtable_iter ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_1 ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_2 ... ok
[INFO] [stdout] test tests::week1_day2::test_task1_memtable_iter ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_error ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_empty ... ok
[INFO] [stdout] test tests::week1_day2::test_task3_fused_iterator ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_full ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_large_1 ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_large_2 ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_single_key ... ok
[INFO] [stdout] test tests::week1_day3::test_block_decode ... ok
[INFO] [stdout] test tests::week1_day3::test_block_encode ... ok
[INFO] [stdout] test tests::week1_day3::test_block_iterator ... 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_day4::test_sst_build_single_key ... ok
[INFO] [stdout] test tests::week1_day3::test_block_seek_key ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_4 ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_5 ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_3 ... ok
[INFO] [stdout] test tests::week1_day1::test_task1_memtable_get ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_build_all ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_build_two_blocks ... ok
[INFO] [stdout] test tests::week1_day7::test_task1_bloom_filter ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_all ... 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_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_day4::test_sst_seek_key ... ok
[INFO] [stdout] test tests::week1_day7::test_task2_sst_decode ... ok
[INFO] [stdout] test tests::week1_day7::test_task3_block_key_compression ... ok
[INFO] [stdout] test tests::week1_day5::test_task2_storage_scan ... ok
[INFO] [stdout] test tests::week1_day6::test_task1_storage_scan ... ok
[INFO] [stdout] test tests::week1_day5::test_task3_storage_get ... ok
[INFO] [stdout] test tests::week1_day6::test_task1_storage_get ... ok
[INFO] [stdout] test tests::week2_day1::test_task2_concat_iterator ... ok
[INFO] [stdout] test tests::week3_day1::test_sst_build_multi_version_hard ... ok
[INFO] [stdout] test tests::week3_day1::test_sst_build_multi_version_simple ... 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::week3_day3::test_task2_memtable_mvcc ... ok
[INFO] [stdout] test tests::week1_day1::test_task3_freeze_on_capacity ... ok
[INFO] [stdout] test tests::week3_day4::test_task1_watermark ... ok
[INFO] [stdout] test tests::week3_day3::test_task3_sst_ts ... ok
[INFO] [stdout] test tests::week3_day4::test_task2_snapshot_watermark ... ok
[INFO] [stdout] test tests::week3_day3::test_task2_lsm_iterator_mvcc ... ok
[INFO] [stdout] test tests::week3_day6::test_serializable_1 ... ok
[INFO] [stdout] test tests::week3_day5::test_txn_integration ... ok
[INFO] [stdout] test tests::week3_day6::test_serializable_3_ts_range ... ok
[INFO] [stdout] test tests::week3_day6::test_serializable_2 ... ok
[INFO] [stdout] test tests::week3_day6::test_serializable_4_scan ... ok
[INFO] [stdout] test tests::week3_day4::test_task3_mvcc_compaction ... ok
[INFO] [stdout] test tests::week3_day6::test_serializable_5_read_only ... ok
[INFO] [stdout] test tests::week1_day6::test_task3_sst_filter ... ok
[INFO] [stdout] test tests::week3_day7::test_task3_mvcc_compaction ... 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_integration_simple ... 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::week1_day6::test_task2_auto_flush ... FAILED
[INFO] [stdout] test tests::week2_day5::test_multiple_compacted_ssts_leveled ... ok
[INFO] [stdout] test tests::week2_day4::test_integration ... ok
[INFO] [stdout] test tests::week2_day3::test_integration ... ok
[INFO] [stdout] test tests::week2_day2::test_integration ... ok
[INFO] [stdout] test tests::week3_day2::test_task3_compaction_integration ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::week1_day6::test_task2_auto_flush stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::week1_day6::test_task2_auto_flush' (182) panicked at mini-lsm-mvcc/src/tests/week1_day6.rs:150:5:
[INFO] [stdout] assertion failed: !storage.inner.state.read().l0_sstables.is_empty()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x598bd540301a - 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:     0x598bd540301a - 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:     0x598bd540301a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x598bd540301a - <<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:     0x598bd541877a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x598bd541877a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x598bd5408172 - 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:     0x598bd5408172 - <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:     0x598bd53dfa4f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x598bd53dfa4f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x598bd53fa549 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x598bd5349e1c - <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:     0x598bd5349e1c - 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:     0x598bd53fa7c2 - <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:     0x598bd53fa7c2 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x598bd53dfb3a - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x598bd53d4619 - 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:     0x598bd53e090d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x598bd5418f3c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x598bd5418f02 - core[e929cb53b82a81ca]::panicking::panic
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x598bd51a9424 - mini_lsm_mvcc[49ff0966fe8f643]::tests::week1_day6::test_task2_auto_flush
[INFO] [stdout]                                at /opt/rustwide/workdir/mini-lsm-mvcc/src/tests/week1_day6.rs:150:5
[INFO] [stdout]   21:     0x598bd519c397 - mini_lsm_mvcc[49ff0966fe8f643]::tests::week1_day6::test_task2_auto_flush::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/mini-lsm-mvcc/src/tests/week1_day6.rs:135:27
[INFO] [stdout]   22:     0x598bd52a2ef6 - <mini_lsm_mvcc[49ff0966fe8f643]::tests::week1_day6::test_task2_auto_flush::{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:     0x598bd533d0fb - <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:     0x598bd533d0fb - 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:     0x598bd534a8eb - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x598bd534a8eb - <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:     0x598bd534a8eb - 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:     0x598bd534a8eb - 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:     0x598bd534a8eb - 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:     0x598bd534a8eb - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x598bd534a8eb - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x598bd5344004 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x598bd5344004 - 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:     0x598bd534d4f2 - 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:     0x598bd534d4f2 - <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:     0x598bd534d4f2 - 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:     0x598bd534d4f2 - 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:     0x598bd534d4f2 - 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:     0x598bd534d4f2 - 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:     0x598bd534d4f2 - <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:     0x598bd54026df - <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:     0x598bd54026df - <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:     0x722a4863daa4 - <unknown>
[INFO] [stdout]   44:     0x722a486caa64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::week1_day6::test_task2_auto_flush
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 71 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 15.34s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p mini-lsm-mvcc --lib`
[INFO] running `Command { std: "docker" "inspect" "66a59171c50d8cd43fa37e5b408c024e884104a1e6b1480640022744861b1520", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66a59171c50d8cd43fa37e5b408c024e884104a1e6b1480640022744861b1520", kill_on_drop: false }`
[INFO] [stdout] 66a59171c50d8cd43fa37e5b408c024e884104a1e6b1480640022744861b1520
