[INFO] cloning repository https://github.com/daprabowo/mini-lsm-trees [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/daprabowo/mini-lsm-trees" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdaprabowo%2Fmini-lsm-trees", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdaprabowo%2Fmini-lsm-trees'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d63798caa9e9fc82421061c359a9da7f50f403af [INFO] checking daprabowo/mini-lsm-trees against 444dcce484c66c8d626806a8556be3b4d3ef381a for pr-160902 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdaprabowo%2Fmini-lsm-trees" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-0-tc1/source/.cargo/config.toml [INFO] removed /workspace/builds/worker-0-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/daprabowo/mini-lsm-trees [INFO] finished tweaking git repo https://github.com/daprabowo/mini-lsm-trees [INFO] tweaked toml for git repo https://github.com/daprabowo/mini-lsm-trees written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/daprabowo/mini-lsm-trees on toolchain 444dcce484c66c8d626806a8556be3b4d3ef381a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+444dcce484c66c8d626806a8556be3b4d3ef381a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/daprabowo/mini-lsm-trees 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" "+444dcce484c66c8d626806a8556be3b4d3ef381a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded sigchld v0.2.4 [INFO] [stderr] Downloaded duct v1.1.1 [INFO] [stderr] Downloaded shared_thread v0.2.0 [INFO] [stderr] Downloaded shared_child v1.1.1 [INFO] [stderr] Downloaded console v0.16.4 [INFO] [stderr] Downloaded endian-type v0.2.0 [INFO] [stderr] Downloaded nibble_vec v0.1.0 [INFO] [stderr] Downloaded rustyline v18.0.1 [INFO] [stderr] Downloaded radix_trie v0.3.0 [INFO] [stderr] Downloaded farmhash v1.1.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 34ddcc7e85b5c9de31023da13e4049432dec76a6b84c8fc0b74f023260e1c229 [INFO] running `Command { std: "docker" "start" "34ddcc7e85b5c9de31023da13e4049432dec76a6b84c8fc0b74f023260e1c229", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "34ddcc7e85b5c9de31023da13e4049432dec76a6b84c8fc0b74f023260e1c229", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "34ddcc7e85b5c9de31023da13e4049432dec76a6b84c8fc0b74f023260e1c229" "/opt/rustwide/cargo-home/bin/cargo" "+444dcce484c66c8d626806a8556be3b4d3ef381a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "34ddcc7e85b5c9de31023da13e4049432dec76a6b84c8fc0b74f023260e1c229", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "34ddcc7e85b5c9de31023da13e4049432dec76a6b84c8fc0b74f023260e1c229" "/opt/rustwide/cargo-home/bin/cargo" "+444dcce484c66c8d626806a8556be3b4d3ef381a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.189 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling crossbeam-utils v0.8.22 [INFO] [stderr] Checking rand_core v0.10.1 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling cfg_aliases v0.2.2 [INFO] [stderr] Compiling crossbeam-epoch v0.9.20 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Compiling serde_core v1.0.229 [INFO] [stderr] Checking clap_builder v4.6.5 [INFO] [stderr] Compiling clap_derive v4.6.4 [INFO] [stderr] Checking shared_thread v0.2.0 [INFO] [stderr] Compiling portable-atomic v1.14.0 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Checking nibble_vec v0.1.0 [INFO] [stderr] Checking endian-type v0.2.0 [INFO] [stderr] Compiling serde v1.0.229 [INFO] [stderr] Compiling nix v0.31.3 [INFO] [stderr] Checking chacha20 v0.10.1 [INFO] [stderr] Compiling serde_json v1.0.151 [INFO] [stderr] Checking tagptr v0.2.0 [INFO] [stderr] Checking unicode-segmentation v1.13.3 [INFO] [stderr] Checking aliasable v0.1.3 [INFO] [stderr] Checking arc-swap v1.9.2 [INFO] [stderr] Checking once_cell v1.21.4 [INFO] [stderr] Checking farmhash v1.1.5 [INFO] [stderr] Checking radix_trie v0.3.0 [INFO] [stderr] Compiling ouroboros_macro v0.18.5 [INFO] [stderr] Checking crossbeam-channel v0.5.16 [INFO] [stderr] Checking crossbeam-skiplist v0.1.3 [INFO] [stderr] Checking ouroboros v0.18.5 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking os_pipe v1.2.3 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking console v0.16.4 [INFO] [stderr] Checking clap v4.6.5 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking uuid v1.24.0 [INFO] [stderr] Checking rand v0.10.2 [INFO] [stderr] Checking tempfile v3.27.0 [INFO] [stderr] Checking sigchld v0.2.4 [INFO] [stderr] Checking shared_child v1.1.1 [INFO] [stderr] Checking duct v1.1.1 [INFO] [stderr] Checking moka v0.12.15 [INFO] [stderr] Checking mini-lsm-xtask v0.1.0 (/opt/rustwide/workdir/xtask) [INFO] [stderr] Checking rustyline v18.0.1 [INFO] [stderr] Checking mini-lsm v0.1.0 (/opt/rustwide/workdir/mini-lsm) [INFO] [stdout] warning: unused import: `Buf` [INFO] [stdout] --> mini-lsm/src/key.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use bytes::{Buf, Bytes}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `map_bound` [INFO] [stdout] --> mini-lsm/src/lsm_storage.rs:22:45 [INFO] [stdout] | [INFO] [stdout] 22 | mem_table::{MemTable, MemTableIterator, map_bound}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `anyhow` and `bail` [INFO] [stdout] --> mini-lsm/src/mem_table.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | use anyhow::{Result, anyhow, bail}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Bytes` [INFO] [stdout] --> mini-lsm/src/table/builder.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | use bytes::{BufMut, Bytes}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Buf` [INFO] [stdout] --> mini-lsm/src/tests/week1_day3.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use bytes::{Buf, Bytes}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Buf` [INFO] [stdout] --> mini-lsm/src/key.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use bytes::{Buf, Bytes}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `map_bound` [INFO] [stdout] --> mini-lsm/src/lsm_storage.rs:22:45 [INFO] [stdout] | [INFO] [stdout] 22 | mem_table::{MemTable, MemTableIterator, map_bound}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `anyhow` and `bail` [INFO] [stdout] --> mini-lsm/src/mem_table.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | use anyhow::{Result, anyhow, bail}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Bytes` [INFO] [stdout] --> mini-lsm/src/table/builder.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | use bytes::{BufMut, Bytes}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated module `std::u16`: all constants in this module replaced by associated constants on the type [INFO] [stdout] --> mini-lsm/src/block/mod.rs:4:22 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{sync::Arc, u16}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated module `std::u16`: all constants in this module replaced by associated constants on the type [INFO] [stdout] --> mini-lsm/src/block/mod.rs:4:22 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{sync::Arc, u16}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RangeBounds` [INFO] [stdout] --> mini-lsm/src/lsm_storage.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | ops::{Bound, RangeBounds}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sstables` [INFO] [stdout] --> mini-lsm/src/iterators/concat_iterator.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn create_and_seek_to_first(sstables: Vec>) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sstables` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sstables` [INFO] [stdout] --> mini-lsm/src/iterators/concat_iterator.rs:24:35 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn create_and_seek_to_key(sstables: Vec>, key: KeySlice) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sstables` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/iterators/concat_iterator.rs:24:64 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn create_and_seek_to_key(sstables: Vec>, key: KeySlice) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> mini-lsm/src/iterators/two_merge_iterator.rs:19:19 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn create(lhs: L, rhs: R) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_lhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs` [INFO] [stdout] --> mini-lsm/src/iterators/two_merge_iterator.rs:19:27 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn create(lhs: L, rhs: R) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RangeBounds` [INFO] [stdout] --> mini-lsm/src/lsm_storage.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | ops::{Bound, RangeBounds}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> mini-lsm/src/mem_table.rs:99:29 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn put_batch(&self, data: &[(KeySlice, &[u8])]) -> Result<()> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `builder` [INFO] [stdout] --> mini-lsm/src/mem_table.rs:121:25 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn flush(&self, builder: &mut SsTableBuilder) -> Result<()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_builder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:29:23 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn get(&self, key: &[u8]) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:33:23 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn put(&self, key: &[u8]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn delete(&self, key: &[u8]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lower` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:41:24 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn scan(&self, lower: Bound<&[u8]>, upper: Bound<&[u8]>) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `upper` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:41:45 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn scan(&self, lower: Bound<&[u8]>, upper: Bound<&[u8]>) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:45:26 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn commit(&self, key: &[u8]) -> Result<()> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `txn` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | txn: Arc, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_txn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | iter: TwoMergeIterator>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ts` [INFO] [stdout] --> mini-lsm/src/mvcc/watermark.rs:20:34 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn add_reader(&mut self, ts: u64) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ts` [INFO] [stdout] --> mini-lsm/src/mvcc/watermark.rs:24:37 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn remove_reader(&mut self, ts: u64) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inner` [INFO] [stdout] --> mini-lsm/src/mvcc/mod.rs:53:27 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn new_txn(&self, inner: Arc, serializable: bool) -> Arc { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `serializable` [INFO] [stdout] --> mini-lsm/src/mvcc/mod.rs:53:56 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn new_txn(&self, inner: Arc, serializable: bool) -> Arc { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_serializable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nbits` [INFO] [stdout] --> mini-lsm/src/table/bloom.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | let nbits = nbytes * 8; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_nbits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nbits` [INFO] [stdout] --> mini-lsm/src/table/bloom.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | let nbits = self.filter.bit_len(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_nbits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delta` [INFO] [stdout] --> mini-lsm/src/table/bloom.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | let delta = h.rotate_left(15); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `table` [INFO] [stdout] --> mini-lsm/src/table/iterator.rs:17:37 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn create_and_seek_to_first(table: Arc) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `table` [INFO] [stdout] --> mini-lsm/src/table/iterator.rs:27:35 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn create_and_seek_to_key(table: Arc, key: KeySlice) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/table/iterator.rs:27:56 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn create_and_seek_to_key(table: Arc, key: KeySlice) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/table/iterator.rs:32:35 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn seek_to_key(&mut self, key: KeySlice) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_key_len` [INFO] [stdout] --> mini-lsm/src/table/mod.rs:76:17 [INFO] [stdout] | [INFO] [stdout] 76 | let last_key_len = buf.get_u16() as usize; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_key_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> mini-lsm/src/table/mod.rs:146:17 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn open(id: usize, block_cache: Option>, file: FileObject) -> Result { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_cache` [INFO] [stdout] --> mini-lsm/src/table/mod.rs:146:28 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn open(id: usize, block_cache: Option>, file: FileObject) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_cache` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file` [INFO] [stdout] --> mini-lsm/src/table/mod.rs:146:66 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn open(id: usize, block_cache: Option>, file: FileObject) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_idx` [INFO] [stdout] --> mini-lsm/src/table/mod.rs:171:30 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn read_block(&self, block_idx: usize) -> Result> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_idx` [INFO] [stdout] --> mini-lsm/src/table/mod.rs:176:37 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn read_block_cached(&self, block_idx: usize) -> Result> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/table/mod.rs:181:34 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn find_block_idx(&self, key: KeySlice) -> usize { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `compact_to_bottom_level` is never used [INFO] [stdout] --> mini-lsm/src/compact/mod.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 32 | impl CompactionTask { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 33 | fn compact_to_bottom_level(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> mini-lsm/src/compact/mod.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | Leveled(LeveledCompactionController), [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 44 - Leveled(LeveledCompactionController), [INFO] [stdout] 44 + Leveled(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> mini-lsm/src/compact/mod.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | Tiered(TieredCompactionController), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 - Tiered(TieredCompactionController), [INFO] [stdout] 45 + Tiered(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> mini-lsm/src/compact/mod.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | Simple(SimpleLeveledCompactionController), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - Simple(SimpleLeveledCompactionController), [INFO] [stdout] 46 + Simple(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `generate_compaction_task` and `apply_compaction_result` are never used [INFO] [stdout] --> mini-lsm/src/compact/mod.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl CompactionController { [INFO] [stdout] | ------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn generate_compaction_task(&self, snapshot: &LsmStorageState) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn apply_compaction_result( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `flush_to_l0` is never used [INFO] [stdout] --> mini-lsm/src/compact/mod.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 100 | impl CompactionController { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] 101 | pub fn flush_to_l0(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `compact` is never used [INFO] [stdout] --> mini-lsm/src/compact/mod.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 122 | impl LsmStorageInner { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 123 | fn compact(&self, _task: &CompactionTask) -> Result>> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `options` is never read [INFO] [stdout] --> mini-lsm/src/compact/leveled.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct LeveledCompactionController { [INFO] [stdout] | --------------------------- field in this struct [INFO] [stdout] 24 | options: LeveledCompactionOptions, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `find_overlapping_ssts` is never used [INFO] [stdout] --> mini-lsm/src/compact/leveled.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 27 | impl LeveledCompactionController { [INFO] [stdout] | -------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 32 | fn find_overlapping_ssts( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `options` is never read [INFO] [stdout] --> mini-lsm/src/compact/simple_leveled.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct SimpleLeveledCompactionController { [INFO] [stdout] | --------------------------------- field in this struct [INFO] [stdout] 23 | options: SimpleLeveledCompactionOptions, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `options` is never read [INFO] [stdout] --> mini-lsm/src/compact/tiered.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct TieredCompactionController { [INFO] [stdout] | -------------------------- field in this struct [INFO] [stdout] 21 | options: TieredCompactionOptions, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `current`, `next_sst_idx`, and `sstables` are never read [INFO] [stdout] --> mini-lsm/src/iterators/concat_iterator.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct SstConcatIterator { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 14 | current: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | next_sst_idx: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 16 | sstables: Vec>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `lhs` and `rhs` are never read [INFO] [stdout] --> mini-lsm/src/iterators/two_merge_iterator.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct TwoMergeIterator [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 10 | lhs: L, [INFO] [stdout] | ^^^ [INFO] [stdout] 11 | rhs: R, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `block_cache`, `manifest`, `mvcc`, and `compaction_controller` are never read [INFO] [stdout] --> mini-lsm/src/lsm_storage.rs:128:16 [INFO] [stdout] | [INFO] [stdout] 124 | pub(crate) struct LsmStorageInner { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 128 | pub(crate) block_cache: Arc, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub(crate) manifest: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 132 | pub(crate) mvcc: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 133 | pub(crate) compaction_controller: CompactionController, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `mvcc`, `sst_path_static`, `sst_path`, and `sync_dir` are never used [INFO] [stdout] --> mini-lsm/src/lsm_storage.rs:176:19 [INFO] [stdout] | [INFO] [stdout] 137 | impl LsmStorageInner { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 176 | pub(crate) fn mvcc(&self) -> &LsmMvccInner { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | pub(crate) fn sst_path_static

