[INFO] cloning repository https://github.com/KaguraMilet/MiniLSM [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KaguraMilet/MiniLSM" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKaguraMilet%2FMiniLSM", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKaguraMilet%2FMiniLSM'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] bd4dfa7309f53eca482c9eadea8c433e7615a529 [INFO] checking KaguraMilet/MiniLSM/bd4dfa7309f53eca482c9eadea8c433e7615a529 against master#292be5c7c05138d753bbd4b30db7a3f1a5c914f7 for pr-148271 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKaguraMilet%2FMiniLSM" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-5-tc1/source/.cargo/config.toml [INFO] removed /workspace/builds/worker-5-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/KaguraMilet/MiniLSM [INFO] finished tweaking git repo https://github.com/KaguraMilet/MiniLSM [INFO] tweaked toml for git repo https://github.com/KaguraMilet/MiniLSM written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/KaguraMilet/MiniLSM on toolchain 292be5c7c05138d753bbd4b30db7a3f1a5c914f7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/KaguraMilet/MiniLSM 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" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded error-code v3.2.0 [INFO] [stderr] Downloaded triomphe v0.1.11 [INFO] [stderr] Downloaded ouroboros_macro v0.18.4 [INFO] [stderr] Downloaded clipboard-win v5.3.1 [INFO] [stderr] Downloaded plotters-svg v0.3.6 [INFO] [stderr] Downloaded ouroboros v0.18.4 [INFO] [stderr] Downloaded foldhash v0.1.1 [INFO] [stderr] Downloaded plotters-backend v0.3.6 [INFO] [stderr] Downloaded sdd v3.0.3 [INFO] [stderr] Downloaded duct v0.13.7 [INFO] [stderr] Downloaded crossbeam-skiplist v0.1.3 [INFO] [stderr] Downloaded proc-macro2 v1.0.83 [INFO] [stderr] Downloaded structured-logger v1.0.3 [INFO] [stderr] Downloaded raw-cpuid v11.1.0 [INFO] [stderr] Downloaded rustyline v13.0.0 [INFO] [stderr] Downloaded plotters v0.3.6 [INFO] [stderr] Downloaded scc v2.2.0 [INFO] [stderr] Downloaded moka v0.9.9 [INFO] [stderr] Downloaded moka v0.12.8 [INFO] [stderr] Downloaded farmhash v1.1.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 201140ad91a34274522694212589b54c41d69d926e15716f454b1d87c6915f36 [INFO] running `Command { std: "docker" "start" "-a" "201140ad91a34274522694212589b54c41d69d926e15716f454b1d87c6915f36", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "201140ad91a34274522694212589b54c41d69d926e15716f454b1d87c6915f36", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "201140ad91a34274522694212589b54c41d69d926e15716f454b1d87c6915f36", kill_on_drop: false }` [INFO] [stdout] 201140ad91a34274522694212589b54c41d69d926e15716f454b1d87c6915f36 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d6502e21b90ae1f71fda62fe604d713e80ac8ae5fa3a158cd108d1e108756210 [INFO] running `Command { std: "docker" "start" "-a" "d6502e21b90ae1f71fda62fe604d713e80ac8ae5fa3a158cd108d1e108756210", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.83 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Compiling typeid v1.0.2 [INFO] [stderr] Checking memchr v2.7.2 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking is_terminal_polyfill v1.70.0 [INFO] [stderr] Checking anstyle-parse v0.2.4 [INFO] [stderr] Checking anstyle v1.0.7 [INFO] [stderr] Checking anstyle-query v1.0.3 [INFO] [stderr] Checking colorchoice v1.0.1 [INFO] [stderr] Compiling serde_json v1.0.120 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking unicode-width v0.1.12 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking clap_lex v0.7.0 [INFO] [stderr] Compiling either v1.12.0 [INFO] [stderr] Checking crossbeam-channel v0.5.13 [INFO] [stderr] Checking triomphe v0.1.11 [INFO] [stderr] Checking unicode-segmentation v1.11.0 [INFO] [stderr] Checking bytes v1.6.1 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking uuid v1.8.0 [INFO] [stderr] Checking tagptr v0.2.0 [INFO] [stderr] Checking anstream v0.6.14 [INFO] [stderr] Checking aliasable v0.1.3 [INFO] [stderr] Checking farmhash v1.1.5 [INFO] [stderr] Compiling moka v0.9.9 [INFO] [stderr] Checking quanta v0.11.1 [INFO] [stderr] Checking scheduled-thread-pool v0.2.7 [INFO] [stderr] Checking nix v0.27.1 [INFO] [stderr] Checking crossbeam-skiplist v0.1.3 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking arc-swap v1.7.1 [INFO] [stderr] Checking fastrand v2.1.0 [INFO] [stderr] Checking raw-cpuid v11.1.0 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling moka v0.12.8 [INFO] [stderr] Checking nix v0.28.0 [INFO] [stderr] Checking clap_builder v4.5.9 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Checking foldhash v0.1.1 [INFO] [stderr] Checking xxhash-rust v0.8.12 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking regex-syntax v0.8.3 [INFO] [stderr] Checking plotters-backend v0.3.6 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking rayon-core v1.12.1 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking plotters-svg v0.3.6 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking sdd v3.0.3 [INFO] [stderr] Compiling syn v2.0.66 [INFO] [stderr] Checking scc v2.2.0 [INFO] [stderr] Checking plotters v0.3.6 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking is-terminal v0.4.12 [INFO] [stderr] Checking shared_child v1.0.0 [INFO] [stderr] Checking os_pipe v1.1.5 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Checking duct v0.13.7 [INFO] [stderr] Checking quanta v0.12.3 [INFO] [stderr] Checking regex-automata v0.4.6 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking fd-lock v4.0.2 [INFO] [stderr] Checking tempfile v3.10.1 [INFO] [stderr] Checking regex v1.10.4 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Compiling clap_derive v4.5.8 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling ouroboros_macro v0.18.4 [INFO] [stderr] Compiling serial_test_derive v3.1.1 [INFO] [stderr] Checking thiserror v1.0.63 [INFO] [stderr] Checking ouroboros v0.18.4 [INFO] [stderr] Checking clap v4.5.9 [INFO] [stderr] Checking mini-lsm-xtask v0.2.0 (/opt/rustwide/workdir/xtask) [INFO] [stderr] Checking erased-serde v0.4.5 [INFO] [stderr] Checking serde_fmt v1.0.3 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking value-bag-serde1 v1.9.0 [INFO] [stderr] Checking value-bag v1.9.0 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Checking rustyline v13.0.0 [INFO] [stderr] Checking structured-logger v1.0.3 [INFO] [stderr] Checking rustyline v14.0.0 [INFO] [stderr] Checking serial_test v3.1.1 [INFO] [stderr] Checking mini-lsm-starter v0.2.0 (/opt/rustwide/workdir/mini-lsm-starter) [INFO] [stderr] Checking mini-lsm v0.2.0 (/opt/rustwide/workdir/mini-lsm) [INFO] [stderr] Checking mini-lsm-mvcc v0.2.0 (/opt/rustwide/workdir/mini-lsm-mvcc) [INFO] [stdout] error[E0432]: unresolved import `foldhash` [INFO] [stdout] --> mini-lsm/src/mvcc.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use foldhash::{HashSet, HashSetExt}; [INFO] [stdout] | ^^^^^^^^ use of unresolved module or unlinked crate `foldhash` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `foldhash`, use `cargo add foldhash` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::key::TimeStamp` [INFO] [stdout] --> mini-lsm/src/mvcc.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::{key::TimeStamp, lsm_storage::LsmStorageInner}; [INFO] [stdout] | ^^^^^^^^^^^^^^ no `TimeStamp` in `key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `foldhash` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use foldhash::HashSet; [INFO] [stdout] | ^^^^^^^^ use of unresolved module or unlinked crate `foldhash` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `foldhash`, use `cargo add foldhash` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `log` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use log::info; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `log` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `log`, use `cargo add log` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `foldhash` [INFO] [stdout] --> mini-lsm/src/mvcc.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use foldhash::{HashSet, HashSetExt}; [INFO] [stdout] | ^^^^^^^^ use of unresolved module or unlinked crate `foldhash` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `foldhash`, use `cargo add foldhash` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::key::TimeStamp` [INFO] [stdout] --> mini-lsm/src/mvcc.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::{key::TimeStamp, lsm_storage::LsmStorageInner}; [INFO] [stdout] | ^^^^^^^^^^^^^^ no `TimeStamp` in `key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `foldhash` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use foldhash::HashSet; [INFO] [stdout] | ^^^^^^^^ use of unresolved module or unlinked crate `foldhash` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `foldhash`, use `cargo add foldhash` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `log` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use log::info; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `log` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `log`, use `cargo add log` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:49:39 [INFO] [stdout] | [INFO] [stdout] 49 | let mut read_write_sets = key_hashes.lock(); [INFO] [stdout] | ^^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:49:39 [INFO] [stdout] | [INFO] [stdout] 49 | let mut read_write_sets = key_hashes.lock(); [INFO] [stdout] | ^^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_with_ts` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:56:20 [INFO] [stdout] | [INFO] [stdout] 56 | self.inner.get_with_ts(key, self.read_ts) [INFO] [stdout] | ^^^^^^^^^^^ method not found in `std::sync::Arc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `version` is never read [INFO] [stdout] --> mini-lsm-starter/src/common/hybrid_lock.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 187 | pub struct ShardGuard<'a, T: ?Sized> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 188 | latch: &'a HybridLatch, [INFO] [stdout] 189 | version: u64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [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:65:16 [INFO] [stdout] | [INFO] [stdout] 65 | 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] 65 | 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:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | 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] 114 | 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:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | 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] 89 | 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:76:25 [INFO] [stdout] | [INFO] [stdout] 76 | 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] 76 | 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:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | 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] 106 | pub fn as_key_slice(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_with_ts` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:56:20 [INFO] [stdout] | [INFO] [stdout] 56 | self.inner.get_with_ts(key, self.read_ts) [INFO] [stdout] | ^^^^^^^^^^^ method not found in `std::sync::Arc` [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: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-starter/src/table/iterator.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | 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] 77 | fn key(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `scan_with_ts` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:75:35 [INFO] [stdout] | [INFO] [stdout] 75 | let lsm_iter = self.inner.scan_with_ts(lower, upper, self.read_ts)?; [INFO] [stdout] | ^^^^^^^^^^^^ method not found in `std::sync::Arc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:86:39 [INFO] [stdout] | [INFO] [stdout] 86 | let mut read_write_sets = key_hashes.lock(); [INFO] [stdout] | ^^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:101:39 [INFO] [stdout] | [INFO] [stdout] 101 | let mut read_write_sets = key_hashes.lock(); [INFO] [stdout] | ^^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `scan_with_ts` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:75:35 [INFO] [stdout] | [INFO] [stdout] 75 | let lsm_iter = self.inner.scan_with_ts(lower, upper, self.read_ts)?; [INFO] [stdout] | ^^^^^^^^^^^^ method not found in `std::sync::Arc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:86:39 [INFO] [stdout] | [INFO] [stdout] 86 | let mut read_write_sets = key_hashes.lock(); [INFO] [stdout] | ^^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:101:39 [INFO] [stdout] | [INFO] [stdout] 101 | let mut read_write_sets = key_hashes.lock(); [INFO] [stdout] | ^^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mvcc` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:115:40 [INFO] [stdout] | [INFO] [stdout] 115 | let _commit_guard = self.inner.mvcc().commit_lock.lock(); [INFO] [stdout] | ^^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mvcc` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:115:40 [INFO] [stdout] | [INFO] [stdout] 115 | let _commit_guard = self.inner.mvcc().commit_lock.lock(); [INFO] [stdout] | ^^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `write_batch_inner` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:133:36 [INFO] [stdout] | [INFO] [stdout] 133 | let commit_ts = self.inner.write_batch_inner(&batch)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `write_batch` with a similar name [INFO] [stdout] | [INFO] [stdout] 133 - let commit_ts = self.inner.write_batch_inner(&batch)?; [INFO] [stdout] 133 + let commit_ts = self.inner.write_batch(&batch)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:136:49 [INFO] [stdout] | [INFO] [stdout] 136 | let write_set = std::mem::take(&mut key_hashes.lock().1); [INFO] [stdout] | ^^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mvcc` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:144:18 [INFO] [stdout] | [INFO] [stdout] 142 | assert!(self [INFO] [stdout] | _____________________- [INFO] [stdout] 143 | | .inner [INFO] [stdout] 144 | | .mvcc() [INFO] [stdout] | | -^^^^-- help: remove the arguments [INFO] [stdout] | | || [INFO] [stdout] | |_________________|field, not a method [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `write_batch_inner` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:133:36 [INFO] [stdout] | [INFO] [stdout] 133 | let commit_ts = self.inner.write_batch_inner(&batch)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `write_batch` with a similar name [INFO] [stdout] | [INFO] [stdout] 133 - let commit_ts = self.inner.write_batch_inner(&batch)?; [INFO] [stdout] 133 + let commit_ts = self.inner.write_batch(&batch)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:136:49 [INFO] [stdout] | [INFO] [stdout] 136 | let write_set = std::mem::take(&mut key_hashes.lock().1); [INFO] [stdout] | ^^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mvcc` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:150:24 [INFO] [stdout] | [INFO] [stdout] 150 | self.inner.mvcc().vacuum(); [INFO] [stdout] | ^^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:165:46 [INFO] [stdout] | [INFO] [stdout] 165 | let (ref read_set, ref write_set) = *rw_sets.lock(); [INFO] [stdout] | ^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | if write_set.is_empty() { [INFO] [stdout] | ^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mvcc` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:144:18 [INFO] [stdout] | [INFO] [stdout] 142 | assert!(self [INFO] [stdout] | _____________________- [INFO] [stdout] 143 | | .inner [INFO] [stdout] 144 | | .mvcc() [INFO] [stdout] | | -^^^^-- help: remove the arguments [INFO] [stdout] | | || [INFO] [stdout] | |_________________|field, not a method [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mvcc` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:172:41 [INFO] [stdout] | [INFO] [stdout] 172 | let committed_txns = self.inner.mvcc().committed_txns.lock(); [INFO] [stdout] | ^^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mvcc` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:150:24 [INFO] [stdout] | [INFO] [stdout] 150 | self.inner.mvcc().vacuum(); [INFO] [stdout] | ^^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:165:46 [INFO] [stdout] | [INFO] [stdout] 165 | let (ref read_set, ref write_set) = *rw_sets.lock(); [INFO] [stdout] | ^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | if write_set.is_empty() { [INFO] [stdout] | ^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mvcc` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:172:41 [INFO] [stdout] | [INFO] [stdout] 172 | let committed_txns = self.inner.mvcc().committed_txns.lock(); [INFO] [stdout] | ^^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mvcc` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:185:33 [INFO] [stdout] | [INFO] [stdout] 185 | let mut ts = self.inner.mvcc().ts.lock(); [INFO] [stdout] | ^^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mvcc` found for struct `std::sync::Arc` in the current scope [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:185:33 [INFO] [stdout] | [INFO] [stdout] 185 | let mut ts = self.inner.mvcc().ts.lock(); [INFO] [stdout] | ^^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:255:38 [INFO] [stdout] | [INFO] [stdout] 255 | txn.key_hashes.as_ref().map(|key_hashes| { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 256 | key_hashes [INFO] [stdout] | ---------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 255 | txn.key_hashes.as_ref().map(|key_hashes: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:255:38 [INFO] [stdout] | [INFO] [stdout] 255 | txn.key_hashes.as_ref().map(|key_hashes| { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 256 | key_hashes [INFO] [stdout] | ---------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 255 | txn.key_hashes.as_ref().map(|key_hashes: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:300:23 [INFO] [stdout] | [INFO] [stdout] 300 | .map(|key_hashes| { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 301 | key_hashes [INFO] [stdout] | ---------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 300 | .map(|key_hashes: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/block/iterator.rs:63:16 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn key(&self) -> KeySlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 63 | pub fn key(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/iterators/concat_iterator.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | fn key(&self) -> KeySlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 97 | fn key(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/iterators/merge_iterator.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | fn key(&self) -> KeySlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 85 | fn key(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/key.rs:75:25 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn as_key_slice(&self) -> KeySlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 75 | pub fn as_key_slice(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/key.rs:105:25 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn as_key_slice(&self) -> KeySlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 105 | pub fn as_key_slice(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | watermark.add_reader(read_ts); [INFO] [stdout] | ^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/mem_table.rs:53:50 [INFO] [stdout] | [INFO] [stdout] 53 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 53 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound> { [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:221:12 [INFO] [stdout] | [INFO] [stdout] 221 | 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] 221 | fn key(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:300:23 [INFO] [stdout] | [INFO] [stdout] 300 | .map(|key_hashes| { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 301 | key_hashes [INFO] [stdout] | ---------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 300 | .map(|key_hashes: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/table/iterator.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | fn key(&self) -> KeySlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 85 | fn key(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> mini-lsm/src/mvcc.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | watermark.add_reader(read_ts); [INFO] [stdout] | ^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `structured_logger` [INFO] [stdout] --> mini-lsm-mvcc/src/bin/compaction-simulator.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use structured_logger::{json::new_writer, Builder}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `structured_logger` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `structured_logger`, use `cargo add structured_logger` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `structured_logger` [INFO] [stdout] --> mini-lsm-mvcc/src/bin/compaction-simulator.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use structured_logger::{json::new_writer, Builder}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `structured_logger` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `structured_logger`, use `cargo add structured_logger` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `structured_logger` [INFO] [stdout] --> mini-lsm-mvcc/src/bin/mini-lsm-cli.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use structured_logger::{json::new_writer, Builder}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `structured_logger` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `structured_logger`, use `cargo add structured_logger` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `structured_logger` [INFO] [stdout] --> mini-lsm-mvcc/src/bin/mini-lsm-cli.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use structured_logger::{json::new_writer, Builder}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `structured_logger` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `structured_logger`, use `cargo add structured_logger` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `log` [INFO] [stdout] --> mini-lsm-mvcc/src/bin/mini-lsm-cli.rs:365:5 [INFO] [stdout] | [INFO] [stdout] 365 | log::info!("mini-lsm started"); [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `structured_logger` [INFO] [stdout] --> mini-lsm-mvcc/src/bin/compaction-simulator.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use structured_logger::{json::new_writer, Builder}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `structured_logger` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `structured_logger`, use `cargo add structured_logger` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `structured_logger` [INFO] [stdout] --> mini-lsm-mvcc/src/bin/mini-lsm-cli.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use structured_logger::{json::new_writer, Builder}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `structured_logger` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `structured_logger`, use `cargo add structured_logger` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `structured_logger` [INFO] [stdout] --> mini-lsm-mvcc/src/bin/mini-lsm-cli.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use structured_logger::{json::new_writer, Builder}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `structured_logger` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `structured_logger`, use `cargo add structured_logger` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `log` [INFO] [stdout] --> mini-lsm-mvcc/src/bin/mini-lsm-cli.rs:365:5 [INFO] [stdout] | [INFO] [stdout] 365 | log::info!("mini-lsm started"); [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `structured_logger` [INFO] [stdout] --> mini-lsm-mvcc/src/bin/compaction-simulator.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use structured_logger::{json::new_writer, Builder}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `structured_logger` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `structured_logger`, use `cargo add structured_logger` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `LsmStorageOptions` has no field named `max_manifest_file_size` [INFO] [stdout] --> mini-lsm-mvcc/src/bin/mini-lsm-cli.rs:350:13 [INFO] [stdout] | [INFO] [stdout] 350 | max_manifest_file_size: 1 << 30, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `LsmStorageOptions` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CompactionOptions` and `LeveledCompactionOptions` [INFO] [stdout] --> mini-lsm-starter/benches/minilsm_bench.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | compact::{CompactionOptions, LeveledCompactionOptions}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `mini-lsm-mvcc` (bin "compaction-simulator-mvcc-ref" test) due to 2 previous errors [INFO] [stdout] error[E0560]: struct `LsmStorageOptions` has no field named `max_manifest_file_size` [INFO] [stdout] --> mini-lsm-mvcc/src/bin/mini-lsm-cli.rs:350:13 [INFO] [stdout] | [INFO] [stdout] 350 | max_manifest_file_size: 1 << 30, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `LsmStorageOptions` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: function `get_bench` is never used [INFO] [stdout] --> mini-lsm-starter/benches/minilsm_bench.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn get_bench(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0432, E0433. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0432, E0433, E0560. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0432, E0433. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mini-lsm-mvcc` (bin "mini-lsm-cli-mvcc-ref" test) due to 4 previous errors [INFO] [stderr] error: could not compile `mini-lsm-mvcc` (bin "compaction-simulator-mvcc-ref") due to 2 previous errors [INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0432, E0433, E0560. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mini-lsm` (lib) due to 21 previous errors [INFO] [stderr] error: could not compile `mini-lsm-mvcc` (bin "mini-lsm-cli-mvcc-ref") due to 4 previous errors [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/block/iterator.rs:63:16 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn key(&self) -> KeySlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 63 | pub fn key(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/iterators/concat_iterator.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | fn key(&self) -> KeySlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 97 | fn key(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/iterators/merge_iterator.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | fn key(&self) -> KeySlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 85 | fn key(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/key.rs:75:25 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn as_key_slice(&self) -> KeySlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 75 | pub fn as_key_slice(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/key.rs:105:25 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn as_key_slice(&self) -> KeySlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 105 | pub fn as_key_slice(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/mem_table.rs:53:50 [INFO] [stdout] | [INFO] [stdout] 53 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 53 | pub(crate) fn map_key_bound_plus_ts(bound: Bound<&[u8]>, ts: u64) -> Bound> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HybridLatchError` [INFO] [stdout] --> mini-lsm-starter/src/common/hybrid_lock.rs:238:30 [INFO] [stdout] | [INFO] [stdout] 238 | use super::{HybridLatch, HybridLatchError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [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:221:12 [INFO] [stdout] | [INFO] [stdout] 221 | 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] 221 | fn key(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/table/iterator.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | fn key(&self) -> KeySlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 85 | fn key(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-mvcc/src/tests/harness.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | fn key(&self) -> KeySlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 60 | fn key(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mini-lsm` (lib test) due to 21 previous errors [INFO] [stdout] warning: field `version` is never read [INFO] [stdout] --> mini-lsm-starter/src/common/hybrid_lock.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 187 | pub struct ShardGuard<'a, T: ?Sized> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 188 | latch: &'a HybridLatch, [INFO] [stdout] 189 | version: u64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [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:65:16 [INFO] [stdout] | [INFO] [stdout] 65 | 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] 65 | 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:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | 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] 114 | 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:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | 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] 89 | 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:76:25 [INFO] [stdout] | [INFO] [stdout] 76 | 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] 76 | 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:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | 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] 106 | 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: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-starter/src/table/iterator.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | 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] 77 | fn key(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> mini-lsm-starter/src/tests/harness.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | fn key(&self) -> KeySlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 60 | fn key(&self) -> KeySlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "d6502e21b90ae1f71fda62fe604d713e80ac8ae5fa3a158cd108d1e108756210", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d6502e21b90ae1f71fda62fe604d713e80ac8ae5fa3a158cd108d1e108756210", kill_on_drop: false }` [INFO] [stdout] d6502e21b90ae1f71fda62fe604d713e80ac8ae5fa3a158cd108d1e108756210