[INFO] fetching crate shorterDB 0.1.1...
[INFO] building shorterDB-0.1.1 against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] extracting crate shorterDB 0.1.1 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate shorterDB 0.1.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate shorterDB 0.1.1
[INFO] tweaked toml for crates.io crate shorterDB 0.1.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate shorterDB 0.1.1 on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate shorterDB 0.1.1 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded clap v4.5.16
[INFO] [stderr]   Downloaded bit-vec v0.7.0
[INFO] [stderr]   Downloaded prettyplease v0.2.22
[INFO] [stderr]   Downloaded bloomfilter v1.0.14
[INFO] [stderr]   Downloaded tonic-reflection v0.11.0
[INFO] [stderr]   Downloaded pin-project-internal v1.1.6
[INFO] [stderr]   Downloaded pin-project v1.1.6
[INFO] [stderr]   Downloaded tonic-web v0.11.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d55190abe5652024dacca24a0462e278492fb1ee5fbc6598a7638fbd6f8239a8
[INFO] running `Command { std: "docker" "start" "-a" "d55190abe5652024dacca24a0462e278492fb1ee5fbc6598a7638fbd6f8239a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d55190abe5652024dacca24a0462e278492fb1ee5fbc6598a7638fbd6f8239a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d55190abe5652024dacca24a0462e278492fb1ee5fbc6598a7638fbd6f8239a8", kill_on_drop: false }`
[INFO] [stdout] d55190abe5652024dacca24a0462e278492fb1ee5fbc6598a7638fbd6f8239a8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fd125de8c86d9c469ef0a64e292d4be13b4d5d7b55589aa168f965662a3266ed
[INFO] running `Command { std: "docker" "start" "-a" "fd125de8c86d9c469ef0a64e292d4be13b4d5d7b55589aa168f965662a3266ed", kill_on_drop: false }`
[INFO] [stderr]    Compiling bytes v1.7.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.14
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling hashbrown v0.15.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling syn v2.0.79
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling mio v1.0.2
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling prettyplease v0.2.22
[INFO] [stderr]    Compiling regex-automata v0.4.8
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]    Compiling fastrand v2.1.1
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling multimap v0.10.0
[INFO] [stderr]    Compiling indexmap v2.6.0
[INFO] [stderr]    Compiling anstream v0.6.15
[INFO] [stderr]    Compiling clap_lex v0.7.2
[INFO] [stderr]    Compiling http-range-header v0.3.1
[INFO] [stderr]    Compiling thiserror v1.0.63
[INFO] [stderr]    Compiling miniz_oxide v0.8.0
[INFO] [stderr]    Compiling csv-core v0.1.11
[INFO] [stderr]    Compiling memmap2 v0.9.5
[INFO] [stderr]    Compiling clap_builder v4.5.15
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-channel v0.5.13
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling flate2 v1.0.34
[INFO] [stderr]    Compiling crossbeam-skiplist v0.1.3
[INFO] [stderr]    Compiling tower-http v0.4.4
[INFO] [stderr]    Compiling regex v1.11.0
[INFO] [stderr]    Compiling tempfile v3.13.0
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling prost-derive v0.12.6
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling pin-project-internal v1.1.6
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling clap_derive v4.5.13
[INFO] [stderr]    Compiling tokio v1.40.0
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling pin-project v1.1.6
[INFO] [stderr]    Compiling clap v4.5.16
[INFO] [stderr]    Compiling prost v0.12.6
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling prost-types v0.12.6
[INFO] [stderr]    Compiling prost-build v0.12.6
[INFO] [stderr]    Compiling tonic-build v0.11.0
[INFO] [stderr]    Compiling shorterDB v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling tokio-util v0.7.12
[INFO] [stderr]    Compiling tokio-io-timeout v1.2.0
[INFO] [stderr]    Compiling tokio-stream v0.1.16
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling bit-vec v0.7.0
[INFO] [stderr]    Compiling csv v1.3.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling bloomfilter v1.0.14
[INFO] [stderr]    Compiling hyper v0.14.30
[INFO] [stderr]    Compiling hyper-timeout v0.4.1
[INFO] [stderr]    Compiling tonic v0.11.0
[INFO] [stderr]    Compiling tonic-web v0.11.0
[INFO] [stderr]    Compiling tonic-reflection v0.11.0
[INFO] [stdout] warning: unused import: `io::Read`
[INFO] [stdout]  --> src/kv/db.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fs, io::Read};
[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: `self`
[INFO] [stdout]  --> src/kv/sst.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     path::{self, Path, PathBuf},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Read`
[INFO] [stdout]  --> src/kv/sst.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufReader, Read};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/kv/sst.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]   --> src/kv/sst.rs:63:29
[INFO] [stdout]    |
[INFO] [stdout] 63 |                         let level = path.clone();
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kv/sst.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 let mut curr_level_size = Vec::new();
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]   --> src/kv/sst.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             for sst in ssts {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             let mut file = File::create_new(&path_of_kv_file);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     let mut file = OpenOptions::new()
[INFO] [stdout]     |                         ----^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]    --> src/kv/sst.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |             for sst in ssts {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_dir` is never read
[INFO] [stdout]   --> src/kv/db.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ShorterDB {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub(crate) data_dir: PathBuf,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]    --> src/kv/sst.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl SST {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub(crate) fn delete(&mut self, key: &[u8]) -> Result<(), Error> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/kv/wal.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct WAL {
[INFO] [stdout]    |                   --- field in this struct
[INFO] [stdout] 12 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_entries` is never used
[INFO] [stdout]   --> src/kv/wal.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl WAL {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub(crate) fn read_entries(&self) -> io::Result<Vec<WALEntry>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 21 |         let _ = fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         self.wal.write(&entry);
[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] 67 |         let _ = self.wal.write(&entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         self.wal.write(&tombstone_entry);
[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] 91 |         let _ = self.wal.write(&tombstone_entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/sst.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 create_dir(l0.clone());
[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] 35 |                 let _ = create_dir(l0.clone());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/kv/sst.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     file.unwrap().write_all(value);
[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] 153 |                     let _ = file.unwrap().write_all(value);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::Read`
[INFO] [stdout]  --> src/kv/db.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fs, io::Read};
[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: `self`
[INFO] [stdout]  --> src/kv/sst.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     path::{self, Path, PathBuf},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Read`
[INFO] [stdout]  --> src/kv/sst.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufReader, Read};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::Read`
[INFO] [stdout]  --> src/kv/db.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fs, io::Read};
[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: `self`
[INFO] [stdout]  --> src/kv/sst.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     path::{self, Path, PathBuf},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Read`
[INFO] [stdout]  --> src/kv/sst.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufReader, Read};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/kv/sst.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]   --> src/kv/sst.rs:63:29
[INFO] [stdout]    |
[INFO] [stdout] 63 |                         let level = path.clone();
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kv/sst.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 let mut curr_level_size = Vec::new();
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]   --> src/kv/sst.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             for sst in ssts {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             let mut file = File::create_new(&path_of_kv_file);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     let mut file = OpenOptions::new()
[INFO] [stdout]     |                         ----^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]    --> src/kv/sst.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |             for sst in ssts {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_dir` is never read
[INFO] [stdout]   --> src/kv/db.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ShorterDB {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub(crate) data_dir: PathBuf,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]    --> src/kv/sst.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl SST {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub(crate) fn delete(&mut self, key: &[u8]) -> Result<(), Error> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/kv/wal.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct WAL {
[INFO] [stdout]    |                   --- field in this struct
[INFO] [stdout] 12 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_entries` is never used
[INFO] [stdout]   --> src/kv/wal.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl WAL {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub(crate) fn read_entries(&self) -> io::Result<Vec<WALEntry>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 21 |         let _ = fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         self.wal.write(&entry);
[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] 67 |         let _ = self.wal.write(&entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         self.wal.write(&tombstone_entry);
[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] 91 |         let _ = self.wal.write(&tombstone_entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/sst.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 create_dir(l0.clone());
[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] 35 |                 let _ = create_dir(l0.clone());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/kv/sst.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     file.unwrap().write_all(value);
[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] 153 |                     let _ = file.unwrap().write_all(value);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/kv/sst.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]   --> src/kv/sst.rs:63:29
[INFO] [stdout]    |
[INFO] [stdout] 63 |                         let level = path.clone();
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kv/sst.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 let mut curr_level_size = Vec::new();
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]   --> src/kv/sst.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             for sst in ssts {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             let mut file = File::create_new(&path_of_kv_file);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     let mut file = OpenOptions::new()
[INFO] [stdout]     |                         ----^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]    --> src/kv/sst.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |             for sst in ssts {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_dir` is never read
[INFO] [stdout]   --> src/kv/db.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ShorterDB {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub(crate) data_dir: PathBuf,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]    --> src/kv/sst.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl SST {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub(crate) fn delete(&mut self, key: &[u8]) -> Result<(), Error> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/kv/wal.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct WAL {
[INFO] [stdout]    |                   --- field in this struct
[INFO] [stdout] 12 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_entries` is never used
[INFO] [stdout]   --> src/kv/wal.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl WAL {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub(crate) fn read_entries(&self) -> io::Result<Vec<WALEntry>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DelRequest` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/shorterDB-5609fd5baf707aa2/out/commands.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct DelRequest {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 21 |         let _ = fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         self.wal.write(&entry);
[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] 67 |         let _ = self.wal.write(&entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         self.wal.write(&tombstone_entry);
[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] 91 |         let _ = self.wal.write(&tombstone_entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/sst.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 create_dir(l0.clone());
[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] 35 |                 let _ = create_dir(l0.clone());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/kv/sst.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     file.unwrap().write_all(value);
[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] 153 |                     let _ = file.unwrap().write_all(value);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.30s
[INFO] running `Command { std: "docker" "inspect" "fd125de8c86d9c469ef0a64e292d4be13b4d5d7b55589aa168f965662a3266ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd125de8c86d9c469ef0a64e292d4be13b4d5d7b55589aa168f965662a3266ed", kill_on_drop: false }`
[INFO] [stdout] fd125de8c86d9c469ef0a64e292d4be13b4d5d7b55589aa168f965662a3266ed
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4a66e092cb6ba0f04b7ed657652ce7a837c399493ecb458091b10e8ce04e0f5d
[INFO] running `Command { std: "docker" "start" "-a" "4a66e092cb6ba0f04b7ed657652ce7a837c399493ecb458091b10e8ce04e0f5d", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `io::Read`
[INFO] [stdout]  --> src/kv/db.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fs, io::Read};
[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: `self`
[INFO] [stdout]  --> src/kv/sst.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     path::{self, Path, PathBuf},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Read`
[INFO] [stdout]  --> src/kv/sst.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufReader, Read};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/kv/sst.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]   --> src/kv/sst.rs:63:29
[INFO] [stdout]    |
[INFO] [stdout] 63 |                         let level = path.clone();
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kv/sst.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 let mut curr_level_size = Vec::new();
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling shorterDB v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]   --> src/kv/sst.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             for sst in ssts {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             let mut file = File::create_new(&path_of_kv_file);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     let mut file = OpenOptions::new()
[INFO] [stdout]     |                         ----^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]    --> src/kv/sst.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |             for sst in ssts {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_dir` is never read
[INFO] [stdout]   --> src/kv/db.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ShorterDB {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub(crate) data_dir: PathBuf,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]    --> src/kv/sst.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl SST {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub(crate) fn delete(&mut self, key: &[u8]) -> Result<(), Error> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/kv/wal.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct WAL {
[INFO] [stdout]    |                   --- field in this struct
[INFO] [stdout] 12 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_entries` is never used
[INFO] [stdout]   --> src/kv/wal.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl WAL {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub(crate) fn read_entries(&self) -> io::Result<Vec<WALEntry>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 21 |         let _ = fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         self.wal.write(&entry);
[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] 67 |         let _ = self.wal.write(&entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         self.wal.write(&tombstone_entry);
[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] 91 |         let _ = self.wal.write(&tombstone_entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/sst.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 create_dir(l0.clone());
[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] 35 |                 let _ = create_dir(l0.clone());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/kv/sst.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     file.unwrap().write_all(value);
[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] 153 |                     let _ = file.unwrap().write_all(value);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::Read`
[INFO] [stdout]  --> src/kv/db.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fs, io::Read};
[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: `self`
[INFO] [stdout]  --> src/kv/sst.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     path::{self, Path, PathBuf},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Read`
[INFO] [stdout]  --> src/kv/sst.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufReader, Read};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/kv/sst.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]   --> src/kv/sst.rs:63:29
[INFO] [stdout]    |
[INFO] [stdout] 63 |                         let level = path.clone();
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kv/sst.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 let mut curr_level_size = Vec::new();
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]   --> src/kv/sst.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             for sst in ssts {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             let mut file = File::create_new(&path_of_kv_file);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     let mut file = OpenOptions::new()
[INFO] [stdout]     |                         ----^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]    --> src/kv/sst.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |             for sst in ssts {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_dir` is never read
[INFO] [stdout]   --> src/kv/db.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ShorterDB {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub(crate) data_dir: PathBuf,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]    --> src/kv/sst.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl SST {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub(crate) fn delete(&mut self, key: &[u8]) -> Result<(), Error> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/kv/wal.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct WAL {
[INFO] [stdout]    |                   --- field in this struct
[INFO] [stdout] 12 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_entries` is never used
[INFO] [stdout]   --> src/kv/wal.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl WAL {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub(crate) fn read_entries(&self) -> io::Result<Vec<WALEntry>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DelRequest` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/shorterDB-5609fd5baf707aa2/out/commands.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct DelRequest {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 21 |         let _ = fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         self.wal.write(&entry);
[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] 67 |         let _ = self.wal.write(&entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         self.wal.write(&tombstone_entry);
[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] 91 |         let _ = self.wal.write(&tombstone_entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/sst.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 create_dir(l0.clone());
[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] 35 |                 let _ = create_dir(l0.clone());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/kv/sst.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     file.unwrap().write_all(value);
[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] 153 |                     let _ = file.unwrap().write_all(value);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::Read`
[INFO] [stdout]  --> src/kv/db.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fs, io::Read};
[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: `self`
[INFO] [stdout]  --> src/kv/sst.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     path::{self, Path, PathBuf},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Read`
[INFO] [stdout]  --> src/kv/sst.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufReader, Read};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/kv/sst.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]   --> src/kv/sst.rs:63:29
[INFO] [stdout]    |
[INFO] [stdout] 63 |                         let level = path.clone();
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kv/sst.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 let mut curr_level_size = Vec::new();
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]   --> src/kv/sst.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             for sst in ssts {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             let mut file = File::create_new(&path_of_kv_file);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     let mut file = OpenOptions::new()
[INFO] [stdout]     |                         ----^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]    --> src/kv/sst.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |             for sst in ssts {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_dir` is never read
[INFO] [stdout]   --> src/kv/db.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ShorterDB {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub(crate) data_dir: PathBuf,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]    --> src/kv/sst.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl SST {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub(crate) fn delete(&mut self, key: &[u8]) -> Result<(), Error> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/kv/wal.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct WAL {
[INFO] [stdout]    |                   --- field in this struct
[INFO] [stdout] 12 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_entries` is never used
[INFO] [stdout]   --> src/kv/wal.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl WAL {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub(crate) fn read_entries(&self) -> io::Result<Vec<WALEntry>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 21 |         let _ = fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         self.wal.write(&entry);
[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] 67 |         let _ = self.wal.write(&entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         self.wal.write(&tombstone_entry);
[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] 91 |         let _ = self.wal.write(&tombstone_entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/sst.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 create_dir(l0.clone());
[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] 35 |                 let _ = create_dir(l0.clone());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/kv/sst.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     file.unwrap().write_all(value);
[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] 153 |                     let _ = file.unwrap().write_all(value);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::Read`
[INFO] [stdout]  --> src/kv/db.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fs, io::Read};
[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: `self`
[INFO] [stdout]  --> src/kv/sst.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     path::{self, Path, PathBuf},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Read`
[INFO] [stdout]  --> src/kv/sst.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufReader, Read};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::Read`
[INFO] [stdout]  --> src/kv/db.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fs, io::Read};
[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: `self`
[INFO] [stdout]  --> src/kv/sst.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     path::{self, Path, PathBuf},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Read`
[INFO] [stdout]  --> src/kv/sst.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufReader, Read};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::Read`
[INFO] [stdout]  --> src/kv/db.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fs, io::Read};
[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: `self`
[INFO] [stdout]  --> src/kv/sst.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     path::{self, Path, PathBuf},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Read`
[INFO] [stdout]  --> src/kv/sst.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{BufReader, Read};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/kv/sst.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]   --> src/kv/sst.rs:63:29
[INFO] [stdout]    |
[INFO] [stdout] 63 |                         let level = path.clone();
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kv/sst.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 let mut curr_level_size = Vec::new();
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]   --> src/kv/sst.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             for sst in ssts {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             let mut file = File::create_new(&path_of_kv_file);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     let mut file = OpenOptions::new()
[INFO] [stdout]     |                         ----^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]    --> src/kv/sst.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |             for sst in ssts {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_dir` is never read
[INFO] [stdout]   --> src/kv/db.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ShorterDB {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub(crate) data_dir: PathBuf,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]    --> src/kv/sst.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl SST {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub(crate) fn delete(&mut self, key: &[u8]) -> Result<(), Error> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/kv/wal.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct WAL {
[INFO] [stdout]    |                   --- field in this struct
[INFO] [stdout] 12 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_entries` is never used
[INFO] [stdout]   --> src/kv/wal.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl WAL {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub(crate) fn read_entries(&self) -> io::Result<Vec<WALEntry>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 21 |         let _ = fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         self.wal.write(&entry);
[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] 67 |         let _ = self.wal.write(&entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         self.wal.write(&tombstone_entry);
[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] 91 |         let _ = self.wal.write(&tombstone_entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/sst.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 create_dir(l0.clone());
[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] 35 |                 let _ = create_dir(l0.clone());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/kv/sst.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     file.unwrap().write_all(value);
[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] 153 |                     let _ = file.unwrap().write_all(value);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/kv/sst.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]   --> src/kv/sst.rs:63:29
[INFO] [stdout]    |
[INFO] [stdout] 63 |                         let level = path.clone();
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kv/sst.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 let mut curr_level_size = Vec::new();
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]   --> src/kv/sst.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             for sst in ssts {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             let mut file = File::create_new(&path_of_kv_file);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     let mut file = OpenOptions::new()
[INFO] [stdout]     |                         ----^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]    --> src/kv/sst.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |             for sst in ssts {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_dir` is never read
[INFO] [stdout]   --> src/kv/db.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ShorterDB {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub(crate) data_dir: PathBuf,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]    --> src/kv/sst.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl SST {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub(crate) fn delete(&mut self, key: &[u8]) -> Result<(), Error> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/kv/wal.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct WAL {
[INFO] [stdout]    |                   --- field in this struct
[INFO] [stdout] 12 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_entries` is never used
[INFO] [stdout]   --> src/kv/wal.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl WAL {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub(crate) fn read_entries(&self) -> io::Result<Vec<WALEntry>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 21 |         let _ = fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         self.wal.write(&entry);
[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] 67 |         let _ = self.wal.write(&entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         self.wal.write(&tombstone_entry);
[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] 91 |         let _ = self.wal.write(&tombstone_entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/sst.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 create_dir(l0.clone());
[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] 35 |                 let _ = create_dir(l0.clone());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/kv/sst.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     file.unwrap().write_all(value);
[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] 153 |                     let _ = file.unwrap().write_all(value);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/kv/sst.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]   --> src/kv/sst.rs:63:29
[INFO] [stdout]    |
[INFO] [stdout] 63 |                         let level = path.clone();
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kv/sst.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 let mut curr_level_size = Vec::new();
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]   --> src/kv/sst.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             for sst in ssts {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             let mut file = File::create_new(&path_of_kv_file);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kv/sst.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     let mut file = OpenOptions::new()
[INFO] [stdout]     |                         ----^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sst`
[INFO] [stdout]    --> src/kv/sst.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |             for sst in ssts {
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_sst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data_dir` is never read
[INFO] [stdout]   --> src/kv/db.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ShorterDB {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub(crate) data_dir: PathBuf,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]    --> src/kv/sst.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl SST {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub(crate) fn delete(&mut self, key: &[u8]) -> Result<(), Error> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/kv/wal.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct WAL {
[INFO] [stdout]    |                   --- field in this struct
[INFO] [stdout] 12 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_entries` is never used
[INFO] [stdout]   --> src/kv/wal.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl WAL {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub(crate) fn read_entries(&self) -> io::Result<Vec<WALEntry>> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DelRequest` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/shorterDB-5609fd5baf707aa2/out/commands.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct DelRequest {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 21 |         let _ = fs::create_dir_all(&data_dir); // Ensure the data directory exists
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         self.wal.write(&entry);
[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] 67 |         let _ = self.wal.write(&entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/db.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         self.wal.write(&tombstone_entry);
[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] 91 |         let _ = self.wal.write(&tombstone_entry);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/kv/sst.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 create_dir(l0.clone());
[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] 35 |                 let _ = create_dir(l0.clone());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/kv/sst.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     file.unwrap().write_all(value);
[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] 153 |                     let _ = file.unwrap().write_all(value);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.40s
[INFO] running `Command { std: "docker" "inspect" "4a66e092cb6ba0f04b7ed657652ce7a837c399493ecb458091b10e8ce04e0f5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a66e092cb6ba0f04b7ed657652ce7a837c399493ecb458091b10e8ce04e0f5d", kill_on_drop: false }`
[INFO] [stdout] 4a66e092cb6ba0f04b7ed657652ce7a837c399493ecb458091b10e8ce04e0f5d
