[INFO] cloning repository https://github.com/timwee/mini-lsm-notes-with-solution
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/timwee/mini-lsm-notes-with-solution" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftimwee%2Fmini-lsm-notes-with-solution", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftimwee%2Fmini-lsm-notes-with-solution'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 110c91dd612f5e9badc40fa1eb5571e3ea94f4b7
[INFO] testing timwee/mini-lsm-notes-with-solution against beta-2026-01-20 for beta-1.94-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftimwee%2Fmini-lsm-notes-with-solution" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/timwee/mini-lsm-notes-with-solution
[INFO] finished tweaking git repo https://github.com/timwee/mini-lsm-notes-with-solution
[INFO] tweaked toml for git repo https://github.com/timwee/mini-lsm-notes-with-solution written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/timwee/mini-lsm-notes-with-solution on toolchain beta-2026-01-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/timwee/mini-lsm-notes-with-solution 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" "+beta-2026-01-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ab86ec6e37b4acdee0ba642f48d490a4a8ae393c744e85951ff5b01bdd180c8b
[INFO] running `Command { std: "docker" "start" "-a" "ab86ec6e37b4acdee0ba642f48d490a4a8ae393c744e85951ff5b01bdd180c8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ab86ec6e37b4acdee0ba642f48d490a4a8ae393c744e85951ff5b01bdd180c8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab86ec6e37b4acdee0ba642f48d490a4a8ae393c744e85951ff5b01bdd180c8b", kill_on_drop: false }`
[INFO] [stdout] ab86ec6e37b4acdee0ba642f48d490a4a8ae393c744e85951ff5b01bdd180c8b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 93f7b680e145fe98a95451f9a6a387a9b4aca9a4f588bc69cf9f1e726c1e0fa3
[INFO] running `Command { std: "docker" "start" "-a" "93f7b680e145fe98a95451f9a6a387a9b4aca9a4f588bc69cf9f1e726c1e0fa3", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.67
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling anstyle-parse v0.2.4
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling anstyle-query v1.1.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling unicode-width v0.1.13
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling either v1.12.0
[INFO] [stderr]    Compiling anstream v0.6.14
[INFO] [stderr]    Compiling clap_lex v0.7.1
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling raw-cpuid v10.7.0
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling clap_builder v4.5.7
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling moka v0.9.9
[INFO] [stderr]    Compiling radix_trie v0.2.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.13
[INFO] [stderr]    Compiling scheduled-thread-pool v0.2.7
[INFO] [stderr]    Compiling nix v0.27.1
[INFO] [stderr]    Compiling quanta v0.11.1
[INFO] [stderr]    Compiling uuid v1.8.0
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling triomphe v0.1.13
[INFO] [stderr]    Compiling crossbeam-skiplist v0.1.3
[INFO] [stderr]    Compiling farmhash v1.1.5
[INFO] [stderr]    Compiling bytes v1.6.0
[INFO] [stderr]    Compiling shared_child v1.0.0
[INFO] [stderr]    Compiling os_pipe v1.2.0
[INFO] [stderr]    Compiling console v0.15.8
[INFO] [stderr]    Compiling fd-lock v4.0.2
[INFO] [stderr]    Compiling duct v0.13.7
[INFO] [stderr]    Compiling rustyline v13.0.0
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling clap_derive v4.5.5
[INFO] [stderr]    Compiling ouroboros_macro v0.18.4
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling ouroboros v0.18.4
[INFO] [stderr]    Compiling clap v4.5.7
[INFO] [stderr]    Compiling mini-lsm-xtask v0.2.0 (/opt/rustwide/workdir/xtask)
[INFO] [stderr]    Compiling serde v1.0.203
[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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/block/iterator.rs:76:16
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm/src/iterators/concat_iterator.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/iterators/merge_iterator.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/key.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/key.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm/src/mem_table.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/block/iterator.rs:79:16
[INFO] [stdout]    |
[INFO] [stdout] 79 |     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] 79 |     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:115:12
[INFO] [stdout]     |
[INFO] [stdout] 115 |     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] 115 |     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:124:12
[INFO] [stdout]     |
[INFO] [stdout] 124 |     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] 124 |     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:268:12
[INFO] [stdout]     |
[INFO] [stdout] 268 |     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] 268 |     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:67:50
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound<KeySlice> {
[INFO] [stdout]    |                                                  ^^^^^                     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                                  |
[INFO] [stdout]    |                                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound<KeySlice<'_>> {
[INFO] [stdout]    |                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/mem_table.rs:244:12
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s
[INFO] running `Command { std: "docker" "inspect" "93f7b680e145fe98a95451f9a6a387a9b4aca9a4f588bc69cf9f1e726c1e0fa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "93f7b680e145fe98a95451f9a6a387a9b4aca9a4f588bc69cf9f1e726c1e0fa3", kill_on_drop: false }`
[INFO] [stdout] 93f7b680e145fe98a95451f9a6a387a9b4aca9a4f588bc69cf9f1e726c1e0fa3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 353b8690699ad5d3abe23f0ae91f181626ef5ec6a55322527bcae1b5faf9557c
[INFO] running `Command { std: "docker" "start" "-a" "353b8690699ad5d3abe23f0ae91f181626ef5ec6a55322527bcae1b5faf9557c", kill_on_drop: false }`
[INFO] [stderr]    Compiling tempfile v3.10.1
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/block/iterator.rs:76:16
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm/src/iterators/concat_iterator.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/iterators/merge_iterator.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/key.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/key.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm/src/mem_table.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/block/iterator.rs:79:16
[INFO] [stdout]    |
[INFO] [stdout] 79 |     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] 79 |     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:115:12
[INFO] [stdout]     |
[INFO] [stdout] 115 |     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] 115 |     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:124:12
[INFO] [stdout]     |
[INFO] [stdout] 124 |     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] 124 |     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:268:12
[INFO] [stdout]     |
[INFO] [stdout] 268 |     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] 268 |     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:67:50
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound<KeySlice> {
[INFO] [stdout]    |                                                  ^^^^^                     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                                  |
[INFO] [stdout]    |                                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound<KeySlice<'_>> {
[INFO] [stdout]    |                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/mem_table.rs:244:12
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling mini-lsm-xtask v0.2.0 (/opt/rustwide/workdir/xtask)
[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] [stderr]    Compiling mini-lsm-mvcc v0.2.0 (/opt/rustwide/workdir/mini-lsm-mvcc)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-starter/src/block/iterator.rs:79:16
[INFO] [stdout]    |
[INFO] [stdout] 79 |     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] 79 |     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:115:12
[INFO] [stdout]     |
[INFO] [stdout] 115 |     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] 115 |     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:124:12
[INFO] [stdout]     |
[INFO] [stdout] 124 |     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] 124 |     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:268:12
[INFO] [stdout]     |
[INFO] [stdout] 268 |     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] 268 |     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:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm/src/tests/harness.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/block/iterator.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/iterators/concat_iterator.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/iterators/merge_iterator.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/key.rs:89:25
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/key.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn as_key_slice(&self) -> KeySlice {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn as_key_slice(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/mem_table.rs:67:50
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound<KeySlice> {
[INFO] [stdout]    |                                                  ^^^^^                     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                                  |
[INFO] [stdout]    |                                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound<KeySlice<'_>> {
[INFO] [stdout]    |                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mini-lsm-mvcc/src/mem_table.rs:244:12
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn key(&self) -> KeySlice {
[INFO] [stdout]     |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |            |
[INFO] [stdout]     |            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]     |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/table/iterator.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mini-lsm-mvcc/src/tests/harness.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn key(&self) -> KeySlice<'_> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 21.24s
[INFO] running `Command { std: "docker" "inspect" "353b8690699ad5d3abe23f0ae91f181626ef5ec6a55322527bcae1b5faf9557c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "353b8690699ad5d3abe23f0ae91f181626ef5ec6a55322527bcae1b5faf9557c", kill_on_drop: false }`
[INFO] [stdout] 353b8690699ad5d3abe23f0ae91f181626ef5ec6a55322527bcae1b5faf9557c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4c94768b60946b90fb021942566aa7162b5ed183b7314b5a73cdc499c2f937a5
[INFO] running `Command { std: "docker" "start" "-a" "4c94768b60946b90fb021942566aa7162b5ed183b7314b5a73cdc499c2f937a5", kill_on_drop: false }`
[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:67:50
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound<KeySlice> {
[INFO] [stderr]    |                                                  ^^^^^                     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                                  |
[INFO] [stderr]    |                                                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound<KeySlice<'_>> {
[INFO] [stderr]    |                                                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mini-lsm-mvcc/src/mem_table.rs:244:12
[INFO] [stderr]     |
[INFO] [stderr] 244 |     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] 244 |     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:203:12
[INFO] [stderr]     |
[INFO] [stderr] 203 |     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] 203 |     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-starter/src/block/iterator.rs:79:16
[INFO] [stderr]    |
[INFO] [stderr] 79 |     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] 79 |     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:115:12
[INFO] [stderr]     |
[INFO] [stderr] 115 |     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] 115 |     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:124:12
[INFO] [stderr]     |
[INFO] [stderr] 124 |     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] 124 |     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:268:12
[INFO] [stderr]     |
[INFO] [stderr] 268 |     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] 268 |     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: `mini-lsm-mvcc` (lib) generated 8 warnings (run `cargo fix --lib -p mini-lsm-mvcc` to apply 8 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-starter` (lib) generated 7 warnings (run `cargo fix --lib -p mini-lsm-starter` to apply 7 suggestions)
[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: `mini-lsm-mvcc` (lib test) generated 9 warnings (8 duplicates) (run `cargo fix --lib -p mini-lsm-mvcc --tests` to apply 1 suggestion)
[INFO] [stderr] 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: 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: `mini-lsm-starter` (lib test) generated 8 warnings (7 duplicates) (run `cargo fix --lib -p mini-lsm-starter --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `mini-lsm` (lib test) generated 8 warnings (7 duplicates) (run `cargo fix --lib -p mini-lsm --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mini_lsm-a085629c40e66e70)
[INFO] [stdout] 
[INFO] [stdout] running 56 tests
[INFO] [stdout] test tests::week1_day2::test_task1_memtable_iter ... ok
[INFO] [stdout] test tests::week1_day1::test_task1_memtable_get ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_2 ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_empty ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_error ... ok
[INFO] [stdout] test tests::week1_day2::test_task3_fused_iterator ... ok
[INFO] [stdout] test tests::week1_day1::test_task2_storage_integration ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_all ... 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_day1::test_task1_memtable_overwrite ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_single_key ... ok
[INFO] [stdout] test tests::week1_day2::test_task1_empty_memtable_iter ... ok
[INFO] [stdout] test tests::week1_day3::test_block_decode ... ok
[INFO] [stdout] test tests::week1_day3::test_block_build_large_2 ... ok
[INFO] [stdout] test tests::week1_day2::test_task2_merge_1 ... 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_day3::test_block_seek_key ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_build_all ... ok
[INFO] [stdout] test tests::week1_day1::test_task4_storage_integration ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_build_two_blocks ... 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_day5::test_task1_merge_3 ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_4 ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_decode ... ok
[INFO] [stdout] test tests::week1_day5::test_task1_merge_5 ... ok
[INFO] [stdout] test tests::week1_day2::test_task4_integration ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_iterator ... ok
[INFO] [stdout] test tests::week1_day1::test_task3_storage_integration ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_build_single_key ... ok
[INFO] [stdout] test tests::week1_day4::test_sst_seek_key ... ok
[INFO] [stdout] test tests::week1_day7::test_task1_bloom_filter ... ok
[INFO] [stdout] test tests::week1_day5::test_task3_storage_get ... ok
[INFO] [stdout] test tests::week1_day7::test_task2_sst_decode ... ok
[INFO] [stdout] test tests::week1_day5::test_task2_storage_scan ... ok
[INFO] [stdout] test tests::week1_day1::test_task3_freeze_on_capacity ... ok
[INFO] [stdout] test tests::week1_day7::test_task3_block_key_compression ... ok
[INFO] [stdout] test tests::week1_day6::test_task1_storage_scan ... 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::week2_day1::test_task3_integration ... ok
[INFO] [stdout] test tests::week2_day1::test_task1_full_compaction ... ok
[INFO] [stdout] test tests::week2_day5::test_integration_leveled ... ok
[INFO] [stdout] test tests::week2_day5::test_integration_simple ... ok
[INFO] [stdout] test tests::week2_day5::test_integration_tiered ... ok
[INFO] [stdout] test tests::week2_day6::test_integration_leveled ... ok
[INFO] [stdout] test tests::week1_day6::test_task3_sst_filter ... ok
[INFO] [stdout] test tests::week2_day6::test_integration_simple ... ok
[INFO] [stdout] test tests::week2_day6::test_integration_tiered ... 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_day2::test_integration ... FAILED
[INFO] [stdout] test tests::week2_day3::test_integration ... ok
[INFO] [stdout] test tests::week2_day4::test_integration ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::week1_day6::test_task2_auto_flush stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::week1_day6::test_task2_auto_flush' (63) panicked at mini-lsm/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:     0x5e06bd431132 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e06bd431132 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e06bd431132 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e06bd431132 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e06bd44220a - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e06bd44220a - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x5e06bd3fd576 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5e06bd3fd576 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5e06bd40f689 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e06bd40f689 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e06bd40f521 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e06bd38a83e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5e06bd38a83e - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5e06bd40f9b2 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5e06bd40f9b2 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e06bd40f77a - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5e06bd409d79 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e06bd3f13ed - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e06bd449a1c - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e06bd4499e2 - core::panicking::panic::h6519d2e94a76dd19
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5e06bd1e43db - mini_lsm::tests::week1_day6::test_task2_auto_flush::hd0f90659b842f12b
[INFO] [stdout]                                at /opt/rustwide/workdir/mini-lsm/src/tests/week1_day6.rs:150:5
[INFO] [stdout]   21:     0x5e06bd1e4637 - mini_lsm::tests::week1_day6::test_task2_auto_flush::{{closure}}::h8e3223bdd839cf63
[INFO] [stdout]                                at /opt/rustwide/workdir/mini-lsm/src/tests/week1_day6.rs:135:27
[INFO] [stdout]   22:     0x5e06bd298e46 - core::ops::function::FnOnce::call_once::h89a577f2fccb1d6e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5e06bd38a63b - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5e06bd38a63b - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x5e06bd39e00a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x5e06bd39e00a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x5e06bd39e00a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5e06bd39e00a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5e06bd39e00a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5e06bd39e00a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x5e06bd39e00a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x5e06bd378464 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x5e06bd378464 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5e06bd37bd22 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x5e06bd37bd22 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x5e06bd37bd22 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5e06bd37bd22 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5e06bd37bd22 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5e06bd37bd22 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x5e06bd37bd22 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5e06bd404ecf - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   42:     0x5e06bd404ecf - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   43:     0x7d60e8d6baa4 - <unknown>
[INFO] [stdout]   44:     0x7d60e8df8a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::week2_day2::test_integration stdout ----
[INFO] [stdout] flushed 0.sst with size=1070964
[INFO] [stdout] flushed 1.sst with size=1071111
[INFO] [stdout] compaction triggered at level 0 because L0 has 2 SSTs >= 2
[INFO] [stdout] L0 (2): [1, 0]
[INFO] [stdout] L1 (0): []
[INFO] [stdout] L2 (0): []
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: None, upper_level_sst_ids: [1, 0], lower_level: 1, lower_level_sst_ids: [], is_lower_level_bottom_level: false })
[INFO] [stdout] flushed 2.sst with size=1070943
[INFO] [stdout] flushed 3.sst with size=1070993
[INFO] [stdout] flushed 4.sst with size=1070855
[INFO] [stdout] compaction finished: 2 files removed, 3 files added, output=[6, 8, 9]
[INFO] [stdout] compaction triggered at level 0 because L0 has 3 SSTs >= 2
[INFO] [stdout] L0 (3): [4, 3, 2]
[INFO] [stdout] L1 (3): [6, 8, 9]
[INFO] [stdout] L2 (0): []
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: None, upper_level_sst_ids: [4, 3, 2], lower_level: 1, lower_level_sst_ids: [6, 8, 9], is_lower_level_bottom_level: false })
[INFO] [stdout] flushed 5.sst with size=1071090
[INFO] [stdout] flushed 7.sst with size=1070838
[INFO] [stdout] flushed 10.sst with size=1071059
[INFO] [stdout] flushed 11.sst with size=1070994
[INFO] [stdout] compaction finished: 6 files removed, 3 files added, output=[12, 14, 16]
[INFO] [stdout] compaction triggered at level 0 because L0 has 4 SSTs >= 2
[INFO] [stdout] L0 (4): [11, 10, 7, 5]
[INFO] [stdout] L1 (3): [12, 14, 16]
[INFO] [stdout] L2 (0): []
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: None, upper_level_sst_ids: [11, 10, 7, 5], lower_level: 1, lower_level_sst_ids: [12, 14, 16], is_lower_level_bottom_level: false })
[INFO] [stdout] flushed 13.sst with size=1070921
[INFO] [stdout] flushed 15.sst with size=1071066
[INFO] [stdout] flushed 17.sst with size=1070905
[INFO] [stdout] flushed 18.sst with size=1071006
[INFO] [stdout] flushed 20.sst with size=1070920
[INFO] [stdout] compaction finished: 7 files removed, 4 files added, output=[19, 21, 23, 25]
[INFO] [stdout] compaction triggered at level 0 because L0 has 5 SSTs >= 2
[INFO] [stdout] L0 (5): [20, 18, 17, 15, 13]
[INFO] [stdout] L1 (4): [19, 21, 23, 25]
[INFO] [stdout] L2 (0): []
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: None, upper_level_sst_ids: [20, 18, 17, 15, 13], lower_level: 1, lower_level_sst_ids: [19, 21, 23, 25], is_lower_level_bottom_level: false })
[INFO] [stdout] flushed 22.sst with size=1071091
[INFO] [stdout] flushed 24.sst with size=1071026
[INFO] [stdout] flushed 26.sst with size=1071013
[INFO] [stdout] flushed 28.sst with size=1070922
[INFO] [stdout] flushed 30.sst with size=1070980
[INFO] [stdout] flushed 31.sst with size=1071068
[INFO] [stdout] compaction finished: 9 files removed, 6 files added, output=[27, 29, 32, 34, 36, 37]
[INFO] [stdout] compaction triggered at level 0 because L0 has 6 SSTs >= 2
[INFO] [stdout] L0 (6): [31, 30, 28, 26, 24, 22]
[INFO] [stdout] L1 (6): [27, 29, 32, 34, 36, 37]
[INFO] [stdout] L2 (0): []
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: None, upper_level_sst_ids: [31, 30, 28, 26, 24, 22], lower_level: 1, lower_level_sst_ids: [27, 29, 32, 34, 36, 37], is_lower_level_bottom_level: false })
[INFO] [stdout] flushed 33.sst with size=1070917
[INFO] [stdout] flushed 35.sst with size=1070968
[INFO] [stdout] compaction finished: 12 files removed, 7 files added, output=[39, 40, 41, 42, 43, 44, 45]
[INFO] [stdout] compaction triggered at level 0 because L0 has 2 SSTs >= 2
[INFO] [stdout] L0 (2): [35, 33]
[INFO] [stdout] L1 (7): [39, 40, 41, 42, 43, 44, 45]
[INFO] [stdout] L2 (0): []
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: None, upper_level_sst_ids: [35, 33], lower_level: 1, lower_level_sst_ids: [39, 40, 41, 42, 43, 44, 45], is_lower_level_bottom_level: false })
[INFO] [stdout] compaction finished: 9 files removed, 7 files added, output=[46, 47, 48, 49, 50, 51, 52]
[INFO] [stdout] compaction triggered at level 1 and 2 with size ratio 0
[INFO] [stdout] L1 (7): [46, 47, 48, 49, 50, 51, 52]
[INFO] [stdout] L2 (0): []
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: Some(1), upper_level_sst_ids: [46, 47, 48, 49, 50, 51, 52], lower_level: 2, lower_level_sst_ids: [], is_lower_level_bottom_level: false })
[INFO] [stdout] compaction finished: 7 files removed, 7 files added, output=[53, 54, 55, 56, 57, 58, 59]
[INFO] [stdout] compaction triggered at level 2 and 3 with size ratio 0
[INFO] [stdout] L1 (0): []
[INFO] [stdout] L2 (7): [53, 54, 55, 56, 57, 58, 59]
[INFO] [stdout] L3 (0): []
[INFO] [stdout] running compaction task: Simple(SimpleLeveledCompactionTask { upper_level: Some(2), upper_level_sst_ids: [53, 54, 55, 56, 57, 58, 59], lower_level: 3, lower_level_sst_ids: [], is_lower_level_bottom_level: true })
[INFO] [stdout] L1 (0): []
[INFO] [stdout] L2 (7): [53, 54, 55, 56, 57, 58, 59]
[INFO] [stdout] L3 (0): []
[INFO] [stdout] This test case does not guarantee your compaction algorithm produces a LSM state as expected. It only does minimal checks on the size of the levels. Please use the compaction simulator to check if the compaction is correctly going on.
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::week2_day2::test_integration' (72) panicked at mini-lsm/src/tests/harness.rs:339:17:
[INFO] [stdout] L2/L3, 0/7<200%
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e06bd431132 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e06bd431132 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e06bd431132 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e06bd431132 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e06bd44220a - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e06bd44220a - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x5e06bd3fd576 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5e06bd3fd576 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5e06bd40f689 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e06bd40f689 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e06bd40f521 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e06bd38a83e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5e06bd38a83e - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5e06bd40f9b2 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5e06bd40f9b2 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e06bd40f748 - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5e06bd409d79 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e06bd3f13ed - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e06bd449a1c - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e06bd322480 - mini_lsm::tests::harness::check_compaction_ratio::h5e537bda4b87462b
[INFO] [stdout]                                at /opt/rustwide/workdir/mini-lsm/src/tests/harness.rs:339:17
[INFO] [stdout]   20:     0x5e06bd254024 - mini_lsm::tests::week2_day2::test_integration::h42e646aa4331a8a3
[INFO] [stdout]                                at /opt/rustwide/workdir/mini-lsm/src/tests/week2_day2.rs:40:5
[INFO] [stdout]   21:     0x5e06bd254087 - mini_lsm::tests::week2_day2::test_integration::{{closure}}::hee5e20387e4c2716
[INFO] [stdout]                                at /opt/rustwide/workdir/mini-lsm/src/tests/week2_day2.rs:25:22
[INFO] [stdout]   22:     0x5e06bd299626 - core::ops::function::FnOnce::call_once::hdd86e49e570475d1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5e06bd38a63b - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5e06bd38a63b - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x5e06bd39e00a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x5e06bd39e00a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x5e06bd39e00a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5e06bd39e00a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5e06bd39e00a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5e06bd39e00a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x5e06bd39e00a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x5e06bd378464 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x5e06bd378464 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5e06bd37bd22 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x5e06bd37bd22 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x5e06bd37bd22 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5e06bd37bd22 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5e06bd37bd22 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5e06bd37bd22 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x5e06bd37bd22 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5e06bd404ecf - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   42:     0x5e06bd404ecf - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   43:     0x7d60e8d6baa4 - <unknown>
[INFO] [stdout]   44:     0x7d60e8df8a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::week1_day6::test_task2_auto_flush
[INFO] [stdout]     tests::week2_day2::test_integration
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 54 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 26.06s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p mini-lsm --lib`
[INFO] running `Command { std: "docker" "inspect" "4c94768b60946b90fb021942566aa7162b5ed183b7314b5a73cdc499c2f937a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c94768b60946b90fb021942566aa7162b5ed183b7314b5a73cdc499c2f937a5", kill_on_drop: false }`
[INFO] [stdout] 4c94768b60946b90fb021942566aa7162b5ed183b7314b5a73cdc499c2f937a5