(path: P, id: usize) -> PathBuf [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub(crate) fn sst_path(&self, id: usize) -> PathBuf { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub(super) fn sync_dir(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `compaction_thread` and `flush_thread` are never read [INFO] [stdout] --> mini-lsm/src/lsm_storage.rs:324:5 [INFO] [stdout] | [INFO] [stdout] 319 | pub struct MiniLsm { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 324 | compaction_thread: Mutex>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | flush_thread: Mutex>>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `file` is never read [INFO] [stdout] --> mini-lsm/src/manifest.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Manifest { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 10 | file: Arc>, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `key_hashes`, `read_ts`, and `commit_ts` are never read [INFO] [stdout] --> mini-lsm/src/mvcc/mod.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) struct CommittedTxnData { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 17 | pub(crate) key_hashes: HashSet, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 18 | pub(crate) read_ts: u64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 19 | pub(crate) commit_ts: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `write_lock`, `commit_lock`, `ts`, and `committed_txns` are never read [INFO] [stdout] --> mini-lsm/src/mvcc/mod.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 22 | pub(crate) struct LsmMvccInner { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 23 | pub(crate) write_lock: Mutex<()>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 24 | pub(crate) commit_lock: Mutex<()>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | pub(crate) ts: Arc>, [INFO] [stdout] | ^^ [INFO] [stdout] 26 | pub(crate) committed_txns: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `latest_commit_ts`, `update_commit_ts`, `watermark`, and `new_txn` are never used [INFO] [stdout] --> mini-lsm/src/mvcc/mod.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl LsmMvccInner { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 30 | pub fn new(initial_ts: u64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn latest_commit_ts(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn update_commit_ts(&self, ts: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn watermark(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn new_txn(&self, inner: Arc, serializable: bool) -> Arc { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `read_ts`, `inner`, `local_storage`, `committed`, and `key_hashes` are never read [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Transaction { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 20 | pub(crate) read_ts: u64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | pub(crate) inner: Arc, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 22 | pub(crate) local_storage: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 23 | pub(crate) committed: Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 24 | /// Write set and read set. [INFO] [stdout] 25 | pub(crate) key_hashes: Option, HashSet)>>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `block_meta_offset`, `block_cache`, and `bloom` are never read [INFO] [stdout] --> mini-lsm/src/table/mod.rs:129:16 [INFO] [stdout] | [INFO] [stdout] 123 | pub struct SsTable { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 129 | pub(crate) block_meta_offset: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 130 | id: usize, [INFO] [stdout] 131 | block_cache: Option>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub(crate) bloom: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `filter` and `k` are never read [INFO] [stdout] --> mini-lsm/src/table/bloom.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Bloom { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 6 | /// Data of filter in bits. [INFO] [stdout] 7 | pub(crate) filter: Bytes, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | /// Nuber of hash functions. [INFO] [stdout] 9 | pub(crate) k: u8, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `decode`, `encode`, `bloom_bits_per_key`, `build_from_key_hashes`, and `may_contain` are never used [INFO] [stdout] --> mini-lsm/src/table/bloom.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Bloom { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 13 | /// Decode a bloom filter [INFO] [stdout] 14 | pub fn decode(buf: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn encode(&self, buf: &mut Vec) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn bloom_bits_per_key(entries: usize, false_positive_rate: f64) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn build_from_key_hashes(keys: &[u32], bits_per_key: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn may_contain(&self, h: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BitSlice` is never used [INFO] [stdout] --> mini-lsm/src/table/bloom.rs:70:11 [INFO] [stdout] | [INFO] [stdout] 70 | pub trait BitSlice { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BitSliceMut` is never used [INFO] [stdout] --> mini-lsm/src/table/bloom.rs:75:11 [INFO] [stdout] | [INFO] [stdout] 75 | pub trait BitSliceMut { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `table`, `block_iter`, and `block_idx` are never read [INFO] [stdout] --> mini-lsm/src/table/iterator.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct SsTableIterator { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 10 | table: Arc, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | block_iter: BlockIterator, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 12 | block_idx: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `file` is never read [INFO] [stdout] --> mini-lsm/src/wal.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Wal { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 11 | file: Arc>>, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `BlockBuilder::add` that must be used [INFO] [stdout] --> mini-lsm/src/table/builder.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | self.builder.add(key, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: empty block builder is not allowed [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 59 | let _ = self.builder.add(key, value); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sstables` [INFO] [stdout] --> mini-lsm/src/iterators/concat_iterator.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn create_and_seek_to_first(sstables: Vec>) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sstables` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sstables` [INFO] [stdout] --> mini-lsm/src/iterators/concat_iterator.rs:24:35 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn create_and_seek_to_key(sstables: Vec>, key: KeySlice) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sstables` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/iterators/concat_iterator.rs:24:64 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn create_and_seek_to_key(sstables: Vec>, key: KeySlice) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> mini-lsm/src/iterators/two_merge_iterator.rs:19:19 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn create(lhs: L, rhs: R) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_lhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs` [INFO] [stdout] --> mini-lsm/src/iterators/two_merge_iterator.rs:19:27 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn create(lhs: L, rhs: R) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> mini-lsm/src/mem_table.rs:99:29 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn put_batch(&self, data: &[(KeySlice, &[u8])]) -> Result<()> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `builder` [INFO] [stdout] --> mini-lsm/src/mem_table.rs:121:25 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn flush(&self, builder: &mut SsTableBuilder) -> Result<()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_builder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:29:23 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn get(&self, key: &[u8]) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:33:23 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn put(&self, key: &[u8]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn delete(&self, key: &[u8]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lower` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:41:24 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn scan(&self, lower: Bound<&[u8]>, upper: Bound<&[u8]>) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_lower` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `upper` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:41:45 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn scan(&self, lower: Bound<&[u8]>, upper: Bound<&[u8]>) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:45:26 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn commit(&self, key: &[u8]) -> Result<()> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `txn` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | txn: Arc, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_txn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | iter: TwoMergeIterator>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ts` [INFO] [stdout] --> mini-lsm/src/mvcc/watermark.rs:20:34 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn add_reader(&mut self, ts: u64) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ts` [INFO] [stdout] --> mini-lsm/src/mvcc/watermark.rs:24:37 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn remove_reader(&mut self, ts: u64) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inner` [INFO] [stdout] --> mini-lsm/src/mvcc/mod.rs:53:27 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn new_txn(&self, inner: Arc, serializable: bool) -> Arc { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `serializable` [INFO] [stdout] --> mini-lsm/src/mvcc/mod.rs:53:56 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn new_txn(&self, inner: Arc, serializable: bool) -> Arc { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_serializable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nbits` [INFO] [stdout] --> mini-lsm/src/table/bloom.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | let nbits = nbytes * 8; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_nbits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nbits` [INFO] [stdout] --> mini-lsm/src/table/bloom.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | let nbits = self.filter.bit_len(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_nbits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delta` [INFO] [stdout] --> mini-lsm/src/table/bloom.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | let delta = h.rotate_left(15); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `table` [INFO] [stdout] --> mini-lsm/src/table/iterator.rs:17:37 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn create_and_seek_to_first(table: Arc) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `table` [INFO] [stdout] --> mini-lsm/src/table/iterator.rs:27:35 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn create_and_seek_to_key(table: Arc, key: KeySlice) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/table/iterator.rs:27:56 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn create_and_seek_to_key(table: Arc, key: KeySlice) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/table/iterator.rs:32:35 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn seek_to_key(&mut self, key: KeySlice) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_key_len` [INFO] [stdout] --> mini-lsm/src/table/mod.rs:76:17 [INFO] [stdout] | [INFO] [stdout] 76 | let last_key_len = buf.get_u16() as usize; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_key_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> mini-lsm/src/table/mod.rs:146:17 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn open(id: usize, block_cache: Option>, file: FileObject) -> Result { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_cache` [INFO] [stdout] --> mini-lsm/src/table/mod.rs:146:28 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn open(id: usize, block_cache: Option>, file: FileObject) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_cache` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file` [INFO] [stdout] --> mini-lsm/src/table/mod.rs:146:66 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn open(id: usize, block_cache: Option>, file: FileObject) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_idx` [INFO] [stdout] --> mini-lsm/src/table/mod.rs:171:30 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn read_block(&self, block_idx: usize) -> Result> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_idx` [INFO] [stdout] --> mini-lsm/src/table/mod.rs:176:37 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn read_block_cached(&self, block_idx: usize) -> Result> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> mini-lsm/src/table/mod.rs:181:34 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn find_block_idx(&self, key: KeySlice) -> usize { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `compact_to_bottom_level` is never used [INFO] [stdout] --> mini-lsm/src/compact/mod.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 32 | impl CompactionTask { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 33 | fn compact_to_bottom_level(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> mini-lsm/src/compact/mod.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | Leveled(LeveledCompactionController), [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 44 - Leveled(LeveledCompactionController), [INFO] [stdout] 44 + Leveled(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> mini-lsm/src/compact/mod.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | Tiered(TieredCompactionController), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 - Tiered(TieredCompactionController), [INFO] [stdout] 45 + Tiered(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> mini-lsm/src/compact/mod.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | Simple(SimpleLeveledCompactionController), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - Simple(SimpleLeveledCompactionController), [INFO] [stdout] 46 + Simple(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `generate_compaction_task` and `apply_compaction_result` are never used [INFO] [stdout] --> mini-lsm/src/compact/mod.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl CompactionController { [INFO] [stdout] | ------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn generate_compaction_task(&self, snapshot: &LsmStorageState) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn apply_compaction_result( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `flush_to_l0` is never used [INFO] [stdout] --> mini-lsm/src/compact/mod.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 100 | impl CompactionController { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] 101 | pub fn flush_to_l0(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `compact` is never used [INFO] [stdout] --> mini-lsm/src/compact/mod.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 122 | impl LsmStorageInner { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 123 | fn compact(&self, _task: &CompactionTask) -> Result>> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `options` is never read [INFO] [stdout] --> mini-lsm/src/compact/leveled.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct LeveledCompactionController { [INFO] [stdout] | --------------------------- field in this struct [INFO] [stdout] 24 | options: LeveledCompactionOptions, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `find_overlapping_ssts` is never used [INFO] [stdout] --> mini-lsm/src/compact/leveled.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 27 | impl LeveledCompactionController { [INFO] [stdout] | -------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 32 | fn find_overlapping_ssts( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `options` is never read [INFO] [stdout] --> mini-lsm/src/compact/simple_leveled.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct SimpleLeveledCompactionController { [INFO] [stdout] | --------------------------------- field in this struct [INFO] [stdout] 23 | options: SimpleLeveledCompactionOptions, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `options` is never read [INFO] [stdout] --> mini-lsm/src/compact/tiered.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct TieredCompactionController { [INFO] [stdout] | -------------------------- field in this struct [INFO] [stdout] 21 | options: TieredCompactionOptions, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `current`, `next_sst_idx`, and `sstables` are never read [INFO] [stdout] --> mini-lsm/src/iterators/concat_iterator.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct SstConcatIterator { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 14 | current: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | next_sst_idx: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 16 | sstables: Vec>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `lhs` and `rhs` are never read [INFO] [stdout] --> mini-lsm/src/iterators/two_merge_iterator.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct TwoMergeIterator [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 10 | lhs: L, [INFO] [stdout] | ^^^ [INFO] [stdout] 11 | rhs: R, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `block_cache`, `manifest`, `mvcc`, and `compaction_controller` are never read [INFO] [stdout] --> mini-lsm/src/lsm_storage.rs:128:16 [INFO] [stdout] | [INFO] [stdout] 124 | pub(crate) struct LsmStorageInner { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 128 | pub(crate) block_cache: Arc, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub(crate) manifest: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 132 | pub(crate) mvcc: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 133 | pub(crate) compaction_controller: CompactionController, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `mvcc`, `sst_path_static`, `sst_path`, and `sync_dir` are never used [INFO] [stdout] --> mini-lsm/src/lsm_storage.rs:176:19 [INFO] [stdout] | [INFO] [stdout] 137 | impl LsmStorageInner { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 176 | pub(crate) fn mvcc(&self) -> &LsmMvccInner { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | pub(crate) fn sst_path_static

(path: P, id: usize) -> PathBuf [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub(crate) fn sst_path(&self, id: usize) -> PathBuf { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub(super) fn sync_dir(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `compaction_thread` and `flush_thread` are never read [INFO] [stdout] --> mini-lsm/src/lsm_storage.rs:324:5 [INFO] [stdout] | [INFO] [stdout] 319 | pub struct MiniLsm { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 324 | compaction_thread: Mutex>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | flush_thread: Mutex>>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `file` is never read [INFO] [stdout] --> mini-lsm/src/manifest.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Manifest { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 10 | file: Arc>, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `key_hashes`, `read_ts`, and `commit_ts` are never read [INFO] [stdout] --> mini-lsm/src/mvcc/mod.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) struct CommittedTxnData { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 17 | pub(crate) key_hashes: HashSet, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 18 | pub(crate) read_ts: u64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 19 | pub(crate) commit_ts: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `write_lock`, `commit_lock`, `ts`, and `committed_txns` are never read [INFO] [stdout] --> mini-lsm/src/mvcc/mod.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 22 | pub(crate) struct LsmMvccInner { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 23 | pub(crate) write_lock: Mutex<()>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 24 | pub(crate) commit_lock: Mutex<()>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | pub(crate) ts: Arc>, [INFO] [stdout] | ^^ [INFO] [stdout] 26 | pub(crate) committed_txns: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `latest_commit_ts`, `update_commit_ts`, `watermark`, and `new_txn` are never used [INFO] [stdout] --> mini-lsm/src/mvcc/mod.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl LsmMvccInner { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 30 | pub fn new(initial_ts: u64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn latest_commit_ts(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn update_commit_ts(&self, ts: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn watermark(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn new_txn(&self, inner: Arc, serializable: bool) -> Arc { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `read_ts`, `inner`, `local_storage`, `committed`, and `key_hashes` are never read [INFO] [stdout] --> mini-lsm/src/mvcc/txn.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Transaction { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 20 | pub(crate) read_ts: u64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | pub(crate) inner: Arc, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 22 | pub(crate) local_storage: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 23 | pub(crate) committed: Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 24 | /// Write set and read set. [INFO] [stdout] 25 | pub(crate) key_hashes: Option, HashSet)>>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `block_meta_offset`, `block_cache`, and `bloom` are never read [INFO] [stdout] --> mini-lsm/src/table/mod.rs:129:16 [INFO] [stdout] | [INFO] [stdout] 123 | pub struct SsTable { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 129 | pub(crate) block_meta_offset: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 130 | id: usize, [INFO] [stdout] 131 | block_cache: Option>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub(crate) bloom: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `filter` and `k` are never read [INFO] [stdout] --> mini-lsm/src/table/bloom.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Bloom { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 6 | /// Data of filter in bits. [INFO] [stdout] 7 | pub(crate) filter: Bytes, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | /// Nuber of hash functions. [INFO] [stdout] 9 | pub(crate) k: u8, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `decode`, `encode`, `bloom_bits_per_key`, `build_from_key_hashes`, and `may_contain` are never used [INFO] [stdout] --> mini-lsm/src/table/bloom.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Bloom { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 13 | /// Decode a bloom filter [INFO] [stdout] 14 | pub fn decode(buf: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn encode(&self, buf: &mut Vec) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn bloom_bits_per_key(entries: usize, false_positive_rate: f64) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn build_from_key_hashes(keys: &[u32], bits_per_key: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn may_contain(&self, h: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BitSlice` is never used [INFO] [stdout] --> mini-lsm/src/table/bloom.rs:70:11 [INFO] [stdout] | [INFO] [stdout] 70 | pub trait BitSlice { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BitSliceMut` is never used [INFO] [stdout] --> mini-lsm/src/table/bloom.rs:75:11 [INFO] [stdout] | [INFO] [stdout] 75 | pub trait BitSliceMut { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `table`, `block_iter`, and `block_idx` are never read [INFO] [stdout] --> mini-lsm/src/table/iterator.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct SsTableIterator { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 10 | table: Arc, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | block_iter: BlockIterator, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 12 | block_idx: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `file` is never read [INFO] [stdout] --> mini-lsm/src/wal.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Wal { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 11 | file: Arc>>, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_iter_result_by_key_and_ts` is never used [INFO] [stdout] --> mini-lsm/src/tests/mod.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn check_iter_result_by_key_and_ts(iter: &mut I, expected: Vec<((Bytes, u64), Bytes)>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_sst` is never used [INFO] [stdout] --> mini-lsm/src/tests/mod.rs:198:8 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn generate_sst( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_sst_with_ts` is never used [INFO] [stdout] --> mini-lsm/src/tests/mod.rs:211:8 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn generate_sst_with_ts( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sync` is never used [INFO] [stdout] --> mini-lsm/src/tests/mod.rs:227:8 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn sync(storage: &LsmStorageInner) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compaction_bench` is never used [INFO] [stdout] --> mini-lsm/src/tests/mod.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn compaction_bench(storage: Arc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_compaction_ratio` is never used [INFO] [stdout] --> mini-lsm/src/tests/mod.rs:298:8 [INFO] [stdout] | [INFO] [stdout] 298 | pub fn check_compaction_ratio(storage: Arc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dump_files_in_dir` is never used [INFO] [stdout] --> mini-lsm/src/tests/mod.rs:433:8 [INFO] [stdout] | [INFO] [stdout] 433 | pub fn dump_files_in_dir(path: impl AsRef) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `construct_merge_iterator_over_storage` is never used [INFO] [stdout] --> mini-lsm/src/tests/mod.rs:445:8 [INFO] [stdout] | [INFO] [stdout] 445 | pub fn construct_merge_iterator_over_storage( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `BlockBuilder::add` that must be used [INFO] [stdout] --> mini-lsm/src/table/builder.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | self.builder.add(key, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: empty block builder is not allowed [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 59 | let _ = self.builder.add(key, value); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> mini-lsm/src/tests/week1_day2.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | handle.join(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 97 | let _ = handle.join(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.23s [INFO] running `Command { std: "docker" "inspect" "34ddcc7e85b5c9de31023da13e4049432dec76a6b84c8fc0b74f023260e1c229", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "34ddcc7e85b5c9de31023da13e4049432dec76a6b84c8fc0b74f023260e1c229", kill_on_drop: false }` [INFO] [stdout] 34ddcc7e85b5c9de31023da13e4049432dec76a6b84c8fc0b74f023260e1c229