[INFO] cloning repository https://github.com/jzwdsb/leveldb-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jzwdsb/leveldb-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjzwdsb%2Fleveldb-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjzwdsb%2Fleveldb-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 59ff4d77999312154a042f70c43971b9d7b84548
[INFO] testing jzwdsb/leveldb-rs against beta-2025-09-21 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjzwdsb%2Fleveldb-rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jzwdsb/leveldb-rs
[INFO] finished tweaking git repo https://github.com/jzwdsb/leveldb-rs
[INFO] tweaked toml for git repo https://github.com/jzwdsb/leveldb-rs written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jzwdsb/leveldb-rs on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jzwdsb/leveldb-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7c74aed2ba3bc242c5fb400dd31aca2022359c43f2c9d77566a436f827cc09a1
[INFO] running `Command { std: "docker" "start" "-a" "7c74aed2ba3bc242c5fb400dd31aca2022359c43f2c9d77566a436f827cc09a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7c74aed2ba3bc242c5fb400dd31aca2022359c43f2c9d77566a436f827cc09a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c74aed2ba3bc242c5fb400dd31aca2022359c43f2c9d77566a436f827cc09a1", kill_on_drop: false }`
[INFO] [stdout] 7c74aed2ba3bc242c5fb400dd31aca2022359c43f2c9d77566a436f827cc09a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e019c8f5ec8f57f5b8ff80e01f962ec0dd66fa4dace4f3e016df46b0f06e7691
[INFO] running `Command { std: "docker" "start" "-a" "e019c8f5ec8f57f5b8ff80e01f962ec0dd66fa4dace4f3e016df46b0f06e7691", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling zerocopy v0.8.17
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling serde v1.0.196
[INFO] [stderr]    Compiling bumpalo v3.15.3
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling rand_core v0.9.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.0
[INFO] [stderr]    Compiling leveldb-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/common/slice.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     use super::*;
[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: `Status`
[INFO] [stdout]  --> src/db/db_iter.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::common::{Iter, Status};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kLogFile` should have an upper camel case name
[INFO] [stdout]  --> src/db/filename.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |         kLogFile,
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KLogFile`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kDBLockFile` should have an upper camel case name
[INFO] [stdout]  --> src/db/filename.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         kDBLockFile,
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KDblockFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kTableFile` should have an upper camel case name
[INFO] [stdout]  --> src/db/filename.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         kTableFile,
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KTableFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kDescriptorFile` should have an upper camel case name
[INFO] [stdout]  --> src/db/filename.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         kDescriptorFile,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KDescriptorFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kCurrentFile` should have an upper camel case name
[INFO] [stdout]   --> src/db/filename.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |         kCurrentFile,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KCurrentFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kTempFile` should have an upper camel case name
[INFO] [stdout]   --> src/db/filename.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         kTempFile,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KTempFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kInfoLogFile` should have an upper camel case name
[INFO] [stdout]   --> src/db/filename.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         kInfoLogFile,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KInfoLogFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/util/random.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logging::*`
[INFO] [stdout]   --> src/util/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use logging::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random::*`
[INFO] [stdout]   --> src/util/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use random::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]   --> src/db/skiplist.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/db/skiplist.rs:45:48
[INFO] [stdout]    |
[INFO] [stdout] 45 |         while height < Self::MAX_HEIGHT && rng.gen_range(0..4) == 0 {
[INFO] [stdout]    |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/common/options.rs:59:27
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn put(&mut self, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/common/options.rs:59:40
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn put(&mut self, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/common/options.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn delete(&mut self, key: &Slice) {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dbname`
[INFO] [stdout]   --> src/common/table_cache.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout]    |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_dbname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/common/table_cache.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entries`
[INFO] [stdout]   --> src/common/table_cache.rs:11:50
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout]    |                                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, _entries: u64) -> Self {
[INFO] [stdout]    |                                                  +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 11 -     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout] 11 +     pub fn new(dbname: String, options: Options, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) -> Self {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/common/table_cache.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         options: &ReadOptions,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_number`
[INFO] [stdout]   --> src/common/table_cache.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         file_number: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 18 |         _file_number: u64,
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 18 -         file_number: u64,
[INFO] [stdout] 18 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_size`
[INFO] [stdout]   --> src/common/table_cache.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         file_size: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 19 |         _file_size: u64,
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 19 -         file_size: u64,
[INFO] [stdout] 19 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/common/table_cache.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         options: &ReadOptions,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_number`
[INFO] [stdout]   --> src/common/table_cache.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         file_number: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 27 |         _file_number: u64,
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 27 -         file_number: u64,
[INFO] [stdout] 27 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_size`
[INFO] [stdout]   --> src/common/table_cache.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         file_size: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 28 |         _file_size: u64,
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 28 -         file_size: u64,
[INFO] [stdout] 28 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/common/table_cache.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         key: &Slice,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle_value`
[INFO] [stdout]   --> src/common/table_cache.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         handle_value: &mut Box<dyn Handle>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_number`
[INFO] [stdout]   --> src/common/table_cache.rs:35:29
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn evict(&mut self, file_number: u64) {
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn evict(&mut self, _file_number: u64) {
[INFO] [stdout]    |                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 35 -     pub fn evict(&mut self, file_number: u64) {
[INFO] [stdout] 35 +     pub fn evict(&mut self, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_number`
[INFO] [stdout]   --> src/common/table_cache.rs:39:30
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn find_table(&mut self, _file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 39 -     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout] 39 +     fn find_table(&mut self, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_size`
[INFO] [stdout]   --> src/common/table_cache.rs:39:48
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                                                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn find_table(&mut self, file_number: u64, _file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 39 -     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout] 39 +     fn find_table(&mut self, file_number: u64, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]   --> src/db/arena.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         pub fn allocate(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 13 |         pub fn allocate(&self, _bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_READ_BYTES_PERIOD`
[INFO] [stdout]    |
[INFO] [stdout] 13 -         pub fn allocate(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout] 13 +         pub fn allocate(&self, db::db_format::level_db::config::K_READ_BYTES_PERIOD: usize) -> *mut u8 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]   --> src/db/arena.rs:21:40
[INFO] [stdout]    |
[INFO] [stdout] 21 |         pub fn allocate_aligned(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 21 |         pub fn allocate_aligned(&self, _bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                                        +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_READ_BYTES_PERIOD`
[INFO] [stdout]    |
[INFO] [stdout] 21 -         pub fn allocate_aligned(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout] 21 +         pub fn allocate_aligned(&self, db::db_format::level_db::config::K_READ_BYTES_PERIOD: usize) -> *mut u8 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/db/db_format.rs:112:43
[INFO] [stdout]     |
[INFO] [stdout] 112 |         fn find_shortest_separator(&self, start: &mut Slice, limit: &Slice) {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> src/db/db_format.rs:112:62
[INFO] [stdout]     |
[INFO] [stdout] 112 |         fn find_shortest_separator(&self, start: &mut Slice, limit: &Slice) {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/db/db_format.rs:116:40
[INFO] [stdout]     |
[INFO] [stdout] 116 |         fn find_short_successor(&self, key: &mut Slice) {
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keys`
[INFO] [stdout]    --> src/db/db_format.rs:128:33
[INFO] [stdout]     |
[INFO] [stdout] 128 |         fn create_filter(&self, keys: &[Slice]) -> Slice {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_keys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/db/db_format.rs:132:33
[INFO] [stdout]     |
[INFO] [stdout] 132 |         fn key_may_match(&self, key: &Slice, filter: &Slice) -> bool {
[INFO] [stdout]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> src/db/db_format.rs:132:46
[INFO] [stdout]     |
[INFO] [stdout] 132 |         fn key_may_match(&self, key: &Slice, filter: &Slice) -> bool {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |         fn open(options: &Options, name: &str, db: &mut Self) -> Status {
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/db/db_impl.rs:32:36
[INFO] [stdout]    |
[INFO] [stdout] 32 |         fn open(options: &Options, name: &str, db: &mut Self) -> Status {
[INFO] [stdout]    |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/db/db_impl.rs:32:48
[INFO] [stdout]    |
[INFO] [stdout] 32 |         fn open(options: &Options, name: &str, db: &mut Self) -> Status {
[INFO] [stdout]    |                                                ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status {
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/db_impl.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status {
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/db/db_impl.rs:36:64
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status {
[INFO] [stdout]    |                                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:40:30
[INFO] [stdout]    |
[INFO] [stdout] 40 |         fn delete(&mut self, options: &WriteOptions, key: &Slice) -> Status {
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/db_impl.rs:40:54
[INFO] [stdout]    |
[INFO] [stdout] 40 |         fn delete(&mut self, options: &WriteOptions, key: &Slice) -> Status {
[INFO] [stdout]    |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 44 |         fn write(&mut self, options: &WriteOptions, updates: &mut WriteBatch) -> Status {
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `updates`
[INFO] [stdout]   --> src/db/db_impl.rs:44:53
[INFO] [stdout]    |
[INFO] [stdout] 44 |         fn write(&mut self, options: &WriteOptions, updates: &mut WriteBatch) -> Status {
[INFO] [stdout]    |                                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_updates`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |         fn get(&mut self, options: &ReadOptions, key: &Slice) -> Result<Slice, Status> {
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/db_impl.rs:48:50
[INFO] [stdout]    |
[INFO] [stdout] 48 |         fn get(&mut self, options: &ReadOptions, key: &Slice) -> Result<Slice, Status> {
[INFO] [stdout]    |                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:52:36
[INFO] [stdout]    |
[INFO] [stdout] 52 |         fn new_iterator(&mut self, options: &ReadOptions) -> Box<dyn crate::common::Iter> {
[INFO] [stdout]    |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `propname`
[INFO] [stdout]   --> src/db/db_impl.rs:60:36
[INFO] [stdout]    |
[INFO] [stdout] 60 |         fn get_property(&mut self, propname: &Slice) -> Option<String> {
[INFO] [stdout]    |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_propname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ranges`
[INFO] [stdout]   --> src/db/db_impl.rs:64:45
[INFO] [stdout]    |
[INFO] [stdout] 64 |         fn get_approximate_sizes(&mut self, ranges: &crate::common::Range, n: i64) -> Vec<u64> {
[INFO] [stdout]    |                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ranges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/db/db_impl.rs:64:76
[INFO] [stdout]    |
[INFO] [stdout] 64 |         fn get_approximate_sizes(&mut self, ranges: &crate::common::Range, n: i64) -> Vec<u64> {
[INFO] [stdout]    |                                                                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/db/db_impl.rs:68:37
[INFO] [stdout]    |
[INFO] [stdout] 68 |         fn compact_range(&mut self, start: &Slice, end: &Slice) {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]   --> src/db/db_impl.rs:68:52
[INFO] [stdout]    |
[INFO] [stdout] 68 |         fn compact_range(&mut self, start: &Slice, end: &Slice) {
[INFO] [stdout]    |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |         fn destory_db(options: &Options, name: &str) -> Status {
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/db/db_impl.rs:72:42
[INFO] [stdout]    |
[INFO] [stdout] 72 |         fn destory_db(options: &Options, name: &str) -> Status {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:76:22
[INFO] [stdout]    |
[INFO] [stdout] 76 |         fn repair_db(options: &Options, name: &str) -> Status {
[INFO] [stdout]    |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/db/db_impl.rs:76:41
[INFO] [stdout]    |
[INFO] [stdout] 76 |         fn repair_db(options: &Options, name: &str) -> Status {
[INFO] [stdout]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/db/db_iter.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(db: &DBImpl, iter: DBIter<'_>) -> Self {
[INFO] [stdout]    |                ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iter`
[INFO] [stdout]   --> src/db/db_iter.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(db: &DBImpl, iter: DBIter<'_>) -> Self {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/db/db_iter.rs:37:24
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn seek(&mut self, target: &crate::common::Slice) {
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/db/dump_file.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_name`
[INFO] [stdout]   --> src/db/dump_file.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/db/dump_file.rs:16:61
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |                                                             ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/db/dump_file.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         env: Box<dyn Env>,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_name`
[INFO] [stdout]   --> src/db/dump_file.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         file_name: &String,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/db/dump_file.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         dst: Box<dyn WritableFile>,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/db/dump_file.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         env: Box<dyn Env>,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_name`
[INFO] [stdout]   --> src/db/dump_file.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         file_name: &String,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/db/dump_file.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         dst: Box<dyn WritableFile>,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sequence`
[INFO] [stdout]   --> src/db/memtable.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, _sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 40 -         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout] 40 +         pub fn add(&self, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value_type`
[INFO] [stdout]   --> src/db/memtable.rs:40:42
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, _value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                          +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_VALUE_TYPE_FOR_SEEK`
[INFO] [stdout]    |
[INFO] [stdout] 40 -         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout] 40 +         pub fn add(&self, sequence: u64, db::db_format::level_db::K_VALUE_TYPE_FOR_SEEK: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/memtable.rs:40:65
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/db/memtable.rs:40:78
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/memtable.rs:44:27
[INFO] [stdout]    |
[INFO] [stdout] 44 |         pub fn get(&self, key: &LookupKey) -> Option<Slice> {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/db/skiplist.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let mut x = self.find_greater_or_equal(&key, &mut prev);
[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: `guard`
[INFO] [stdout]   --> src/port/mutex.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn wait(&self, guard: &mut MutexGuard<bool>) {}
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/table/block_builder.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn add(&mut self, key: &Slice, value: &Slice) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/table/block_builder.rs:31:40
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn add(&mut self, key: &Slice, value: &Slice) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/util/codec.rs:50:25
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/util/codec.rs:50:41
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stdout]    |                                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn put_varint32(dst: &mut [u8], _value: u32) {
[INFO] [stdout]    |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R`
[INFO] [stdout]    |
[INFO] [stdout] 50 -     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stdout] 50 +     pub fn put_varint32(dst: &mut [u8], util::hash::leveldb::R: u32) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/util/codec.rs:54:25
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/util/codec.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stdout]    |                                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn put_varint64(dst: &mut [u8], _value: u64) {
[INFO] [stdout]    |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 54 -     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stdout] 54 +     pub fn put_varint64(dst: &mut [u8], db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/util/codec.rs:58:38
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn put_length_prefixed_slice(dst: &mut [u8], value: &[u8]) {
[INFO] [stdout]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/util/codec.rs:58:54
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn put_length_prefixed_slice(dst: &mut [u8], value: &[u8]) {
[INFO] [stdout]    |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/codec.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_fixed32(src: &Slice) -> u32 {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/codec.rs:66:25
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn get_varint32(src: &Slice) -> Option<u32> {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/codec.rs:70:24
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_fixed64(src: &Slice) -> Option<u64> {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/codec.rs:74:38
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn get_length_prefixed_slice(src: &Slice) -> Option<&Slice> {
[INFO] [stdout]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]  --> src/util/crc32.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout]   |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `crc`
[INFO] [stdout]  --> src/util/crc32.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout]   |                                ^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], _crc: u32) -> u32 {
[INFO] [stdout]   |                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R`
[INFO] [stdout]   |
[INFO] [stdout] 3 -     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout] 3 +     pub fn Extend(data: &[u8], util::hash::leveldb::R: u32) -> u32 {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `crc`
[INFO] [stdout]  --> src/util/crc32.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn Mask(crc: u32) -> u32 {
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn Mask(_crc: u32) -> u32 {
[INFO] [stdout]   |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R`
[INFO] [stdout]   |
[INFO] [stdout] 6 -     pub fn Mask(crc: u32) -> u32 {
[INFO] [stdout] 6 +     pub fn Mask(util::hash::leveldb::R: u32) -> u32 {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/util/env.rs:23:34
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]   --> src/util/env.rs:23:53
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/util/env.rs:23:72
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/util/env.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]   --> src/util/env.rs:27:47
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/util/env.rs:27:66
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/logging.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn comsume_deciamal_number(src: &mut Slice) -> Option<u64> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next`
[INFO] [stdout]   --> src/util/lru_cache.rs:41:28
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn set_next(&mut self, next: Option<Box<dyn Handle>>) {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_next`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev`
[INFO] [stdout]   --> src/util/lru_cache.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn set_prev(&mut self, prev: Option<Box<dyn Handle>>) {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_prev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `capacity`
[INFO] [stdout]   --> src/util/lru_cache.rs:61:16
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn new(_capacity: usize) -> Self {
[INFO] [stdout]    |                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_READ_BYTES_PERIOD`
[INFO] [stdout]    |
[INFO] [stdout] 61 -     pub fn new(capacity: usize) -> Self {
[INFO] [stdout] 61 +     pub fn new(db::db_format::level_db::config::K_READ_BYTES_PERIOD: usize) -> Self {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/util/lru_cache.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn insert(&mut self, key: &Slice, value: &Slice) -> Box<dyn Handle> {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/util/lru_cache.rs:67:39
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn insert(&mut self, key: &Slice, value: &Slice) -> Box<dyn Handle> {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/util/lru_cache.rs:71:26
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn lookup(&mut self, key: &Slice) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]   --> src/util/lru_cache.rs:75:27
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn release(&mut self, entry: Box<dyn Handle>) {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/util/lru_cache.rs:79:25
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn erase(&mut self, key: &Slice) {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Handle` is never used
[INFO] [stdout]   --> src/common/mod.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait Handle {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Cache` is never used
[INFO] [stdout]   --> src/common/mod.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait Cache {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FilterPolicy` is never used
[INFO] [stdout]   --> src/common/mod.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub trait FilterPolicy {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Comparator` is never used
[INFO] [stdout]   --> src/common/mod.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub trait Comparator {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Env` is never used
[INFO] [stdout]   --> src/common/mod.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub trait Env {
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SequentialFile` is never used
[INFO] [stdout]   --> src/common/mod.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub trait SequentialFile {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `WritableFile` is never used
[INFO] [stdout]   --> src/common/mod.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub trait WritableFile {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RandomAccessFile` is never used
[INFO] [stdout]   --> src/common/mod.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub trait RandomAccessFile {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Logger` is never used
[INFO] [stdout]   --> src/common/mod.rs:93:11
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub trait Logger {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileLock` is never used
[INFO] [stdout]   --> src/common/mod.rs:97:11
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub trait FileLock {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Range` is never constructed
[INFO] [stdout]    --> src/common/mod.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct Range {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Table` is never used
[INFO] [stdout]    --> src/common/mod.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub trait Table {}
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Snapshot` is never used
[INFO] [stdout]    --> src/common/mod.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Snapshot {}
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Iter` is never used
[INFO] [stdout]    --> src/common/mod.rs:110:11
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait Iter {
[INFO] [stdout]     |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DB` is never used
[INFO] [stdout]    --> src/common/mod.rs:122:11
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub trait DB {
[INFO] [stdout]     |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Status` is never used
[INFO] [stdout]  --> src/common/code.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Status {
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_ok`, `is_not_found`, `is_corruption`, `is_not_supported`, `is_invalid_argument`, and `is_io_error` are never used
[INFO] [stdout]   --> src/common/code.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Status {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 13 |     pub fn is_ok(&self) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn is_not_found(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn is_corruption(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn is_not_supported(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn is_invalid_argument(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn is_io_error(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CompressionType` is never used
[INFO] [stdout]  --> src/common/options.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum CompressionType {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Options` is never constructed
[INFO] [stdout]  --> src/common/options.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Options {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReadOptions` is never constructed
[INFO] [stdout]   --> src/common/options.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct ReadOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteOptions` is never constructed
[INFO] [stdout]   --> src/common/options.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct WriteOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteBatch` is never constructed
[INFO] [stdout]   --> src/common/options.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct WriteBatch {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteBatchIterator` is never constructed
[INFO] [stdout]   --> src/common/options.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct WriteBatchIterator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `put`, `delete`, `clear`, `approximate_size`, and `iter` are never used
[INFO] [stdout]   --> src/common/options.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl WriteBatch {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 55 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn put(&mut self, key: &Slice, value: &Slice) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn delete(&mut self, key: &Slice) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn approximate_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn iter(&self) -> WriteBatchIterator {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Slice` is never constructed
[INFO] [stdout]  --> src/common/slice.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Slice {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/common/slice.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Slice {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn new_with_data(data: &[u8]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn new_with_vec(data: Vec<u8>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn new_with_string(data: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn start_with(&self, prefix: &Self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn data(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableCache` is never constructed
[INFO] [stdout]  --> src/common/table_cache.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TableCache {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_iter`, `get`, `evict`, and `find_table` are never used
[INFO] [stdout]   --> src/common/table_cache.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl TableCache {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn new_iter(
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn get(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn evict(&mut self, file_number: u64) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Arena` is never constructed
[INFO] [stdout]  --> src/db/arena.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub struct Arena {
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `allocate`, `memory_usage`, and `allocate_aligned` are never used
[INFO] [stdout]   --> src/db/arena.rs:9:16
[INFO] [stdout]    |
[INFO] [stdout]  8 |     impl Arena {
[INFO] [stdout]    |     ---------- associated items in this implementation
[INFO] [stdout]  9 |         pub fn new() -> Arena {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         pub fn allocate(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         pub fn memory_usage(&self) -> usize {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |         pub fn allocate_aligned(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValueType` is never used
[INFO] [stdout]   --> src/db/db_format.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub enum ValueType {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_VALUE_TYPE_FOR_SEEK` is never used
[INFO] [stdout]   --> src/db/db_format.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 |     const K_VALUE_TYPE_FOR_SEEK: ValueType = ValueType::KTypeValue;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SequenceNumber` is never used
[INFO] [stdout]   --> src/db/db_format.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |     type SequenceNumber = u64;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_SEQUENCE_NUMBER` is never used
[INFO] [stdout]   --> src/db/db_format.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |     const K_MAX_SEQUENCE_NUMBER: SequenceNumber = ((0x1u64) << 56) - 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pack_sequence_and_type` is never used
[INFO] [stdout]   --> src/db/db_format.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn pack_sequence_and_type(seq: SequenceNumber, t: ValueType) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParsedInternalKey` is never constructed
[INFO] [stdout]   --> src/db/db_format.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     struct ParsedInternalKey {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `debug_string`, and `len` are never used
[INFO] [stdout]   --> src/db/db_format.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |     impl ParsedInternalKey {
[INFO] [stdout]    |     ---------------------- associated items in this implementation
[INFO] [stdout] 40 |         pub fn new(user_key: Slice, sequence: SequenceNumber, value_type: ValueType) -> Self {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |         pub fn debug_string(&self) -> String {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |         pub fn len(&self) -> usize {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aoppend_internal_key` is never used
[INFO] [stdout]   --> src/db/db_format.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn aoppend_internal_key(result: &mut String, key: &ParsedInternalKey) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_user_key` is never used
[INFO] [stdout]   --> src/db/db_format.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn extract_user_key(internal_key: &Slice) -> Slice {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InternalKeyComparator` is never constructed
[INFO] [stdout]   --> src/db/db_format.rs:81:16
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub struct InternalKeyComparator {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/db/db_format.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 85 |     impl InternalKeyComparator {
[INFO] [stdout]    |     -------------------------- associated function in this implementation
[INFO] [stdout] 86 |         pub fn new(user_comparator: Box<dyn Comparator>) -> Self {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InternalFilterPolicy` is never constructed
[INFO] [stdout]    --> src/db/db_format.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     struct InternalFilterPolicy {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InternalKey` is never constructed
[INFO] [stdout]    --> src/db/db_format.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 141 |     struct InternalKey {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `debug_string`, `decode_from`, `encode`, `user_key`, and `clear` are never used
[INFO] [stdout]    --> src/db/db_format.rs:146:16
[INFO] [stdout]     |
[INFO] [stdout] 145 |     impl InternalKey {
[INFO] [stdout]     |     ---------------- associated items in this implementation
[INFO] [stdout] 146 |         pub fn new(rep: Slice) -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |         pub fn debug_string(&self) -> String {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |         pub fn decode_from(&mut self, s: &Slice) {
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |         pub fn encode(&self) -> Slice {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |         pub fn user_key(&self) -> Slice {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |         pub fn clear(&mut self) {
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LookupKey` is never constructed
[INFO] [stdout]    --> src/db/db_format.rs:179:16
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub struct LookupKey {
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_with_key`, `memtable_key`, and `internal_key` are never used
[INFO] [stdout]    --> src/db/db_format.rs:184:16
[INFO] [stdout]     |
[INFO] [stdout] 183 |     impl LookupKey {
[INFO] [stdout]     |     -------------- associated items in this implementation
[INFO] [stdout] 184 |         pub fn new_with_key(user_key: &Slice, sequence: SequenceNumber) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |         pub fn memtable_key(&self) -> Slice {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |         pub fn internal_key(&self) -> Slice {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_NUM_LEVELS` is never used
[INFO] [stdout]   --> src/db/db_format.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |         const K_NUM_LEVELS: usize = 7;
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_L0_COMPACTION_TRIGGER` is never used
[INFO] [stdout]   --> src/db/db_format.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |         const K_L0_COMPACTION_TRIGGER: usize = 4;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_L0_SLOWDOWN_WRITES_TRIGGER` is never used
[INFO] [stdout]   --> src/db/db_format.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |         const K_L0_SLOWDOWN_WRITES_TRIGGER: usize = 8;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_L0_STOP_WRITES_TRIGGER` is never used
[INFO] [stdout]   --> src/db/db_format.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |         const K_L0_STOP_WRITES_TRIGGER: usize = 12;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_MEM_COMPACT_LEVEL` is never used
[INFO] [stdout]   --> src/db/db_format.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |         const K_MAX_MEM_COMPACT_LEVEL: usize = 2;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_READ_BYTES_PERIOD` is never used
[INFO] [stdout]   --> src/db/db_format.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |         const K_READ_BYTES_PERIOD: usize = 1048576;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ManualCompaction` is never constructed
[INFO] [stdout]  --> src/db/db_impl.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     struct ManualCompaction {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompactionStats` is never constructed
[INFO] [stdout]   --> src/db/db_impl.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     struct CompactionStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DBImpl` is never constructed
[INFO] [stdout]   --> src/db/db_impl.rs:21:16
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub struct DBImpl {
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/db/db_iter.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Direction {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DBIter` is never constructed
[INFO] [stdout]   --> src/db/db_iter.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct DBIter<'a> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/db/db_iter.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl DBIter<'_> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 22 |     pub fn new(db: &DBImpl, iter: DBIter<'_>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `guess_type` is never used
[INFO] [stdout]  --> src/db/dump_file.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn guess_type(file_name: &String) -> Option<FileType> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_log_file` is never used
[INFO] [stdout]   --> src/db/dump_file.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_table_file` is never used
[INFO] [stdout]   --> src/db/dump_file.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn dump_table_file(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_descriptor_file` is never used
[INFO] [stdout]   --> src/db/dump_file.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn dump_descriptor_file(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_file` is never used
[INFO] [stdout]   --> src/db/dump_file.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn dump_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FileType` is never used
[INFO] [stdout]  --> src/db/filename.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub enum FileType {
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_filename` is never used
[INFO] [stdout]   --> src/db/filename.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn parse_filename(filename: &String) -> Option<(u64, FileType)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn make_file_name(dbname: &String, number: u64, suffix: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn log_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn table_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ssttable_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn ssttable_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `descriptor_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn descriptor_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `current_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn current_file_name(dbname: &String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lock_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn lock_file_name(dbname: &String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `info_log_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn info_log_file_name(dbname: &String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn temp_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `info_log_filename` is never used
[INFO] [stdout]   --> src/db/filename.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn info_log_filename(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `old_info_log_filename` is never used
[INFO] [stdout]   --> src/db/filename.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn old_info_log_filename(dbname: &String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_current_file` is never used
[INFO] [stdout]   --> src/db/filename.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn set_current_file(env: Box<dyn Env>, dbname: &String, number: u64) -> Status {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyComparator` is never constructed
[INFO] [stdout]  --> src/db/memtable.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     struct KeyComparator<'a> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/db/memtable.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     impl<'a> KeyComparator<'a> {
[INFO] [stdout]    |     -------------------------- associated function in this implementation
[INFO] [stdout] 12 |         pub fn new(comparator: &'a InternalKeyComparator) -> KeyComparator<'a> {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemTable` is never constructed
[INFO] [stdout]   --> src/db/memtable.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub struct MemTable<'a> {
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `ref_memtable`, `unref_memtable`, `add`, and `get` are never used
[INFO] [stdout]   --> src/db/memtable.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 25 |     impl<'a> MemTable<'a> {
[INFO] [stdout]    |     --------------------- associated items in this implementation
[INFO] [stdout] 26 |         pub fn new(comparator: &'a InternalKeyComparator) -> MemTable<'a> {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |         pub fn ref_memtable(&self) -> &MemTable {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |         pub fn unref_memtable(&self) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |         pub fn get(&self, key: &LookupKey) -> Option<Slice> {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/db/skiplist.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Node<K> {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/db/skiplist.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<K> Node<K> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 12 |     fn new(key: K, height: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkipList` is never constructed
[INFO] [stdout]   --> src/db/skiplist.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct SkipList<K: Default, C> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `MAX_HEIGHT`, `new`, `random_height`, `insert`, `contains`, and `find_greater_or_equal` are never used
[INFO] [stdout]   --> src/db/skiplist.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | / impl<K: Default, C> SkipList<K, C>
[INFO] [stdout] 27 | | where
[INFO] [stdout] 28 | |     K: Ord + Clone,
[INFO] [stdout] 29 | |     C: Fn(&K, &K) -> std::cmp::Ordering,
[INFO] [stdout]    | |________________________________________- associated items in this implementation
[INFO] [stdout] 30 |   {
[INFO] [stdout] 31 |       const MAX_HEIGHT: usize = 12;
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout] 32 |
[INFO] [stdout] 33 |       fn new(compare: C) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |       fn random_height() -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |       fn insert(&mut self, key: K) {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |       fn contains(&self, key: &K) -> bool {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |       fn find_greater_or_equal(
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MutexGuard` is never constructed
[INFO] [stdout]  --> src/port/mutex.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct MutexGuard<'a, T> {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/port/mutex.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl<'a, T> MutexGuard<'a, T> {
[INFO] [stdout]   | ----------------------------- associated function in this implementation
[INFO] [stdout] 6 |     pub fn new(guard: std::sync::MutexGuard<'a, T>) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mutex` is never constructed
[INFO] [stdout]   --> src/port/mutex.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Mutex<T> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `lock` are never used
[INFO] [stdout]   --> src/port/mutex.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<T> Mutex<T> {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(t: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn lock(&self) -> MutexGuard<T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CondVar` is never constructed
[INFO] [stdout]   --> src/port/mutex.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct CondVar {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `wait`, and `notify_one` are never used
[INFO] [stdout]   --> src/port/mutex.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl CondVar {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 33 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn wait(&self, guard: &mut MutexGuard<bool>) {}
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 40 |
[INFO] [stdout] 41 |     pub fn notify_one(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Table` is never constructed
[INFO] [stdout]  --> src/table/table.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Table {}
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `open` is never used
[INFO] [stdout]  --> src/table/table.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Table {
[INFO] [stdout]   | ---------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn open() -> Self {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockBuilder` is never constructed
[INFO] [stdout]  --> src/table/block_builder.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct BlockBuilder {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `reset`, `add`, `finish`, `empty`, and `current_size_estimate` are never used
[INFO] [stdout]   --> src/table/block_builder.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl BlockBuilder {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(options: Options) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn add(&mut self, key: &Slice, value: &Slice) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn finish(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn current_size_estimate(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BloomFilterPolicy` is never constructed
[INFO] [stdout]  --> src/util/bloom_filter.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub struct BloomFilterPolicy {
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/bloom_filter.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     impl BloomFilterPolicy {
[INFO] [stdout]    |     ---------------------- associated function in this implementation
[INFO] [stdout] 12 |         pub fn new(bits_per_key: usize) -> Self {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOOM_HASH_SEED` is never used
[INFO] [stdout]   --> src/util/bloom_filter.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 |     const BLOOM_HASH_SEED: u32 = 0xbc9f1d34;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bloom_hash` is never used
[INFO] [stdout]   --> src/util/bloom_filter.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn bloom_hash(key: &Slice) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_fixed32` is never used
[INFO] [stdout]  --> src/util/codec.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub fn encode_fixed32(dst: &mut [u8], value: u32) {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_fixed64` is never used
[INFO] [stdout]   --> src/util/codec.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn encode_fixed64(dst: &mut [u8], value: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_fixed32` is never used
[INFO] [stdout]   --> src/util/codec.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn put_fixed32(dst: &mut String, value: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_fixed64` is never used
[INFO] [stdout]   --> src/util/codec.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn put_fixed64(dst: &mut String, value: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_fixed32` is never used
[INFO] [stdout]   --> src/util/codec.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn decode_fixed32(src: &[u8]) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_fixed64` is never used
[INFO] [stdout]   --> src/util/codec.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn decode_fixed64(src: &Slice) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_varint32` is never used
[INFO] [stdout]   --> src/util/codec.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_varint64` is never used
[INFO] [stdout]   --> src/util/codec.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_length_prefixed_slice` is never used
[INFO] [stdout]   --> src/util/codec.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn put_length_prefixed_slice(dst: &mut [u8], value: &[u8]) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_fixed32` is never used
[INFO] [stdout]   --> src/util/codec.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_fixed32(src: &Slice) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_varint32` is never used
[INFO] [stdout]   --> src/util/codec.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn get_varint32(src: &Slice) -> Option<u32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_fixed64` is never used
[INFO] [stdout]   --> src/util/codec.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_fixed64(src: &Slice) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_length_prefixed_slice` is never used
[INFO] [stdout]   --> src/util/codec.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn get_length_prefixed_slice(src: &Slice) -> Option<&Slice> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MASK_DELTA` is never used
[INFO] [stdout]  --> src/util/crc32.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     const K_MASK_DELTA: u32 = 0xa282ead8;
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Extend` is never used
[INFO] [stdout]  --> src/util/crc32.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Mask` is never used
[INFO] [stdout]  --> src/util/crc32.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn Mask(crc: u32) -> u32 {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnvPosix` is never constructed
[INFO] [stdout]   --> src/util/env.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct EnvPosix {}
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/env.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl EnvPosix {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 18 |     fn new() -> EnvPosix {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_string_to_file_sync` is never used
[INFO] [stdout]   --> src/util/env.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_write_string_to_file` is never used
[INFO] [stdout]   --> src/util/env.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `M` is never used
[INFO] [stdout]  --> src/util/hash.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 |     const M: u32 = 0xc6a4a793;
[INFO] [stdout]   |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R` is never used
[INFO] [stdout]  --> src/util/hash.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 |     const R: u32 = 24;
[INFO] [stdout]   |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash` is never used
[INFO] [stdout]  --> src/util/hash.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn hash(data: &[u8], seed: u32) -> u32 {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_number_to` is never used
[INFO] [stdout]  --> src/util/logging.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn append_number_to(dest: &mut String, num: u64) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_escaped_string_to` is never used
[INFO] [stdout]  --> src/util/logging.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn append_escaped_string_to(dest: &mut String, src: &Slice) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `escape_string` is never used
[INFO] [stdout]   --> src/util/logging.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn escape_string(src: &Slice) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `comsume_deciamal_number` is never used
[INFO] [stdout]   --> src/util/logging.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn comsume_deciamal_number(src: &mut Slice) -> Option<u64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Random` is never constructed
[INFO] [stdout]  --> src/util/random.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Random {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, `uniform`, `one_in`, and `skew` are never used
[INFO] [stdout]   --> src/util/random.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Random {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  6 |     pub fn new(seed: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn next(&mut self) -> u32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn uniform(&mut self, n: u32) -> u32 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn one_in(&mut self, n: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn skew(&mut self) -> u32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LRUHandle` is never constructed
[INFO] [stdout]  --> src/util/lru_cache.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct LRUHandle {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LRUCache` is never constructed
[INFO] [stdout]   --> src/util/lru_cache.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct LRUCache {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/lru_cache.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl LRUCache {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 61 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/db/memtable.rs:32:29
[INFO] [stdout]    |
[INFO] [stdout] 32 |         pub fn ref_memtable(&self) -> &MemTable {
[INFO] [stdout]    |                             ^^^^^     ^^^^^^^^^
[INFO] [stdout]    |                             |         ||
[INFO] [stdout]    |                             |         |the same lifetime is hidden here
[INFO] [stdout]    |                             |         the same lifetime is elided here
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |         pub fn ref_memtable(&self) -> &MemTable<'_> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/port/mutex.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn lock(&self) -> MutexGuard<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Crc32C` should have a snake case name
[INFO] [stdout]  --> src/util/crc32.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod Crc32C {
[INFO] [stdout]   |         ^^^^^^ help: convert the identifier to snake case: `crc32_c`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Extend` should have a snake case name
[INFO] [stdout]  --> src/util/crc32.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout]   |            ^^^^^^ help: convert the identifier to snake case: `extend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Mask` should have a snake case name
[INFO] [stdout]  --> src/util/crc32.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn Mask(crc: u32) -> u32 {
[INFO] [stdout]   |            ^^^^ help: convert the identifier to snake case: `mask`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.19s
[INFO] running `Command { std: "docker" "inspect" "e019c8f5ec8f57f5b8ff80e01f962ec0dd66fa4dace4f3e016df46b0f06e7691", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e019c8f5ec8f57f5b8ff80e01f962ec0dd66fa4dace4f3e016df46b0f06e7691", kill_on_drop: false }`
[INFO] [stdout] e019c8f5ec8f57f5b8ff80e01f962ec0dd66fa4dace4f3e016df46b0f06e7691
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6245a87b886417a95ebfa61970cb18025e3eec2f87aba25f05815895cb99ab2d
[INFO] running `Command { std: "docker" "start" "-a" "6245a87b886417a95ebfa61970cb18025e3eec2f87aba25f05815895cb99ab2d", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/common/slice.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     use super::*;
[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: `Status`
[INFO] [stdout]  --> src/db/db_iter.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::common::{Iter, Status};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kLogFile` should have an upper camel case name
[INFO] [stdout]  --> src/db/filename.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |         kLogFile,
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KLogFile`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kDBLockFile` should have an upper camel case name
[INFO] [stdout]  --> src/db/filename.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         kDBLockFile,
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KDblockFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kTableFile` should have an upper camel case name
[INFO] [stdout]  --> src/db/filename.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         kTableFile,
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KTableFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kDescriptorFile` should have an upper camel case name
[INFO] [stdout]  --> src/db/filename.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         kDescriptorFile,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KDescriptorFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kCurrentFile` should have an upper camel case name
[INFO] [stdout]   --> src/db/filename.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |         kCurrentFile,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KCurrentFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kTempFile` should have an upper camel case name
[INFO] [stdout]   --> src/db/filename.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         kTempFile,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KTempFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kInfoLogFile` should have an upper camel case name
[INFO] [stdout]   --> src/db/filename.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         kInfoLogFile,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KInfoLogFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/util/random.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logging::*`
[INFO] [stdout]   --> src/util/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use logging::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random::*`
[INFO] [stdout]   --> src/util/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use random::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]   --> src/db/skiplist.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/db/skiplist.rs:45:48
[INFO] [stdout]    |
[INFO] [stdout] 45 |         while height < Self::MAX_HEIGHT && rng.gen_range(0..4) == 0 {
[INFO] [stdout]    |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/common/options.rs:59:27
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn put(&mut self, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/common/options.rs:59:40
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn put(&mut self, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/common/options.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn delete(&mut self, key: &Slice) {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dbname`
[INFO] [stdout]   --> src/common/table_cache.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout]    |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_dbname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/common/table_cache.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entries`
[INFO] [stdout]   --> src/common/table_cache.rs:11:50
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout]    |                                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, _entries: u64) -> Self {
[INFO] [stdout]    |                                                  +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 11 -     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout] 11 +     pub fn new(dbname: String, options: Options, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) -> Self {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/common/table_cache.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         options: &ReadOptions,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_number`
[INFO] [stdout]   --> src/common/table_cache.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         file_number: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 18 |         _file_number: u64,
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 18 -         file_number: u64,
[INFO] [stdout] 18 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_size`
[INFO] [stdout]   --> src/common/table_cache.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         file_size: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 19 |         _file_size: u64,
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 19 -         file_size: u64,
[INFO] [stdout] 19 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/common/table_cache.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         options: &ReadOptions,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_number`
[INFO] [stdout]   --> src/common/table_cache.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         file_number: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 27 |         _file_number: u64,
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 27 -         file_number: u64,
[INFO] [stdout] 27 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_size`
[INFO] [stdout]   --> src/common/table_cache.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         file_size: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 28 |         _file_size: u64,
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 28 -         file_size: u64,
[INFO] [stdout] 28 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/common/table_cache.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         key: &Slice,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle_value`
[INFO] [stdout]   --> src/common/table_cache.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         handle_value: &mut Box<dyn Handle>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_number`
[INFO] [stdout]   --> src/common/table_cache.rs:35:29
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn evict(&mut self, file_number: u64) {
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn evict(&mut self, _file_number: u64) {
[INFO] [stdout]    |                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 35 -     pub fn evict(&mut self, file_number: u64) {
[INFO] [stdout] 35 +     pub fn evict(&mut self, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_number`
[INFO] [stdout]   --> src/common/table_cache.rs:39:30
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn find_table(&mut self, _file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 39 -     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout] 39 +     fn find_table(&mut self, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_size`
[INFO] [stdout]   --> src/common/table_cache.rs:39:48
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                                                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn find_table(&mut self, file_number: u64, _file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 39 -     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout] 39 +     fn find_table(&mut self, file_number: u64, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]   --> src/db/arena.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         pub fn allocate(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 13 |         pub fn allocate(&self, _bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_READ_BYTES_PERIOD`
[INFO] [stdout]    |
[INFO] [stdout] 13 -         pub fn allocate(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout] 13 +         pub fn allocate(&self, db::db_format::level_db::config::K_READ_BYTES_PERIOD: usize) -> *mut u8 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]   --> src/db/arena.rs:21:40
[INFO] [stdout]    |
[INFO] [stdout] 21 |         pub fn allocate_aligned(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 21 |         pub fn allocate_aligned(&self, _bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                                        +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_READ_BYTES_PERIOD`
[INFO] [stdout]    |
[INFO] [stdout] 21 -         pub fn allocate_aligned(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout] 21 +         pub fn allocate_aligned(&self, db::db_format::level_db::config::K_READ_BYTES_PERIOD: usize) -> *mut u8 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/db/db_format.rs:112:43
[INFO] [stdout]     |
[INFO] [stdout] 112 |         fn find_shortest_separator(&self, start: &mut Slice, limit: &Slice) {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> src/db/db_format.rs:112:62
[INFO] [stdout]     |
[INFO] [stdout] 112 |         fn find_shortest_separator(&self, start: &mut Slice, limit: &Slice) {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/db/db_format.rs:116:40
[INFO] [stdout]     |
[INFO] [stdout] 116 |         fn find_short_successor(&self, key: &mut Slice) {
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keys`
[INFO] [stdout]    --> src/db/db_format.rs:128:33
[INFO] [stdout]     |
[INFO] [stdout] 128 |         fn create_filter(&self, keys: &[Slice]) -> Slice {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_keys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/db/db_format.rs:132:33
[INFO] [stdout]     |
[INFO] [stdout] 132 |         fn key_may_match(&self, key: &Slice, filter: &Slice) -> bool {
[INFO] [stdout]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> src/db/db_format.rs:132:46
[INFO] [stdout]     |
[INFO] [stdout] 132 |         fn key_may_match(&self, key: &Slice, filter: &Slice) -> bool {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |         fn open(options: &Options, name: &str, db: &mut Self) -> Status {
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/db/db_impl.rs:32:36
[INFO] [stdout]    |
[INFO] [stdout] 32 |         fn open(options: &Options, name: &str, db: &mut Self) -> Status {
[INFO] [stdout]    |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/db/db_impl.rs:32:48
[INFO] [stdout]    |
[INFO] [stdout] 32 |         fn open(options: &Options, name: &str, db: &mut Self) -> Status {
[INFO] [stdout]    |                                                ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status {
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/db_impl.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status {
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/db/db_impl.rs:36:64
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status {
[INFO] [stdout]    |                                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:40:30
[INFO] [stdout]    |
[INFO] [stdout] 40 |         fn delete(&mut self, options: &WriteOptions, key: &Slice) -> Status {
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/db_impl.rs:40:54
[INFO] [stdout]    |
[INFO] [stdout] 40 |         fn delete(&mut self, options: &WriteOptions, key: &Slice) -> Status {
[INFO] [stdout]    |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 44 |         fn write(&mut self, options: &WriteOptions, updates: &mut WriteBatch) -> Status {
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `updates`
[INFO] [stdout]   --> src/db/db_impl.rs:44:53
[INFO] [stdout]    |
[INFO] [stdout] 44 |         fn write(&mut self, options: &WriteOptions, updates: &mut WriteBatch) -> Status {
[INFO] [stdout]    |                                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_updates`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |         fn get(&mut self, options: &ReadOptions, key: &Slice) -> Result<Slice, Status> {
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/db_impl.rs:48:50
[INFO] [stdout]    |
[INFO] [stdout] 48 |         fn get(&mut self, options: &ReadOptions, key: &Slice) -> Result<Slice, Status> {
[INFO] [stdout]    |                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:52:36
[INFO] [stdout]    |
[INFO] [stdout] 52 |         fn new_iterator(&mut self, options: &ReadOptions) -> Box<dyn crate::common::Iter> {
[INFO] [stdout]    |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `propname`
[INFO] [stdout]   --> src/db/db_impl.rs:60:36
[INFO] [stdout]    |
[INFO] [stdout] 60 |         fn get_property(&mut self, propname: &Slice) -> Option<String> {
[INFO] [stdout]    |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_propname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ranges`
[INFO] [stdout]   --> src/db/db_impl.rs:64:45
[INFO] [stdout]    |
[INFO] [stdout] 64 |         fn get_approximate_sizes(&mut self, ranges: &crate::common::Range, n: i64) -> Vec<u64> {
[INFO] [stdout]    |                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ranges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/db/db_impl.rs:64:76
[INFO] [stdout]    |
[INFO] [stdout] 64 |         fn get_approximate_sizes(&mut self, ranges: &crate::common::Range, n: i64) -> Vec<u64> {
[INFO] [stdout]    |                                                                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/db/db_impl.rs:68:37
[INFO] [stdout]    |
[INFO] [stdout] 68 |         fn compact_range(&mut self, start: &Slice, end: &Slice) {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]   --> src/db/db_impl.rs:68:52
[INFO] [stdout]    |
[INFO] [stdout] 68 |         fn compact_range(&mut self, start: &Slice, end: &Slice) {
[INFO] [stdout]    |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |         fn destory_db(options: &Options, name: &str) -> Status {
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/db/db_impl.rs:72:42
[INFO] [stdout]    |
[INFO] [stdout] 72 |         fn destory_db(options: &Options, name: &str) -> Status {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:76:22
[INFO] [stdout]    |
[INFO] [stdout] 76 |         fn repair_db(options: &Options, name: &str) -> Status {
[INFO] [stdout]    |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/db/db_impl.rs:76:41
[INFO] [stdout]    |
[INFO] [stdout] 76 |         fn repair_db(options: &Options, name: &str) -> Status {
[INFO] [stdout]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/db/db_iter.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(db: &DBImpl, iter: DBIter<'_>) -> Self {
[INFO] [stdout]    |                ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iter`
[INFO] [stdout]   --> src/db/db_iter.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(db: &DBImpl, iter: DBIter<'_>) -> Self {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/db/db_iter.rs:37:24
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn seek(&mut self, target: &crate::common::Slice) {
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/db/dump_file.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_name`
[INFO] [stdout]   --> src/db/dump_file.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/db/dump_file.rs:16:61
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |                                                             ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/db/dump_file.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         env: Box<dyn Env>,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_name`
[INFO] [stdout]   --> src/db/dump_file.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         file_name: &String,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/db/dump_file.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         dst: Box<dyn WritableFile>,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/db/dump_file.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         env: Box<dyn Env>,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_name`
[INFO] [stdout]   --> src/db/dump_file.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         file_name: &String,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/db/dump_file.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         dst: Box<dyn WritableFile>,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sequence`
[INFO] [stdout]   --> src/db/memtable.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, _sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 40 -         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout] 40 +         pub fn add(&self, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value_type`
[INFO] [stdout]   --> src/db/memtable.rs:40:42
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, _value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                          +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_VALUE_TYPE_FOR_SEEK`
[INFO] [stdout]    |
[INFO] [stdout] 40 -         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout] 40 +         pub fn add(&self, sequence: u64, db::db_format::level_db::K_VALUE_TYPE_FOR_SEEK: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/memtable.rs:40:65
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/db/memtable.rs:40:78
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/memtable.rs:44:27
[INFO] [stdout]    |
[INFO] [stdout] 44 |         pub fn get(&self, key: &LookupKey) -> Option<Slice> {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/db/skiplist.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let mut x = self.find_greater_or_equal(&key, &mut prev);
[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: `guard`
[INFO] [stdout]   --> src/port/mutex.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn wait(&self, guard: &mut MutexGuard<bool>) {}
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/table/block_builder.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn add(&mut self, key: &Slice, value: &Slice) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/table/block_builder.rs:31:40
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn add(&mut self, key: &Slice, value: &Slice) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/util/codec.rs:50:25
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/util/codec.rs:50:41
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stdout]    |                                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn put_varint32(dst: &mut [u8], _value: u32) {
[INFO] [stdout]    |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R`
[INFO] [stdout]    |
[INFO] [stdout] 50 -     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stdout] 50 +     pub fn put_varint32(dst: &mut [u8], util::hash::leveldb::R: u32) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/util/codec.rs:54:25
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/util/codec.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stdout]    |                                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn put_varint64(dst: &mut [u8], _value: u64) {
[INFO] [stdout]    |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 54 -     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stdout] 54 +     pub fn put_varint64(dst: &mut [u8], db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/util/codec.rs:58:38
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn put_length_prefixed_slice(dst: &mut [u8], value: &[u8]) {
[INFO] [stdout]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/util/codec.rs:58:54
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn put_length_prefixed_slice(dst: &mut [u8], value: &[u8]) {
[INFO] [stdout]    |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/codec.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_fixed32(src: &Slice) -> u32 {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/codec.rs:66:25
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn get_varint32(src: &Slice) -> Option<u32> {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/codec.rs:70:24
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_fixed64(src: &Slice) -> Option<u64> {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/codec.rs:74:38
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn get_length_prefixed_slice(src: &Slice) -> Option<&Slice> {
[INFO] [stdout]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]  --> src/util/crc32.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout]   |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `crc`
[INFO] [stdout]  --> src/util/crc32.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout]   |                                ^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], _crc: u32) -> u32 {
[INFO] [stdout]   |                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R`
[INFO] [stdout]   |
[INFO] [stdout] 3 -     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout] 3 +     pub fn Extend(data: &[u8], util::hash::leveldb::R: u32) -> u32 {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `crc`
[INFO] [stdout]  --> src/util/crc32.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn Mask(crc: u32) -> u32 {
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn Mask(_crc: u32) -> u32 {
[INFO] [stdout]   |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R`
[INFO] [stdout]   |
[INFO] [stdout] 6 -     pub fn Mask(crc: u32) -> u32 {
[INFO] [stdout] 6 +     pub fn Mask(util::hash::leveldb::R: u32) -> u32 {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/util/env.rs:23:34
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]   --> src/util/env.rs:23:53
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/util/env.rs:23:72
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/util/env.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]   --> src/util/env.rs:27:47
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/util/env.rs:27:66
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/logging.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn comsume_deciamal_number(src: &mut Slice) -> Option<u64> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next`
[INFO] [stdout]   --> src/util/lru_cache.rs:41:28
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn set_next(&mut self, next: Option<Box<dyn Handle>>) {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_next`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev`
[INFO] [stdout]   --> src/util/lru_cache.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn set_prev(&mut self, prev: Option<Box<dyn Handle>>) {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_prev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `capacity`
[INFO] [stdout]   --> src/util/lru_cache.rs:61:16
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn new(_capacity: usize) -> Self {
[INFO] [stdout]    |                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_READ_BYTES_PERIOD`
[INFO] [stdout]    |
[INFO] [stdout] 61 -     pub fn new(capacity: usize) -> Self {
[INFO] [stdout] 61 +     pub fn new(db::db_format::level_db::config::K_READ_BYTES_PERIOD: usize) -> Self {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/util/lru_cache.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn insert(&mut self, key: &Slice, value: &Slice) -> Box<dyn Handle> {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/util/lru_cache.rs:67:39
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn insert(&mut self, key: &Slice, value: &Slice) -> Box<dyn Handle> {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/util/lru_cache.rs:71:26
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn lookup(&mut self, key: &Slice) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]   --> src/util/lru_cache.rs:75:27
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn release(&mut self, entry: Box<dyn Handle>) {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/util/lru_cache.rs:79:25
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn erase(&mut self, key: &Slice) {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Handle` is never used
[INFO] [stdout]   --> src/common/mod.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait Handle {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Cache` is never used
[INFO] [stdout]   --> src/common/mod.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait Cache {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FilterPolicy` is never used
[INFO] [stdout]   --> src/common/mod.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub trait FilterPolicy {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Comparator` is never used
[INFO] [stdout]   --> src/common/mod.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub trait Comparator {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Env` is never used
[INFO] [stdout]   --> src/common/mod.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub trait Env {
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SequentialFile` is never used
[INFO] [stdout]   --> src/common/mod.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub trait SequentialFile {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `WritableFile` is never used
[INFO] [stdout]   --> src/common/mod.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub trait WritableFile {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RandomAccessFile` is never used
[INFO] [stdout]   --> src/common/mod.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub trait RandomAccessFile {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Logger` is never used
[INFO] [stdout]   --> src/common/mod.rs:93:11
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub trait Logger {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileLock` is never used
[INFO] [stdout]   --> src/common/mod.rs:97:11
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub trait FileLock {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Range` is never constructed
[INFO] [stdout]    --> src/common/mod.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct Range {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Table` is never used
[INFO] [stdout]    --> src/common/mod.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub trait Table {}
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Snapshot` is never used
[INFO] [stdout]    --> src/common/mod.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Snapshot {}
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Iter` is never used
[INFO] [stdout]    --> src/common/mod.rs:110:11
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait Iter {
[INFO] [stdout]     |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DB` is never used
[INFO] [stdout]    --> src/common/mod.rs:122:11
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub trait DB {
[INFO] [stdout]     |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Status` is never used
[INFO] [stdout]  --> src/common/code.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Status {
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_ok`, `is_not_found`, `is_corruption`, `is_not_supported`, `is_invalid_argument`, and `is_io_error` are never used
[INFO] [stdout]   --> src/common/code.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Status {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 13 |     pub fn is_ok(&self) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn is_not_found(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn is_corruption(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn is_not_supported(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn is_invalid_argument(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn is_io_error(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CompressionType` is never used
[INFO] [stdout]  --> src/common/options.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum CompressionType {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Options` is never constructed
[INFO] [stdout]  --> src/common/options.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Options {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReadOptions` is never constructed
[INFO] [stdout]   --> src/common/options.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct ReadOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteOptions` is never constructed
[INFO] [stdout]   --> src/common/options.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct WriteOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteBatch` is never constructed
[INFO] [stdout]   --> src/common/options.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct WriteBatch {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteBatchIterator` is never constructed
[INFO] [stdout]   --> src/common/options.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct WriteBatchIterator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `put`, `delete`, `clear`, `approximate_size`, and `iter` are never used
[INFO] [stdout]   --> src/common/options.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl WriteBatch {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 55 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn put(&mut self, key: &Slice, value: &Slice) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn delete(&mut self, key: &Slice) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn approximate_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn iter(&self) -> WriteBatchIterator {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Slice` is never constructed
[INFO] [stdout]  --> src/common/slice.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Slice {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/common/slice.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Slice {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn new_with_data(data: &[u8]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn new_with_vec(data: Vec<u8>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn new_with_string(data: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn start_with(&self, prefix: &Self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn data(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableCache` is never constructed
[INFO] [stdout]  --> src/common/table_cache.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TableCache {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_iter`, `get`, `evict`, and `find_table` are never used
[INFO] [stdout]   --> src/common/table_cache.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl TableCache {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn new_iter(
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn get(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn evict(&mut self, file_number: u64) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Arena` is never constructed
[INFO] [stdout]  --> src/db/arena.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub struct Arena {
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `allocate`, `memory_usage`, and `allocate_aligned` are never used
[INFO] [stdout]   --> src/db/arena.rs:9:16
[INFO] [stdout]    |
[INFO] [stdout]  8 |     impl Arena {
[INFO] [stdout]    |     ---------- associated items in this implementation
[INFO] [stdout]  9 |         pub fn new() -> Arena {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         pub fn allocate(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         pub fn memory_usage(&self) -> usize {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |         pub fn allocate_aligned(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValueType` is never used
[INFO] [stdout]   --> src/db/db_format.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub enum ValueType {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_VALUE_TYPE_FOR_SEEK` is never used
[INFO] [stdout]   --> src/db/db_format.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 |     const K_VALUE_TYPE_FOR_SEEK: ValueType = ValueType::KTypeValue;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SequenceNumber` is never used
[INFO] [stdout]   --> src/db/db_format.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |     type SequenceNumber = u64;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_SEQUENCE_NUMBER` is never used
[INFO] [stdout]   --> src/db/db_format.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |     const K_MAX_SEQUENCE_NUMBER: SequenceNumber = ((0x1u64) << 56) - 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pack_sequence_and_type` is never used
[INFO] [stdout]   --> src/db/db_format.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn pack_sequence_and_type(seq: SequenceNumber, t: ValueType) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParsedInternalKey` is never constructed
[INFO] [stdout]   --> src/db/db_format.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     struct ParsedInternalKey {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `debug_string`, and `len` are never used
[INFO] [stdout]   --> src/db/db_format.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |     impl ParsedInternalKey {
[INFO] [stdout]    |     ---------------------- associated items in this implementation
[INFO] [stdout] 40 |         pub fn new(user_key: Slice, sequence: SequenceNumber, value_type: ValueType) -> Self {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |         pub fn debug_string(&self) -> String {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |         pub fn len(&self) -> usize {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aoppend_internal_key` is never used
[INFO] [stdout]   --> src/db/db_format.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn aoppend_internal_key(result: &mut String, key: &ParsedInternalKey) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_user_key` is never used
[INFO] [stdout]   --> src/db/db_format.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn extract_user_key(internal_key: &Slice) -> Slice {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InternalKeyComparator` is never constructed
[INFO] [stdout]   --> src/db/db_format.rs:81:16
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub struct InternalKeyComparator {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/db/db_format.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 85 |     impl InternalKeyComparator {
[INFO] [stdout]    |     -------------------------- associated function in this implementation
[INFO] [stdout] 86 |         pub fn new(user_comparator: Box<dyn Comparator>) -> Self {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InternalFilterPolicy` is never constructed
[INFO] [stdout]    --> src/db/db_format.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     struct InternalFilterPolicy {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InternalKey` is never constructed
[INFO] [stdout]    --> src/db/db_format.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 141 |     struct InternalKey {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `debug_string`, `decode_from`, `encode`, `user_key`, and `clear` are never used
[INFO] [stdout]    --> src/db/db_format.rs:146:16
[INFO] [stdout]     |
[INFO] [stdout] 145 |     impl InternalKey {
[INFO] [stdout]     |     ---------------- associated items in this implementation
[INFO] [stdout] 146 |         pub fn new(rep: Slice) -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |         pub fn debug_string(&self) -> String {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |         pub fn decode_from(&mut self, s: &Slice) {
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |         pub fn encode(&self) -> Slice {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |         pub fn user_key(&self) -> Slice {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |         pub fn clear(&mut self) {
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LookupKey` is never constructed
[INFO] [stdout]    --> src/db/db_format.rs:179:16
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub struct LookupKey {
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_with_key`, `memtable_key`, and `internal_key` are never used
[INFO] [stdout]    --> src/db/db_format.rs:184:16
[INFO] [stdout]     |
[INFO] [stdout] 183 |     impl LookupKey {
[INFO] [stdout]     |     -------------- associated items in this implementation
[INFO] [stdout] 184 |         pub fn new_with_key(user_key: &Slice, sequence: SequenceNumber) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |         pub fn memtable_key(&self) -> Slice {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |         pub fn internal_key(&self) -> Slice {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_NUM_LEVELS` is never used
[INFO] [stdout]   --> src/db/db_format.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |         const K_NUM_LEVELS: usize = 7;
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_L0_COMPACTION_TRIGGER` is never used
[INFO] [stdout]   --> src/db/db_format.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |         const K_L0_COMPACTION_TRIGGER: usize = 4;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_L0_SLOWDOWN_WRITES_TRIGGER` is never used
[INFO] [stdout]   --> src/db/db_format.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |         const K_L0_SLOWDOWN_WRITES_TRIGGER: usize = 8;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_L0_STOP_WRITES_TRIGGER` is never used
[INFO] [stdout]   --> src/db/db_format.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |         const K_L0_STOP_WRITES_TRIGGER: usize = 12;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_MEM_COMPACT_LEVEL` is never used
[INFO] [stdout]   --> src/db/db_format.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |         const K_MAX_MEM_COMPACT_LEVEL: usize = 2;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_READ_BYTES_PERIOD` is never used
[INFO] [stdout]   --> src/db/db_format.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |         const K_READ_BYTES_PERIOD: usize = 1048576;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ManualCompaction` is never constructed
[INFO] [stdout]  --> src/db/db_impl.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     struct ManualCompaction {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompactionStats` is never constructed
[INFO] [stdout]   --> src/db/db_impl.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     struct CompactionStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DBImpl` is never constructed
[INFO] [stdout]   --> src/db/db_impl.rs:21:16
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub struct DBImpl {
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/db/db_iter.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Direction {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DBIter` is never constructed
[INFO] [stdout]   --> src/db/db_iter.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct DBIter<'a> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/db/db_iter.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl DBIter<'_> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 22 |     pub fn new(db: &DBImpl, iter: DBIter<'_>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `guess_type` is never used
[INFO] [stdout]  --> src/db/dump_file.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn guess_type(file_name: &String) -> Option<FileType> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_log_file` is never used
[INFO] [stdout]   --> src/db/dump_file.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_table_file` is never used
[INFO] [stdout]   --> src/db/dump_file.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn dump_table_file(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_descriptor_file` is never used
[INFO] [stdout]   --> src/db/dump_file.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn dump_descriptor_file(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_file` is never used
[INFO] [stdout]   --> src/db/dump_file.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn dump_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FileType` is never used
[INFO] [stdout]  --> src/db/filename.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub enum FileType {
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_filename` is never used
[INFO] [stdout]   --> src/db/filename.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn parse_filename(filename: &String) -> Option<(u64, FileType)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn make_file_name(dbname: &String, number: u64, suffix: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn log_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn table_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ssttable_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn ssttable_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `descriptor_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn descriptor_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `current_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn current_file_name(dbname: &String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lock_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn lock_file_name(dbname: &String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `info_log_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn info_log_file_name(dbname: &String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn temp_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `info_log_filename` is never used
[INFO] [stdout]   --> src/db/filename.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn info_log_filename(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `old_info_log_filename` is never used
[INFO] [stdout]   --> src/db/filename.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn old_info_log_filename(dbname: &String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_current_file` is never used
[INFO] [stdout]   --> src/db/filename.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn set_current_file(env: Box<dyn Env>, dbname: &String, number: u64) -> Status {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyComparator` is never constructed
[INFO] [stdout]  --> src/db/memtable.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     struct KeyComparator<'a> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/db/memtable.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     impl<'a> KeyComparator<'a> {
[INFO] [stdout]    |     -------------------------- associated function in this implementation
[INFO] [stdout] 12 |         pub fn new(comparator: &'a InternalKeyComparator) -> KeyComparator<'a> {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemTable` is never constructed
[INFO] [stdout]   --> src/db/memtable.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub struct MemTable<'a> {
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `ref_memtable`, `unref_memtable`, `add`, and `get` are never used
[INFO] [stdout]   --> src/db/memtable.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 25 |     impl<'a> MemTable<'a> {
[INFO] [stdout]    |     --------------------- associated items in this implementation
[INFO] [stdout] 26 |         pub fn new(comparator: &'a InternalKeyComparator) -> MemTable<'a> {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |         pub fn ref_memtable(&self) -> &MemTable {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |         pub fn unref_memtable(&self) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |         pub fn get(&self, key: &LookupKey) -> Option<Slice> {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/db/skiplist.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Node<K> {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/db/skiplist.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<K> Node<K> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 12 |     fn new(key: K, height: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkipList` is never constructed
[INFO] [stdout]   --> src/db/skiplist.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct SkipList<K: Default, C> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `MAX_HEIGHT`, `new`, `random_height`, `insert`, `contains`, and `find_greater_or_equal` are never used
[INFO] [stdout]   --> src/db/skiplist.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | / impl<K: Default, C> SkipList<K, C>
[INFO] [stdout] 27 | | where
[INFO] [stdout] 28 | |     K: Ord + Clone,
[INFO] [stdout] 29 | |     C: Fn(&K, &K) -> std::cmp::Ordering,
[INFO] [stdout]    | |________________________________________- associated items in this implementation
[INFO] [stdout] 30 |   {
[INFO] [stdout] 31 |       const MAX_HEIGHT: usize = 12;
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout] 32 |
[INFO] [stdout] 33 |       fn new(compare: C) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |       fn random_height() -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |       fn insert(&mut self, key: K) {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |       fn contains(&self, key: &K) -> bool {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |       fn find_greater_or_equal(
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MutexGuard` is never constructed
[INFO] [stdout]  --> src/port/mutex.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct MutexGuard<'a, T> {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/port/mutex.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl<'a, T> MutexGuard<'a, T> {
[INFO] [stdout]   | ----------------------------- associated function in this implementation
[INFO] [stdout] 6 |     pub fn new(guard: std::sync::MutexGuard<'a, T>) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mutex` is never constructed
[INFO] [stdout]   --> src/port/mutex.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Mutex<T> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `lock` are never used
[INFO] [stdout]   --> src/port/mutex.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<T> Mutex<T> {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(t: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn lock(&self) -> MutexGuard<T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CondVar` is never constructed
[INFO] [stdout]   --> src/port/mutex.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct CondVar {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `wait`, and `notify_one` are never used
[INFO] [stdout]   --> src/port/mutex.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl CondVar {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 33 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn wait(&self, guard: &mut MutexGuard<bool>) {}
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 40 |
[INFO] [stdout] 41 |     pub fn notify_one(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Table` is never constructed
[INFO] [stdout]  --> src/table/table.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Table {}
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `open` is never used
[INFO] [stdout]  --> src/table/table.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Table {
[INFO] [stdout]   | ---------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn open() -> Self {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockBuilder` is never constructed
[INFO] [stdout]  --> src/table/block_builder.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct BlockBuilder {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `reset`, `add`, `finish`, `empty`, and `current_size_estimate` are never used
[INFO] [stdout]   --> src/table/block_builder.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl BlockBuilder {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(options: Options) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn add(&mut self, key: &Slice, value: &Slice) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn finish(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn current_size_estimate(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BloomFilterPolicy` is never constructed
[INFO] [stdout]  --> src/util/bloom_filter.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub struct BloomFilterPolicy {
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/bloom_filter.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     impl BloomFilterPolicy {
[INFO] [stdout]    |     ---------------------- associated function in this implementation
[INFO] [stdout] 12 |         pub fn new(bits_per_key: usize) -> Self {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOOM_HASH_SEED` is never used
[INFO] [stdout]   --> src/util/bloom_filter.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 |     const BLOOM_HASH_SEED: u32 = 0xbc9f1d34;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bloom_hash` is never used
[INFO] [stdout]   --> src/util/bloom_filter.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn bloom_hash(key: &Slice) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_fixed32` is never used
[INFO] [stdout]  --> src/util/codec.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub fn encode_fixed32(dst: &mut [u8], value: u32) {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_fixed64` is never used
[INFO] [stdout]   --> src/util/codec.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn encode_fixed64(dst: &mut [u8], value: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_fixed32` is never used
[INFO] [stdout]   --> src/util/codec.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn put_fixed32(dst: &mut String, value: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_fixed64` is never used
[INFO] [stdout]   --> src/util/codec.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn put_fixed64(dst: &mut String, value: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_fixed32` is never used
[INFO] [stdout]   --> src/util/codec.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn decode_fixed32(src: &[u8]) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_fixed64` is never used
[INFO] [stdout]   --> src/util/codec.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn decode_fixed64(src: &Slice) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_varint32` is never used
[INFO] [stdout]   --> src/util/codec.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_varint64` is never used
[INFO] [stdout]   --> src/util/codec.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_length_prefixed_slice` is never used
[INFO] [stdout]   --> src/util/codec.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn put_length_prefixed_slice(dst: &mut [u8], value: &[u8]) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_fixed32` is never used
[INFO] [stdout]   --> src/util/codec.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_fixed32(src: &Slice) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_varint32` is never used
[INFO] [stdout]   --> src/util/codec.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn get_varint32(src: &Slice) -> Option<u32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_fixed64` is never used
[INFO] [stdout]   --> src/util/codec.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_fixed64(src: &Slice) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_length_prefixed_slice` is never used
[INFO] [stdout]   --> src/util/codec.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn get_length_prefixed_slice(src: &Slice) -> Option<&Slice> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MASK_DELTA` is never used
[INFO] [stdout]  --> src/util/crc32.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     const K_MASK_DELTA: u32 = 0xa282ead8;
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Extend` is never used
[INFO] [stdout]  --> src/util/crc32.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Mask` is never used
[INFO] [stdout]  --> src/util/crc32.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn Mask(crc: u32) -> u32 {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnvPosix` is never constructed
[INFO] [stdout]   --> src/util/env.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct EnvPosix {}
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/env.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl EnvPosix {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 18 |     fn new() -> EnvPosix {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_string_to_file_sync` is never used
[INFO] [stdout]   --> src/util/env.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_write_string_to_file` is never used
[INFO] [stdout]   --> src/util/env.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `M` is never used
[INFO] [stdout]  --> src/util/hash.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 |     const M: u32 = 0xc6a4a793;
[INFO] [stdout]   |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R` is never used
[INFO] [stdout]  --> src/util/hash.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 |     const R: u32 = 24;
[INFO] [stdout]   |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash` is never used
[INFO] [stdout]  --> src/util/hash.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn hash(data: &[u8], seed: u32) -> u32 {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_number_to` is never used
[INFO] [stdout]  --> src/util/logging.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn append_number_to(dest: &mut String, num: u64) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_escaped_string_to` is never used
[INFO] [stdout]  --> src/util/logging.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn append_escaped_string_to(dest: &mut String, src: &Slice) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `escape_string` is never used
[INFO] [stdout]   --> src/util/logging.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn escape_string(src: &Slice) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `comsume_deciamal_number` is never used
[INFO] [stdout]   --> src/util/logging.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn comsume_deciamal_number(src: &mut Slice) -> Option<u64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Random` is never constructed
[INFO] [stdout]  --> src/util/random.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Random {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, `uniform`, `one_in`, and `skew` are never used
[INFO] [stdout]   --> src/util/random.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Random {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  6 |     pub fn new(seed: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn next(&mut self) -> u32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn uniform(&mut self, n: u32) -> u32 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn one_in(&mut self, n: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn skew(&mut self) -> u32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LRUHandle` is never constructed
[INFO] [stdout]  --> src/util/lru_cache.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct LRUHandle {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LRUCache` is never constructed
[INFO] [stdout]   --> src/util/lru_cache.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct LRUCache {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/lru_cache.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl LRUCache {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 61 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/db/memtable.rs:32:29
[INFO] [stdout]    |
[INFO] [stdout] 32 |         pub fn ref_memtable(&self) -> &MemTable {
[INFO] [stdout]    |                             ^^^^^     ^^^^^^^^^
[INFO] [stdout]    |                             |         ||
[INFO] [stdout]    |                             |         |the same lifetime is hidden here
[INFO] [stdout]    |                             |         the same lifetime is elided here
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |         pub fn ref_memtable(&self) -> &MemTable<'_> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/port/mutex.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn lock(&self) -> MutexGuard<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Crc32C` should have a snake case name
[INFO] [stdout]  --> src/util/crc32.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod Crc32C {
[INFO] [stdout]   |         ^^^^^^ help: convert the identifier to snake case: `crc32_c`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Extend` should have a snake case name
[INFO] [stdout]  --> src/util/crc32.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout]   |            ^^^^^^ help: convert the identifier to snake case: `extend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling leveldb-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `Mask` should have a snake case name
[INFO] [stdout]  --> src/util/crc32.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn Mask(crc: u32) -> u32 {
[INFO] [stdout]   |            ^^^^ help: convert the identifier to snake case: `mask`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Status`
[INFO] [stdout]  --> src/db/db_iter.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::common::{Iter, Status};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kLogFile` should have an upper camel case name
[INFO] [stdout]  --> src/db/filename.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |         kLogFile,
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KLogFile`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kDBLockFile` should have an upper camel case name
[INFO] [stdout]  --> src/db/filename.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         kDBLockFile,
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KDblockFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kTableFile` should have an upper camel case name
[INFO] [stdout]  --> src/db/filename.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         kTableFile,
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KTableFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kDescriptorFile` should have an upper camel case name
[INFO] [stdout]  --> src/db/filename.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         kDescriptorFile,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KDescriptorFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kCurrentFile` should have an upper camel case name
[INFO] [stdout]   --> src/db/filename.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |         kCurrentFile,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KCurrentFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kTempFile` should have an upper camel case name
[INFO] [stdout]   --> src/db/filename.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         kTempFile,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KTempFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `kInfoLogFile` should have an upper camel case name
[INFO] [stdout]   --> src/db/filename.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         kInfoLogFile,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KInfoLogFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/util/random.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logging::*`
[INFO] [stdout]   --> src/util/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use logging::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random::*`
[INFO] [stdout]   --> src/util/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use random::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]   --> src/db/skiplist.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/db/skiplist.rs:45:48
[INFO] [stdout]    |
[INFO] [stdout] 45 |         while height < Self::MAX_HEIGHT && rng.gen_range(0..4) == 0 {
[INFO] [stdout]    |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/common/options.rs:59:27
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn put(&mut self, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/common/options.rs:59:40
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn put(&mut self, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/common/options.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn delete(&mut self, key: &Slice) {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dbname`
[INFO] [stdout]   --> src/common/table_cache.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout]    |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_dbname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/common/table_cache.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entries`
[INFO] [stdout]   --> src/common/table_cache.rs:11:50
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout]    |                                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, _entries: u64) -> Self {
[INFO] [stdout]    |                                                  +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 11 -     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout] 11 +     pub fn new(dbname: String, options: Options, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) -> Self {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/common/table_cache.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         options: &ReadOptions,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_number`
[INFO] [stdout]   --> src/common/table_cache.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         file_number: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 18 |         _file_number: u64,
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 18 -         file_number: u64,
[INFO] [stdout] 18 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_size`
[INFO] [stdout]   --> src/common/table_cache.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         file_size: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 19 |         _file_size: u64,
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 19 -         file_size: u64,
[INFO] [stdout] 19 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/common/table_cache.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         options: &ReadOptions,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_number`
[INFO] [stdout]   --> src/common/table_cache.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         file_number: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 27 |         _file_number: u64,
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 27 -         file_number: u64,
[INFO] [stdout] 27 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_size`
[INFO] [stdout]   --> src/common/table_cache.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         file_size: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 28 |         _file_size: u64,
[INFO] [stdout]    |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 28 -         file_size: u64,
[INFO] [stdout] 28 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/common/table_cache.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         key: &Slice,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle_value`
[INFO] [stdout]   --> src/common/table_cache.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         handle_value: &mut Box<dyn Handle>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_number`
[INFO] [stdout]   --> src/common/table_cache.rs:35:29
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn evict(&mut self, file_number: u64) {
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn evict(&mut self, _file_number: u64) {
[INFO] [stdout]    |                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 35 -     pub fn evict(&mut self, file_number: u64) {
[INFO] [stdout] 35 +     pub fn evict(&mut self, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_number`
[INFO] [stdout]   --> src/common/table_cache.rs:39:30
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn find_table(&mut self, _file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 39 -     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout] 39 +     fn find_table(&mut self, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_size`
[INFO] [stdout]   --> src/common/table_cache.rs:39:48
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                                                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn find_table(&mut self, file_number: u64, _file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 39 -     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout] 39 +     fn find_table(&mut self, file_number: u64, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]   --> src/db/arena.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |         pub fn allocate(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 13 |         pub fn allocate(&self, _bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_READ_BYTES_PERIOD`
[INFO] [stdout]    |
[INFO] [stdout] 13 -         pub fn allocate(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout] 13 +         pub fn allocate(&self, db::db_format::level_db::config::K_READ_BYTES_PERIOD: usize) -> *mut u8 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]   --> src/db/arena.rs:21:40
[INFO] [stdout]    |
[INFO] [stdout] 21 |         pub fn allocate_aligned(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 21 |         pub fn allocate_aligned(&self, _bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                                        +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_READ_BYTES_PERIOD`
[INFO] [stdout]    |
[INFO] [stdout] 21 -         pub fn allocate_aligned(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout] 21 +         pub fn allocate_aligned(&self, db::db_format::level_db::config::K_READ_BYTES_PERIOD: usize) -> *mut u8 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/db/db_format.rs:112:43
[INFO] [stdout]     |
[INFO] [stdout] 112 |         fn find_shortest_separator(&self, start: &mut Slice, limit: &Slice) {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> src/db/db_format.rs:112:62
[INFO] [stdout]     |
[INFO] [stdout] 112 |         fn find_shortest_separator(&self, start: &mut Slice, limit: &Slice) {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/db/db_format.rs:116:40
[INFO] [stdout]     |
[INFO] [stdout] 116 |         fn find_short_successor(&self, key: &mut Slice) {
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keys`
[INFO] [stdout]    --> src/db/db_format.rs:128:33
[INFO] [stdout]     |
[INFO] [stdout] 128 |         fn create_filter(&self, keys: &[Slice]) -> Slice {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_keys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/db/db_format.rs:132:33
[INFO] [stdout]     |
[INFO] [stdout] 132 |         fn key_may_match(&self, key: &Slice, filter: &Slice) -> bool {
[INFO] [stdout]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> src/db/db_format.rs:132:46
[INFO] [stdout]     |
[INFO] [stdout] 132 |         fn key_may_match(&self, key: &Slice, filter: &Slice) -> bool {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |         fn open(options: &Options, name: &str, db: &mut Self) -> Status {
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/db/db_impl.rs:32:36
[INFO] [stdout]    |
[INFO] [stdout] 32 |         fn open(options: &Options, name: &str, db: &mut Self) -> Status {
[INFO] [stdout]    |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/db/db_impl.rs:32:48
[INFO] [stdout]    |
[INFO] [stdout] 32 |         fn open(options: &Options, name: &str, db: &mut Self) -> Status {
[INFO] [stdout]    |                                                ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status {
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/db_impl.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status {
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/db/db_impl.rs:36:64
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status {
[INFO] [stdout]    |                                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:40:30
[INFO] [stdout]    |
[INFO] [stdout] 40 |         fn delete(&mut self, options: &WriteOptions, key: &Slice) -> Status {
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/db_impl.rs:40:54
[INFO] [stdout]    |
[INFO] [stdout] 40 |         fn delete(&mut self, options: &WriteOptions, key: &Slice) -> Status {
[INFO] [stdout]    |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 44 |         fn write(&mut self, options: &WriteOptions, updates: &mut WriteBatch) -> Status {
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `updates`
[INFO] [stdout]   --> src/db/db_impl.rs:44:53
[INFO] [stdout]    |
[INFO] [stdout] 44 |         fn write(&mut self, options: &WriteOptions, updates: &mut WriteBatch) -> Status {
[INFO] [stdout]    |                                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_updates`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |         fn get(&mut self, options: &ReadOptions, key: &Slice) -> Result<Slice, Status> {
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/db_impl.rs:48:50
[INFO] [stdout]    |
[INFO] [stdout] 48 |         fn get(&mut self, options: &ReadOptions, key: &Slice) -> Result<Slice, Status> {
[INFO] [stdout]    |                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:52:36
[INFO] [stdout]    |
[INFO] [stdout] 52 |         fn new_iterator(&mut self, options: &ReadOptions) -> Box<dyn crate::common::Iter> {
[INFO] [stdout]    |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `propname`
[INFO] [stdout]   --> src/db/db_impl.rs:60:36
[INFO] [stdout]    |
[INFO] [stdout] 60 |         fn get_property(&mut self, propname: &Slice) -> Option<String> {
[INFO] [stdout]    |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_propname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ranges`
[INFO] [stdout]   --> src/db/db_impl.rs:64:45
[INFO] [stdout]    |
[INFO] [stdout] 64 |         fn get_approximate_sizes(&mut self, ranges: &crate::common::Range, n: i64) -> Vec<u64> {
[INFO] [stdout]    |                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ranges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/db/db_impl.rs:64:76
[INFO] [stdout]    |
[INFO] [stdout] 64 |         fn get_approximate_sizes(&mut self, ranges: &crate::common::Range, n: i64) -> Vec<u64> {
[INFO] [stdout]    |                                                                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/db/db_impl.rs:68:37
[INFO] [stdout]    |
[INFO] [stdout] 68 |         fn compact_range(&mut self, start: &Slice, end: &Slice) {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]   --> src/db/db_impl.rs:68:52
[INFO] [stdout]    |
[INFO] [stdout] 68 |         fn compact_range(&mut self, start: &Slice, end: &Slice) {
[INFO] [stdout]    |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |         fn destory_db(options: &Options, name: &str) -> Status {
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/db/db_impl.rs:72:42
[INFO] [stdout]    |
[INFO] [stdout] 72 |         fn destory_db(options: &Options, name: &str) -> Status {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/db/db_impl.rs:76:22
[INFO] [stdout]    |
[INFO] [stdout] 76 |         fn repair_db(options: &Options, name: &str) -> Status {
[INFO] [stdout]    |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/db/db_impl.rs:76:41
[INFO] [stdout]    |
[INFO] [stdout] 76 |         fn repair_db(options: &Options, name: &str) -> Status {
[INFO] [stdout]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> src/db/db_iter.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(db: &DBImpl, iter: DBIter<'_>) -> Self {
[INFO] [stdout]    |                ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iter`
[INFO] [stdout]   --> src/db/db_iter.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(db: &DBImpl, iter: DBIter<'_>) -> Self {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/db/db_iter.rs:37:24
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn seek(&mut self, target: &crate::common::Slice) {
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/db/dump_file.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_name`
[INFO] [stdout]   --> src/db/dump_file.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/db/dump_file.rs:16:61
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |                                                             ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/db/dump_file.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         env: Box<dyn Env>,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_name`
[INFO] [stdout]   --> src/db/dump_file.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         file_name: &String,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/db/dump_file.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         dst: Box<dyn WritableFile>,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/db/dump_file.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         env: Box<dyn Env>,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_name`
[INFO] [stdout]   --> src/db/dump_file.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         file_name: &String,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/db/dump_file.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         dst: Box<dyn WritableFile>,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sequence`
[INFO] [stdout]   --> src/db/memtable.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, _sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 40 -         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout] 40 +         pub fn add(&self, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value_type`
[INFO] [stdout]   --> src/db/memtable.rs:40:42
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, _value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                          +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_VALUE_TYPE_FOR_SEEK`
[INFO] [stdout]    |
[INFO] [stdout] 40 -         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout] 40 +         pub fn add(&self, sequence: u64, db::db_format::level_db::K_VALUE_TYPE_FOR_SEEK: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/memtable.rs:40:65
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/db/memtable.rs:40:78
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/db/memtable.rs:44:27
[INFO] [stdout]    |
[INFO] [stdout] 44 |         pub fn get(&self, key: &LookupKey) -> Option<Slice> {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/db/skiplist.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let mut x = self.find_greater_or_equal(&key, &mut prev);
[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: `guard`
[INFO] [stdout]   --> src/port/mutex.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn wait(&self, guard: &mut MutexGuard<bool>) {}
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/table/block_builder.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn add(&mut self, key: &Slice, value: &Slice) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/table/block_builder.rs:31:40
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn add(&mut self, key: &Slice, value: &Slice) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/util/codec.rs:50:25
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/util/codec.rs:50:41
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stdout]    |                                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn put_varint32(dst: &mut [u8], _value: u32) {
[INFO] [stdout]    |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TEST_SEED`
[INFO] [stdout]    |
[INFO] [stdout] 50 -     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stdout] 50 +     pub fn put_varint32(dst: &mut [u8], util::hash::tests::test_hash::TEST_SEED: u32) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/util/codec.rs:54:25
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/util/codec.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stdout]    |                                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn put_varint64(dst: &mut [u8], _value: u64) {
[INFO] [stdout]    |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stdout]    |
[INFO] [stdout] 54 -     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stdout] 54 +     pub fn put_varint64(dst: &mut [u8], db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]   --> src/util/codec.rs:58:38
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn put_length_prefixed_slice(dst: &mut [u8], value: &[u8]) {
[INFO] [stdout]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/util/codec.rs:58:54
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn put_length_prefixed_slice(dst: &mut [u8], value: &[u8]) {
[INFO] [stdout]    |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/codec.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_fixed32(src: &Slice) -> u32 {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/codec.rs:66:25
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn get_varint32(src: &Slice) -> Option<u32> {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/codec.rs:70:24
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_fixed64(src: &Slice) -> Option<u64> {
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/codec.rs:74:38
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn get_length_prefixed_slice(src: &Slice) -> Option<&Slice> {
[INFO] [stdout]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]  --> src/util/crc32.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout]   |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `crc`
[INFO] [stdout]  --> src/util/crc32.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout]   |                                ^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], _crc: u32) -> u32 {
[INFO] [stdout]   |                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TEST_SEED`
[INFO] [stdout]   |
[INFO] [stdout] 3 -     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout] 3 +     pub fn Extend(data: &[u8], util::hash::tests::test_hash::TEST_SEED: u32) -> u32 {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `crc`
[INFO] [stdout]  --> src/util/crc32.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn Mask(crc: u32) -> u32 {
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn Mask(_crc: u32) -> u32 {
[INFO] [stdout]   |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `TEST_SEED`
[INFO] [stdout]   |
[INFO] [stdout] 6 -     pub fn Mask(crc: u32) -> u32 {
[INFO] [stdout] 6 +     pub fn Mask(util::hash::tests::test_hash::TEST_SEED: u32) -> u32 {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/util/env.rs:23:34
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]   --> src/util/env.rs:23:53
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/util/env.rs:23:72
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/util/env.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]   --> src/util/env.rs:27:47
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/util/env.rs:27:66
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |                                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/logging.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn comsume_deciamal_number(src: &mut Slice) -> Option<u64> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next`
[INFO] [stdout]   --> src/util/lru_cache.rs:41:28
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn set_next(&mut self, next: Option<Box<dyn Handle>>) {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_next`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev`
[INFO] [stdout]   --> src/util/lru_cache.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn set_prev(&mut self, prev: Option<Box<dyn Handle>>) {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_prev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `capacity`
[INFO] [stdout]   --> src/util/lru_cache.rs:61:16
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn new(_capacity: usize) -> Self {
[INFO] [stdout]    |                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `K_READ_BYTES_PERIOD`
[INFO] [stdout]    |
[INFO] [stdout] 61 -     pub fn new(capacity: usize) -> Self {
[INFO] [stdout] 61 +     pub fn new(db::db_format::level_db::config::K_READ_BYTES_PERIOD: usize) -> Self {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/util/lru_cache.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn insert(&mut self, key: &Slice, value: &Slice) -> Box<dyn Handle> {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/util/lru_cache.rs:67:39
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn insert(&mut self, key: &Slice, value: &Slice) -> Box<dyn Handle> {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/util/lru_cache.rs:71:26
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn lookup(&mut self, key: &Slice) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]   --> src/util/lru_cache.rs:75:27
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn release(&mut self, entry: Box<dyn Handle>) {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/util/lru_cache.rs:79:25
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn erase(&mut self, key: &Slice) {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Handle` is never used
[INFO] [stdout]   --> src/common/mod.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait Handle {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Cache` is never used
[INFO] [stdout]   --> src/common/mod.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait Cache {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FilterPolicy` is never used
[INFO] [stdout]   --> src/common/mod.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub trait FilterPolicy {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Comparator` is never used
[INFO] [stdout]   --> src/common/mod.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub trait Comparator {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Env` is never used
[INFO] [stdout]   --> src/common/mod.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub trait Env {
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SequentialFile` is never used
[INFO] [stdout]   --> src/common/mod.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub trait SequentialFile {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `WritableFile` is never used
[INFO] [stdout]   --> src/common/mod.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub trait WritableFile {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RandomAccessFile` is never used
[INFO] [stdout]   --> src/common/mod.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub trait RandomAccessFile {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Logger` is never used
[INFO] [stdout]   --> src/common/mod.rs:93:11
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub trait Logger {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileLock` is never used
[INFO] [stdout]   --> src/common/mod.rs:97:11
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub trait FileLock {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Range` is never constructed
[INFO] [stdout]    --> src/common/mod.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct Range {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Table` is never used
[INFO] [stdout]    --> src/common/mod.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub trait Table {}
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Snapshot` is never used
[INFO] [stdout]    --> src/common/mod.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Snapshot {}
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Iter` is never used
[INFO] [stdout]    --> src/common/mod.rs:110:11
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait Iter {
[INFO] [stdout]     |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DB` is never used
[INFO] [stdout]    --> src/common/mod.rs:122:11
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub trait DB {
[INFO] [stdout]     |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Status` is never used
[INFO] [stdout]  --> src/common/code.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Status {
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_ok`, `is_not_found`, `is_corruption`, `is_not_supported`, `is_invalid_argument`, and `is_io_error` are never used
[INFO] [stdout]   --> src/common/code.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Status {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 13 |     pub fn is_ok(&self) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn is_not_found(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn is_corruption(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn is_not_supported(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn is_invalid_argument(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn is_io_error(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CompressionType` is never used
[INFO] [stdout]  --> src/common/options.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum CompressionType {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Options` is never constructed
[INFO] [stdout]  --> src/common/options.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Options {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReadOptions` is never constructed
[INFO] [stdout]   --> src/common/options.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct ReadOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteOptions` is never constructed
[INFO] [stdout]   --> src/common/options.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct WriteOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteBatch` is never constructed
[INFO] [stdout]   --> src/common/options.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct WriteBatch {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteBatchIterator` is never constructed
[INFO] [stdout]   --> src/common/options.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct WriteBatchIterator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `put`, `delete`, `clear`, `approximate_size`, and `iter` are never used
[INFO] [stdout]   --> src/common/options.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl WriteBatch {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 55 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn put(&mut self, key: &Slice, value: &Slice) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn delete(&mut self, key: &Slice) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn approximate_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn iter(&self) -> WriteBatchIterator {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_with_data`, `new_with_vec`, `start_with`, `len`, and `data` are never used
[INFO] [stdout]   --> src/common/slice.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Slice {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn new_with_data(data: &[u8]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn new_with_vec(data: Vec<u8>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn start_with(&self, prefix: &Self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn data(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableCache` is never constructed
[INFO] [stdout]  --> src/common/table_cache.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TableCache {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_iter`, `get`, `evict`, and `find_table` are never used
[INFO] [stdout]   --> src/common/table_cache.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl TableCache {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn new_iter(
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn get(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn evict(&mut self, file_number: u64) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Arena` is never constructed
[INFO] [stdout]  --> src/db/arena.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub struct Arena {
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `allocate`, `memory_usage`, and `allocate_aligned` are never used
[INFO] [stdout]   --> src/db/arena.rs:9:16
[INFO] [stdout]    |
[INFO] [stdout]  8 |     impl Arena {
[INFO] [stdout]    |     ---------- associated items in this implementation
[INFO] [stdout]  9 |         pub fn new() -> Arena {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         pub fn allocate(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         pub fn memory_usage(&self) -> usize {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |         pub fn allocate_aligned(&self, bytes: usize) -> *mut u8 {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValueType` is never used
[INFO] [stdout]   --> src/db/db_format.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub enum ValueType {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_VALUE_TYPE_FOR_SEEK` is never used
[INFO] [stdout]   --> src/db/db_format.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 |     const K_VALUE_TYPE_FOR_SEEK: ValueType = ValueType::KTypeValue;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SequenceNumber` is never used
[INFO] [stdout]   --> src/db/db_format.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |     type SequenceNumber = u64;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_SEQUENCE_NUMBER` is never used
[INFO] [stdout]   --> src/db/db_format.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |     const K_MAX_SEQUENCE_NUMBER: SequenceNumber = ((0x1u64) << 56) - 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pack_sequence_and_type` is never used
[INFO] [stdout]   --> src/db/db_format.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn pack_sequence_and_type(seq: SequenceNumber, t: ValueType) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParsedInternalKey` is never constructed
[INFO] [stdout]   --> src/db/db_format.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     struct ParsedInternalKey {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `debug_string`, and `len` are never used
[INFO] [stdout]   --> src/db/db_format.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |     impl ParsedInternalKey {
[INFO] [stdout]    |     ---------------------- associated items in this implementation
[INFO] [stdout] 40 |         pub fn new(user_key: Slice, sequence: SequenceNumber, value_type: ValueType) -> Self {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |         pub fn debug_string(&self) -> String {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |         pub fn len(&self) -> usize {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aoppend_internal_key` is never used
[INFO] [stdout]   --> src/db/db_format.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn aoppend_internal_key(result: &mut String, key: &ParsedInternalKey) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_user_key` is never used
[INFO] [stdout]   --> src/db/db_format.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn extract_user_key(internal_key: &Slice) -> Slice {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InternalKeyComparator` is never constructed
[INFO] [stdout]   --> src/db/db_format.rs:81:16
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub struct InternalKeyComparator {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/db/db_format.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 85 |     impl InternalKeyComparator {
[INFO] [stdout]    |     -------------------------- associated function in this implementation
[INFO] [stdout] 86 |         pub fn new(user_comparator: Box<dyn Comparator>) -> Self {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InternalFilterPolicy` is never constructed
[INFO] [stdout]    --> src/db/db_format.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     struct InternalFilterPolicy {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InternalKey` is never constructed
[INFO] [stdout]    --> src/db/db_format.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 141 |     struct InternalKey {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `debug_string`, `decode_from`, `encode`, `user_key`, and `clear` are never used
[INFO] [stdout]    --> src/db/db_format.rs:146:16
[INFO] [stdout]     |
[INFO] [stdout] 145 |     impl InternalKey {
[INFO] [stdout]     |     ---------------- associated items in this implementation
[INFO] [stdout] 146 |         pub fn new(rep: Slice) -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |         pub fn debug_string(&self) -> String {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |         pub fn decode_from(&mut self, s: &Slice) {
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |         pub fn encode(&self) -> Slice {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |         pub fn user_key(&self) -> Slice {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |         pub fn clear(&mut self) {
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LookupKey` is never constructed
[INFO] [stdout]    --> src/db/db_format.rs:179:16
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub struct LookupKey {
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_with_key`, `memtable_key`, and `internal_key` are never used
[INFO] [stdout]    --> src/db/db_format.rs:184:16
[INFO] [stdout]     |
[INFO] [stdout] 183 |     impl LookupKey {
[INFO] [stdout]     |     -------------- associated items in this implementation
[INFO] [stdout] 184 |         pub fn new_with_key(user_key: &Slice, sequence: SequenceNumber) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |         pub fn memtable_key(&self) -> Slice {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |         pub fn internal_key(&self) -> Slice {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_NUM_LEVELS` is never used
[INFO] [stdout]   --> src/db/db_format.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |         const K_NUM_LEVELS: usize = 7;
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_L0_COMPACTION_TRIGGER` is never used
[INFO] [stdout]   --> src/db/db_format.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |         const K_L0_COMPACTION_TRIGGER: usize = 4;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_L0_SLOWDOWN_WRITES_TRIGGER` is never used
[INFO] [stdout]   --> src/db/db_format.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |         const K_L0_SLOWDOWN_WRITES_TRIGGER: usize = 8;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_L0_STOP_WRITES_TRIGGER` is never used
[INFO] [stdout]   --> src/db/db_format.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |         const K_L0_STOP_WRITES_TRIGGER: usize = 12;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_MEM_COMPACT_LEVEL` is never used
[INFO] [stdout]   --> src/db/db_format.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |         const K_MAX_MEM_COMPACT_LEVEL: usize = 2;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_READ_BYTES_PERIOD` is never used
[INFO] [stdout]   --> src/db/db_format.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |         const K_READ_BYTES_PERIOD: usize = 1048576;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ManualCompaction` is never constructed
[INFO] [stdout]  --> src/db/db_impl.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     struct ManualCompaction {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompactionStats` is never constructed
[INFO] [stdout]   --> src/db/db_impl.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     struct CompactionStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DBImpl` is never constructed
[INFO] [stdout]   --> src/db/db_impl.rs:21:16
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub struct DBImpl {
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/db/db_iter.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Direction {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DBIter` is never constructed
[INFO] [stdout]   --> src/db/db_iter.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct DBIter<'a> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/db/db_iter.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl DBIter<'_> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 22 |     pub fn new(db: &DBImpl, iter: DBIter<'_>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `guess_type` is never used
[INFO] [stdout]  --> src/db/dump_file.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn guess_type(file_name: &String) -> Option<FileType> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_log_file` is never used
[INFO] [stdout]   --> src/db/dump_file.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_table_file` is never used
[INFO] [stdout]   --> src/db/dump_file.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn dump_table_file(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_descriptor_file` is never used
[INFO] [stdout]   --> src/db/dump_file.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn dump_descriptor_file(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_file` is never used
[INFO] [stdout]   --> src/db/dump_file.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn dump_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FileType` is never used
[INFO] [stdout]  --> src/db/filename.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub enum FileType {
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_filename` is never used
[INFO] [stdout]   --> src/db/filename.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn parse_filename(filename: &String) -> Option<(u64, FileType)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn make_file_name(dbname: &String, number: u64, suffix: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn log_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn table_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ssttable_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn ssttable_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `descriptor_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn descriptor_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `current_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn current_file_name(dbname: &String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lock_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn lock_file_name(dbname: &String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `info_log_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn info_log_file_name(dbname: &String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_file_name` is never used
[INFO] [stdout]   --> src/db/filename.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn temp_file_name(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `info_log_filename` is never used
[INFO] [stdout]   --> src/db/filename.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn info_log_filename(dbname: &String, number: u64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `old_info_log_filename` is never used
[INFO] [stdout]   --> src/db/filename.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn old_info_log_filename(dbname: &String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_current_file` is never used
[INFO] [stdout]   --> src/db/filename.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn set_current_file(env: Box<dyn Env>, dbname: &String, number: u64) -> Status {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyComparator` is never constructed
[INFO] [stdout]  --> src/db/memtable.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     struct KeyComparator<'a> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/db/memtable.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     impl<'a> KeyComparator<'a> {
[INFO] [stdout]    |     -------------------------- associated function in this implementation
[INFO] [stdout] 12 |         pub fn new(comparator: &'a InternalKeyComparator) -> KeyComparator<'a> {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemTable` is never constructed
[INFO] [stdout]   --> src/db/memtable.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub struct MemTable<'a> {
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `ref_memtable`, `unref_memtable`, `add`, and `get` are never used
[INFO] [stdout]   --> src/db/memtable.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 25 |     impl<'a> MemTable<'a> {
[INFO] [stdout]    |     --------------------- associated items in this implementation
[INFO] [stdout] 26 |         pub fn new(comparator: &'a InternalKeyComparator) -> MemTable<'a> {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |         pub fn ref_memtable(&self) -> &MemTable {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |         pub fn unref_memtable(&self) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |         pub fn get(&self, key: &LookupKey) -> Option<Slice> {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/db/skiplist.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Node<K> {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/db/skiplist.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<K> Node<K> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 12 |     fn new(key: K, height: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkipList` is never constructed
[INFO] [stdout]   --> src/db/skiplist.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct SkipList<K: Default, C> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `MAX_HEIGHT`, `new`, `random_height`, `insert`, `contains`, and `find_greater_or_equal` are never used
[INFO] [stdout]   --> src/db/skiplist.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | / impl<K: Default, C> SkipList<K, C>
[INFO] [stdout] 27 | | where
[INFO] [stdout] 28 | |     K: Ord + Clone,
[INFO] [stdout] 29 | |     C: Fn(&K, &K) -> std::cmp::Ordering,
[INFO] [stdout]    | |________________________________________- associated items in this implementation
[INFO] [stdout] 30 |   {
[INFO] [stdout] 31 |       const MAX_HEIGHT: usize = 12;
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout] 32 |
[INFO] [stdout] 33 |       fn new(compare: C) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |       fn random_height() -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |       fn insert(&mut self, key: K) {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |       fn contains(&self, key: &K) -> bool {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |       fn find_greater_or_equal(
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MutexGuard` is never constructed
[INFO] [stdout]  --> src/port/mutex.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct MutexGuard<'a, T> {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/port/mutex.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl<'a, T> MutexGuard<'a, T> {
[INFO] [stdout]   | ----------------------------- associated function in this implementation
[INFO] [stdout] 6 |     pub fn new(guard: std::sync::MutexGuard<'a, T>) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mutex` is never constructed
[INFO] [stdout]   --> src/port/mutex.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Mutex<T> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `lock` are never used
[INFO] [stdout]   --> src/port/mutex.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<T> Mutex<T> {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(t: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn lock(&self) -> MutexGuard<T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CondVar` is never constructed
[INFO] [stdout]   --> src/port/mutex.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct CondVar {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `wait`, and `notify_one` are never used
[INFO] [stdout]   --> src/port/mutex.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl CondVar {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 33 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn wait(&self, guard: &mut MutexGuard<bool>) {}
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 40 |
[INFO] [stdout] 41 |     pub fn notify_one(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Table` is never constructed
[INFO] [stdout]  --> src/table/table.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Table {}
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `open` is never used
[INFO] [stdout]  --> src/table/table.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Table {
[INFO] [stdout]   | ---------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn open() -> Self {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockBuilder` is never constructed
[INFO] [stdout]  --> src/table/block_builder.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct BlockBuilder {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `reset`, `add`, `finish`, `empty`, and `current_size_estimate` are never used
[INFO] [stdout]   --> src/table/block_builder.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl BlockBuilder {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(options: Options) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn add(&mut self, key: &Slice, value: &Slice) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn finish(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn current_size_estimate(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BloomFilterPolicy` is never constructed
[INFO] [stdout]  --> src/util/bloom_filter.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub struct BloomFilterPolicy {
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/bloom_filter.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     impl BloomFilterPolicy {
[INFO] [stdout]    |     ---------------------- associated function in this implementation
[INFO] [stdout] 12 |         pub fn new(bits_per_key: usize) -> Self {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOOM_HASH_SEED` is never used
[INFO] [stdout]   --> src/util/bloom_filter.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 |     const BLOOM_HASH_SEED: u32 = 0xbc9f1d34;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bloom_hash` is never used
[INFO] [stdout]   --> src/util/bloom_filter.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn bloom_hash(key: &Slice) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_fixed32` is never used
[INFO] [stdout]  --> src/util/codec.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub fn encode_fixed32(dst: &mut [u8], value: u32) {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_fixed64` is never used
[INFO] [stdout]   --> src/util/codec.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn encode_fixed64(dst: &mut [u8], value: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_fixed32` is never used
[INFO] [stdout]   --> src/util/codec.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn put_fixed32(dst: &mut String, value: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_fixed64` is never used
[INFO] [stdout]   --> src/util/codec.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn put_fixed64(dst: &mut String, value: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_fixed64` is never used
[INFO] [stdout]   --> src/util/codec.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn decode_fixed64(src: &Slice) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_varint32` is never used
[INFO] [stdout]   --> src/util/codec.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_varint64` is never used
[INFO] [stdout]   --> src/util/codec.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `put_length_prefixed_slice` is never used
[INFO] [stdout]   --> src/util/codec.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn put_length_prefixed_slice(dst: &mut [u8], value: &[u8]) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_fixed32` is never used
[INFO] [stdout]   --> src/util/codec.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_fixed32(src: &Slice) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_varint32` is never used
[INFO] [stdout]   --> src/util/codec.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn get_varint32(src: &Slice) -> Option<u32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_fixed64` is never used
[INFO] [stdout]   --> src/util/codec.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_fixed64(src: &Slice) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_length_prefixed_slice` is never used
[INFO] [stdout]   --> src/util/codec.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn get_length_prefixed_slice(src: &Slice) -> Option<&Slice> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MASK_DELTA` is never used
[INFO] [stdout]  --> src/util/crc32.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     const K_MASK_DELTA: u32 = 0xa282ead8;
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Extend` is never used
[INFO] [stdout]  --> src/util/crc32.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Mask` is never used
[INFO] [stdout]  --> src/util/crc32.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn Mask(crc: u32) -> u32 {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnvPosix` is never constructed
[INFO] [stdout]   --> src/util/env.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct EnvPosix {}
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/env.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl EnvPosix {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 18 |     fn new() -> EnvPosix {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_string_to_file_sync` is never used
[INFO] [stdout]   --> src/util/env.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_write_string_to_file` is never used
[INFO] [stdout]   --> src/util/env.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_number_to` is never used
[INFO] [stdout]  --> src/util/logging.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn append_number_to(dest: &mut String, num: u64) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_escaped_string_to` is never used
[INFO] [stdout]  --> src/util/logging.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn append_escaped_string_to(dest: &mut String, src: &Slice) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `escape_string` is never used
[INFO] [stdout]   --> src/util/logging.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn escape_string(src: &Slice) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `comsume_deciamal_number` is never used
[INFO] [stdout]   --> src/util/logging.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn comsume_deciamal_number(src: &mut Slice) -> Option<u64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Random` is never constructed
[INFO] [stdout]  --> src/util/random.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Random {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, `uniform`, `one_in`, and `skew` are never used
[INFO] [stdout]   --> src/util/random.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Random {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  6 |     pub fn new(seed: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn next(&mut self) -> u32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn uniform(&mut self, n: u32) -> u32 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn one_in(&mut self, n: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn skew(&mut self) -> u32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LRUHandle` is never constructed
[INFO] [stdout]  --> src/util/lru_cache.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct LRUHandle {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LRUCache` is never constructed
[INFO] [stdout]   --> src/util/lru_cache.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct LRUCache {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/lru_cache.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl LRUCache {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 61 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/db/memtable.rs:32:29
[INFO] [stdout]    |
[INFO] [stdout] 32 |         pub fn ref_memtable(&self) -> &MemTable {
[INFO] [stdout]    |                             ^^^^^     ^^^^^^^^^
[INFO] [stdout]    |                             |         ||
[INFO] [stdout]    |                             |         |the same lifetime is hidden here
[INFO] [stdout]    |                             |         the same lifetime is elided here
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |         pub fn ref_memtable(&self) -> &MemTable<'_> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/port/mutex.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn lock(&self) -> MutexGuard<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Crc32C` should have a snake case name
[INFO] [stdout]  --> src/util/crc32.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod Crc32C {
[INFO] [stdout]   |         ^^^^^^ help: convert the identifier to snake case: `crc32_c`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Extend` should have a snake case name
[INFO] [stdout]  --> src/util/crc32.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stdout]   |            ^^^^^^ help: convert the identifier to snake case: `extend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Mask` should have a snake case name
[INFO] [stdout]  --> src/util/crc32.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn Mask(crc: u32) -> u32 {
[INFO] [stdout]   |            ^^^^ help: convert the identifier to snake case: `mask`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.59s
[INFO] running `Command { std: "docker" "inspect" "6245a87b886417a95ebfa61970cb18025e3eec2f87aba25f05815895cb99ab2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6245a87b886417a95ebfa61970cb18025e3eec2f87aba25f05815895cb99ab2d", kill_on_drop: false }`
[INFO] [stdout] 6245a87b886417a95ebfa61970cb18025e3eec2f87aba25f05815895cb99ab2d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3476bcc5c7094f32d631906b0abe2c0621961a82130d4e17b61ca9b6ffcc7858
[INFO] running `Command { std: "docker" "start" "-a" "3476bcc5c7094f32d631906b0abe2c0621961a82130d4e17b61ca9b6ffcc7858", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]   --> src/common/slice.rs:72:9
[INFO] [stderr]    |
[INFO] [stderr] 72 |     use super::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Status`
[INFO] [stderr]  --> src/db/db_iter.rs:3:27
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::common::{Iter, Status};
[INFO] [stderr]   |                           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `kLogFile` should have an upper camel case name
[INFO] [stderr]  --> src/db/filename.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 6 |         kLogFile,
[INFO] [stderr]   |         ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KLogFile`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `kDBLockFile` should have an upper camel case name
[INFO] [stderr]  --> src/db/filename.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 7 |         kDBLockFile,
[INFO] [stderr]   |         ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KDblockFile`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `kTableFile` should have an upper camel case name
[INFO] [stderr]  --> src/db/filename.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 8 |         kTableFile,
[INFO] [stderr]   |         ^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KTableFile`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `kDescriptorFile` should have an upper camel case name
[INFO] [stderr]  --> src/db/filename.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 |         kDescriptorFile,
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KDescriptorFile`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `kCurrentFile` should have an upper camel case name
[INFO] [stderr]   --> src/db/filename.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 |         kCurrentFile,
[INFO] [stderr]    |         ^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KCurrentFile`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `kTempFile` should have an upper camel case name
[INFO] [stderr]   --> src/db/filename.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 |         kTempFile,
[INFO] [stderr]    |         ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KTempFile`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `kInfoLogFile` should have an upper camel case name
[INFO] [stderr]   --> src/db/filename.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 |         kInfoLogFile,
[INFO] [stderr]    |         ^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `KInfoLogFile`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]   --> src/util/random.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 |     use super::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `logging::*`
[INFO] [stderr]   --> src/util/mod.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub use logging::*;
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `random::*`
[INFO] [stderr]   --> src/util/mod.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub use random::*;
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stderr]   --> src/db/skiplist.rs:43:29
[INFO] [stderr]    |
[INFO] [stderr] 43 |         let mut rng = rand::thread_rng();
[INFO] [stderr]    |                             ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]   --> src/db/skiplist.rs:45:48
[INFO] [stderr]    |
[INFO] [stderr] 45 |         while height < Self::MAX_HEIGHT && rng.gen_range(0..4) == 0 {
[INFO] [stderr]    |                                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/common/options.rs:59:27
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub fn put(&mut self, key: &Slice, value: &Slice) {
[INFO] [stderr]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/common/options.rs:59:40
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub fn put(&mut self, key: &Slice, value: &Slice) {
[INFO] [stderr]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/common/options.rs:63:30
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn delete(&mut self, key: &Slice) {
[INFO] [stderr]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dbname`
[INFO] [stderr]   --> src/common/table_cache.rs:11:16
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stderr]    |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_dbname`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]   --> src/common/table_cache.rs:11:32
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stderr]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `entries`
[INFO] [stderr]   --> src/common/table_cache.rs:11:50
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stderr]    |                                                  ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub fn new(dbname: String, options: Options, _entries: u64) -> Self {
[INFO] [stderr]    |                                                  +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stderr]    |
[INFO] [stderr] 11 -     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stderr] 11 +     pub fn new(dbname: String, options: Options, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) -> Self {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]   --> src/common/table_cache.rs:17:9
[INFO] [stderr]    |
[INFO] [stderr] 17 |         options: &ReadOptions,
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_number`
[INFO] [stderr]   --> src/common/table_cache.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 18 |         file_number: u64,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 18 |         _file_number: u64,
[INFO] [stderr]    |         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stderr]    |
[INFO] [stderr] 18 -         file_number: u64,
[INFO] [stderr] 18 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_size`
[INFO] [stderr]   --> src/common/table_cache.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |         file_size: u64,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 19 |         _file_size: u64,
[INFO] [stderr]    |         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stderr]    |
[INFO] [stderr] 19 -         file_size: u64,
[INFO] [stderr] 19 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]   --> src/common/table_cache.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 |         options: &ReadOptions,
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_number`
[INFO] [stderr]   --> src/common/table_cache.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 |         file_number: u64,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 27 |         _file_number: u64,
[INFO] [stderr]    |         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stderr]    |
[INFO] [stderr] 27 -         file_number: u64,
[INFO] [stderr] 27 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_size`
[INFO] [stderr]   --> src/common/table_cache.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 28 |         file_size: u64,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 28 |         _file_size: u64,
[INFO] [stderr]    |         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stderr]    |
[INFO] [stderr] 28 -         file_size: u64,
[INFO] [stderr] 28 +         db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/common/table_cache.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |         key: &Slice,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `handle_value`
[INFO] [stderr]   --> src/common/table_cache.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |         handle_value: &mut Box<dyn Handle>,
[INFO] [stderr]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_number`
[INFO] [stderr]   --> src/common/table_cache.rs:35:29
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn evict(&mut self, file_number: u64) {
[INFO] [stderr]    |                             ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn evict(&mut self, _file_number: u64) {
[INFO] [stderr]    |                             +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stderr]    |
[INFO] [stderr] 35 -     pub fn evict(&mut self, file_number: u64) {
[INFO] [stderr] 35 +     pub fn evict(&mut self, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_number`
[INFO] [stderr]   --> src/common/table_cache.rs:39:30
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stderr]    |                              ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn find_table(&mut self, _file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stderr]    |                              +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stderr]    |
[INFO] [stderr] 39 -     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stderr] 39 +     fn find_table(&mut self, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_size`
[INFO] [stderr]   --> src/common/table_cache.rs:39:48
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stderr]    |                                                ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn find_table(&mut self, file_number: u64, _file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stderr]    |                                                +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stderr]    |
[INFO] [stderr] 39 -     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stderr] 39 +     fn find_table(&mut self, file_number: u64, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) -> Option<Box<dyn Handle>> {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bytes`
[INFO] [stderr]   --> src/db/arena.rs:13:32
[INFO] [stderr]    |
[INFO] [stderr] 13 |         pub fn allocate(&self, bytes: usize) -> *mut u8 {
[INFO] [stderr]    |                                ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 13 |         pub fn allocate(&self, _bytes: usize) -> *mut u8 {
[INFO] [stderr]    |                                +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `K_READ_BYTES_PERIOD`
[INFO] [stderr]    |
[INFO] [stderr] 13 -         pub fn allocate(&self, bytes: usize) -> *mut u8 {
[INFO] [stderr] 13 +         pub fn allocate(&self, db::db_format::level_db::config::K_READ_BYTES_PERIOD: usize) -> *mut u8 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bytes`
[INFO] [stderr]   --> src/db/arena.rs:21:40
[INFO] [stderr]    |
[INFO] [stderr] 21 |         pub fn allocate_aligned(&self, bytes: usize) -> *mut u8 {
[INFO] [stderr]    |                                        ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 21 |         pub fn allocate_aligned(&self, _bytes: usize) -> *mut u8 {
[INFO] [stderr]    |                                        +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `K_READ_BYTES_PERIOD`
[INFO] [stderr]    |
[INFO] [stderr] 21 -         pub fn allocate_aligned(&self, bytes: usize) -> *mut u8 {
[INFO] [stderr] 21 +         pub fn allocate_aligned(&self, db::db_format::level_db::config::K_READ_BYTES_PERIOD: usize) -> *mut u8 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start`
[INFO] [stderr]    --> src/db/db_format.rs:112:43
[INFO] [stderr]     |
[INFO] [stderr] 112 |         fn find_shortest_separator(&self, start: &mut Slice, limit: &Slice) {
[INFO] [stderr]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `limit`
[INFO] [stderr]    --> src/db/db_format.rs:112:62
[INFO] [stderr]     |
[INFO] [stderr] 112 |         fn find_shortest_separator(&self, start: &mut Slice, limit: &Slice) {
[INFO] [stderr]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/db/db_format.rs:116:40
[INFO] [stderr]     |
[INFO] [stderr] 116 |         fn find_short_successor(&self, key: &mut Slice) {
[INFO] [stderr]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `keys`
[INFO] [stderr]    --> src/db/db_format.rs:128:33
[INFO] [stderr]     |
[INFO] [stderr] 128 |         fn create_filter(&self, keys: &[Slice]) -> Slice {
[INFO] [stderr]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_keys`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/db/db_format.rs:132:33
[INFO] [stderr]     |
[INFO] [stderr] 132 |         fn key_may_match(&self, key: &Slice, filter: &Slice) -> bool {
[INFO] [stderr]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `filter`
[INFO] [stderr]    --> src/db/db_format.rs:132:46
[INFO] [stderr]     |
[INFO] [stderr] 132 |         fn key_may_match(&self, key: &Slice, filter: &Slice) -> bool {
[INFO] [stderr]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]   --> src/db/db_impl.rs:32:17
[INFO] [stderr]    |
[INFO] [stderr] 32 |         fn open(options: &Options, name: &str, db: &mut Self) -> Status {
[INFO] [stderr]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> src/db/db_impl.rs:32:36
[INFO] [stderr]    |
[INFO] [stderr] 32 |         fn open(options: &Options, name: &str, db: &mut Self) -> Status {
[INFO] [stderr]    |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `db`
[INFO] [stderr]   --> src/db/db_impl.rs:32:48
[INFO] [stderr]    |
[INFO] [stderr] 32 |         fn open(options: &Options, name: &str, db: &mut Self) -> Status {
[INFO] [stderr]    |                                                ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]   --> src/db/db_impl.rs:36:27
[INFO] [stderr]    |
[INFO] [stderr] 36 |         fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status {
[INFO] [stderr]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/db/db_impl.rs:36:51
[INFO] [stderr]    |
[INFO] [stderr] 36 |         fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status {
[INFO] [stderr]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/db/db_impl.rs:36:64
[INFO] [stderr]    |
[INFO] [stderr] 36 |         fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status {
[INFO] [stderr]    |                                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]   --> src/db/db_impl.rs:40:30
[INFO] [stderr]    |
[INFO] [stderr] 40 |         fn delete(&mut self, options: &WriteOptions, key: &Slice) -> Status {
[INFO] [stderr]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/db/db_impl.rs:40:54
[INFO] [stderr]    |
[INFO] [stderr] 40 |         fn delete(&mut self, options: &WriteOptions, key: &Slice) -> Status {
[INFO] [stderr]    |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]   --> src/db/db_impl.rs:44:29
[INFO] [stderr]    |
[INFO] [stderr] 44 |         fn write(&mut self, options: &WriteOptions, updates: &mut WriteBatch) -> Status {
[INFO] [stderr]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `updates`
[INFO] [stderr]   --> src/db/db_impl.rs:44:53
[INFO] [stderr]    |
[INFO] [stderr] 44 |         fn write(&mut self, options: &WriteOptions, updates: &mut WriteBatch) -> Status {
[INFO] [stderr]    |                                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_updates`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]   --> src/db/db_impl.rs:48:27
[INFO] [stderr]    |
[INFO] [stderr] 48 |         fn get(&mut self, options: &ReadOptions, key: &Slice) -> Result<Slice, Status> {
[INFO] [stderr]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/db/db_impl.rs:48:50
[INFO] [stderr]    |
[INFO] [stderr] 48 |         fn get(&mut self, options: &ReadOptions, key: &Slice) -> Result<Slice, Status> {
[INFO] [stderr]    |                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]   --> src/db/db_impl.rs:52:36
[INFO] [stderr]    |
[INFO] [stderr] 52 |         fn new_iterator(&mut self, options: &ReadOptions) -> Box<dyn crate::common::Iter> {
[INFO] [stderr]    |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `propname`
[INFO] [stderr]   --> src/db/db_impl.rs:60:36
[INFO] [stderr]    |
[INFO] [stderr] 60 |         fn get_property(&mut self, propname: &Slice) -> Option<String> {
[INFO] [stderr]    |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_propname`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ranges`
[INFO] [stderr]   --> src/db/db_impl.rs:64:45
[INFO] [stderr]    |
[INFO] [stderr] 64 |         fn get_approximate_sizes(&mut self, ranges: &crate::common::Range, n: i64) -> Vec<u64> {
[INFO] [stderr]    |                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ranges`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> src/db/db_impl.rs:64:76
[INFO] [stderr]    |
[INFO] [stderr] 64 |         fn get_approximate_sizes(&mut self, ranges: &crate::common::Range, n: i64) -> Vec<u64> {
[INFO] [stderr]    |                                                                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start`
[INFO] [stderr]   --> src/db/db_impl.rs:68:37
[INFO] [stderr]    |
[INFO] [stderr] 68 |         fn compact_range(&mut self, start: &Slice, end: &Slice) {
[INFO] [stderr]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `end`
[INFO] [stderr]   --> src/db/db_impl.rs:68:52
[INFO] [stderr]    |
[INFO] [stderr] 68 |         fn compact_range(&mut self, start: &Slice, end: &Slice) {
[INFO] [stderr]    |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]   --> src/db/db_impl.rs:72:23
[INFO] [stderr]    |
[INFO] [stderr] 72 |         fn destory_db(options: &Options, name: &str) -> Status {
[INFO] [stderr]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> src/db/db_impl.rs:72:42
[INFO] [stderr]    |
[INFO] [stderr] 72 |         fn destory_db(options: &Options, name: &str) -> Status {
[INFO] [stderr]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]   --> src/db/db_impl.rs:76:22
[INFO] [stderr]    |
[INFO] [stderr] 76 |         fn repair_db(options: &Options, name: &str) -> Status {
[INFO] [stderr]    |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> src/db/db_impl.rs:76:41
[INFO] [stderr]    |
[INFO] [stderr] 76 |         fn repair_db(options: &Options, name: &str) -> Status {
[INFO] [stderr]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `db`
[INFO] [stderr]   --> src/db/db_iter.rs:22:16
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn new(db: &DBImpl, iter: DBIter<'_>) -> Self {
[INFO] [stderr]    |                ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `iter`
[INFO] [stderr]   --> src/db/db_iter.rs:22:29
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn new(db: &DBImpl, iter: DBIter<'_>) -> Self {
[INFO] [stderr]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_iter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `target`
[INFO] [stderr]   --> src/db/db_iter.rs:37:24
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn seek(&mut self, target: &crate::common::Slice) {
[INFO] [stderr]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `env`
[INFO] [stderr]   --> src/db/dump_file.rs:16:22
[INFO] [stderr]    |
[INFO] [stderr] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stderr]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_name`
[INFO] [stderr]   --> src/db/dump_file.rs:16:41
[INFO] [stderr]    |
[INFO] [stderr] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stderr]    |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]   --> src/db/dump_file.rs:16:61
[INFO] [stderr]    |
[INFO] [stderr] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stderr]    |                                                             ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `env`
[INFO] [stderr]   --> src/db/dump_file.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |         env: Box<dyn Env>,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_name`
[INFO] [stderr]   --> src/db/dump_file.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 22 |         file_name: &String,
[INFO] [stderr]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]   --> src/db/dump_file.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 23 |         dst: Box<dyn WritableFile>,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `env`
[INFO] [stderr]   --> src/db/dump_file.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |         env: Box<dyn Env>,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_name`
[INFO] [stderr]   --> src/db/dump_file.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |         file_name: &String,
[INFO] [stderr]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]   --> src/db/dump_file.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 |         dst: Box<dyn WritableFile>,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sequence`
[INFO] [stderr]   --> src/db/memtable.rs:40:27
[INFO] [stderr]    |
[INFO] [stderr] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stderr]    |                           ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 40 |         pub fn add(&self, _sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stderr]    |                           +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stderr]    |
[INFO] [stderr] 40 -         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stderr] 40 +         pub fn add(&self, db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value_type`
[INFO] [stderr]   --> src/db/memtable.rs:40:42
[INFO] [stderr]    |
[INFO] [stderr] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stderr]    |                                          ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 40 |         pub fn add(&self, sequence: u64, _value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stderr]    |                                          +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `K_VALUE_TYPE_FOR_SEEK`
[INFO] [stderr]    |
[INFO] [stderr] 40 -         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stderr] 40 +         pub fn add(&self, sequence: u64, db::db_format::level_db::K_VALUE_TYPE_FOR_SEEK: ValueType, key: &Slice, value: &Slice) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/db/memtable.rs:40:65
[INFO] [stderr]    |
[INFO] [stderr] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stderr]    |                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/db/memtable.rs:40:78
[INFO] [stderr]    |
[INFO] [stderr] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stderr]    |                                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/db/memtable.rs:44:27
[INFO] [stderr]    |
[INFO] [stderr] 44 |         pub fn get(&self, key: &LookupKey) -> Option<Slice> {
[INFO] [stderr]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/db/skiplist.rs:53:13
[INFO] [stderr]    |
[INFO] [stderr] 53 |         let mut x = self.find_greater_or_equal(&key, &mut prev);
[INFO] [stderr]    |             ----^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `guard`
[INFO] [stderr]   --> src/port/mutex.rs:39:24
[INFO] [stderr]    |
[INFO] [stderr] 39 |     pub fn wait(&self, guard: &mut MutexGuard<bool>) {}
[INFO] [stderr]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_guard`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/table/block_builder.rs:31:27
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub fn add(&mut self, key: &Slice, value: &Slice) -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/table/block_builder.rs:31:40
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub fn add(&mut self, key: &Slice, value: &Slice) -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]   --> src/util/codec.rs:50:25
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stderr]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/util/codec.rs:50:41
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stderr]    |                                         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub fn put_varint32(dst: &mut [u8], _value: u32) {
[INFO] [stderr]    |                                         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `R`
[INFO] [stderr]    |
[INFO] [stderr] 50 -     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stderr] 50 +     pub fn put_varint32(dst: &mut [u8], util::hash::leveldb::R: u32) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]   --> src/util/codec.rs:54:25
[INFO] [stderr]    |
[INFO] [stderr] 54 |     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stderr]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/util/codec.rs:54:41
[INFO] [stderr]    |
[INFO] [stderr] 54 |     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stderr]    |                                         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 54 |     pub fn put_varint64(dst: &mut [u8], _value: u64) {
[INFO] [stderr]    |                                         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `K_MAX_SEQUENCE_NUMBER`
[INFO] [stderr]    |
[INFO] [stderr] 54 -     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stderr] 54 +     pub fn put_varint64(dst: &mut [u8], db::db_format::level_db::K_MAX_SEQUENCE_NUMBER: u64) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]   --> src/util/codec.rs:58:38
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn put_length_prefixed_slice(dst: &mut [u8], value: &[u8]) {
[INFO] [stderr]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/util/codec.rs:58:54
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn put_length_prefixed_slice(dst: &mut [u8], value: &[u8]) {
[INFO] [stderr]    |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]   --> src/util/codec.rs:62:24
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn get_fixed32(src: &Slice) -> u32 {
[INFO] [stderr]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]   --> src/util/codec.rs:66:25
[INFO] [stderr]    |
[INFO] [stderr] 66 |     pub fn get_varint32(src: &Slice) -> Option<u32> {
[INFO] [stderr]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]   --> src/util/codec.rs:70:24
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub fn get_fixed64(src: &Slice) -> Option<u64> {
[INFO] [stderr]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]   --> src/util/codec.rs:74:38
[INFO] [stderr]    |
[INFO] [stderr] 74 |     pub fn get_length_prefixed_slice(src: &Slice) -> Option<&Slice> {
[INFO] [stderr]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]  --> src/util/crc32.rs:3:19
[INFO] [stderr]   |
[INFO] [stderr] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stderr]   |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `crc`
[INFO] [stderr]  --> src/util/crc32.rs:3:32
[INFO] [stderr]   |
[INFO] [stderr] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stderr]   |                                ^^^
[INFO] [stderr]   |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]   |
[INFO] [stderr] 3 |     pub fn Extend(data: &[u8], _crc: u32) -> u32 {
[INFO] [stderr]   |                                +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `R`
[INFO] [stderr]   |
[INFO] [stderr] 3 -     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stderr] 3 +     pub fn Extend(data: &[u8], util::hash::leveldb::R: u32) -> u32 {
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `crc`
[INFO] [stderr]  --> src/util/crc32.rs:6:17
[INFO] [stderr]   |
[INFO] [stderr] 6 |     pub fn Mask(crc: u32) -> u32 {
[INFO] [stderr]   |                 ^^^
[INFO] [stderr]   |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]   |
[INFO] [stderr] 6 |     pub fn Mask(_crc: u32) -> u32 {
[INFO] [stderr]   |                 +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `R`
[INFO] [stderr]   |
[INFO] [stderr] 6 -     pub fn Mask(crc: u32) -> u32 {
[INFO] [stderr] 6 +     pub fn Mask(util::hash::leveldb::R: u32) -> u32 {
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `env`
[INFO] [stderr]   --> src/util/env.rs:23:34
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stderr]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `filename`
[INFO] [stderr]   --> src/util/env.rs:23:53
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stderr]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/util/env.rs:23:72
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stderr]    |                                                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `env`
[INFO] [stderr]   --> src/util/env.rs:27:28
[INFO] [stderr]    |
[INFO] [stderr] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stderr]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `filename`
[INFO] [stderr]   --> src/util/env.rs:27:47
[INFO] [stderr]    |
[INFO] [stderr] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stderr]    |                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/util/env.rs:27:66
[INFO] [stderr]    |
[INFO] [stderr] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stderr]    |                                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]   --> src/util/logging.rs:23:32
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn comsume_deciamal_number(src: &mut Slice) -> Option<u64> {
[INFO] [stderr]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `next`
[INFO] [stderr]   --> src/util/lru_cache.rs:41:28
[INFO] [stderr]    |
[INFO] [stderr] 41 |     fn set_next(&mut self, next: Option<Box<dyn Handle>>) {
[INFO] [stderr]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_next`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prev`
[INFO] [stderr]   --> src/util/lru_cache.rs:45:28
[INFO] [stderr]    |
[INFO] [stderr] 45 |     fn set_prev(&mut self, prev: Option<Box<dyn Handle>>) {
[INFO] [stderr]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_prev`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `capacity`
[INFO] [stderr]   --> src/util/lru_cache.rs:61:16
[INFO] [stderr]    |
[INFO] [stderr] 61 |     pub fn new(capacity: usize) -> Self {
[INFO] [stderr]    |                ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 61 |     pub fn new(_capacity: usize) -> Self {
[INFO] [stderr]    |                +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `K_READ_BYTES_PERIOD`
[INFO] [stderr]    |
[INFO] [stderr] 61 -     pub fn new(capacity: usize) -> Self {
[INFO] [stderr] 61 +     pub fn new(db::db_format::level_db::config::K_READ_BYTES_PERIOD: usize) -> Self {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/util/lru_cache.rs:67:26
[INFO] [stderr]    |
[INFO] [stderr] 67 |     fn insert(&mut self, key: &Slice, value: &Slice) -> Box<dyn Handle> {
[INFO] [stderr]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/util/lru_cache.rs:67:39
[INFO] [stderr]    |
[INFO] [stderr] 67 |     fn insert(&mut self, key: &Slice, value: &Slice) -> Box<dyn Handle> {
[INFO] [stderr]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/util/lru_cache.rs:71:26
[INFO] [stderr]    |
[INFO] [stderr] 71 |     fn lookup(&mut self, key: &Slice) -> Option<Box<dyn Handle>> {
[INFO] [stderr]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `entry`
[INFO] [stderr]   --> src/util/lru_cache.rs:75:27
[INFO] [stderr]    |
[INFO] [stderr] 75 |     fn release(&mut self, entry: Box<dyn Handle>) {
[INFO] [stderr]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/util/lru_cache.rs:79:25
[INFO] [stderr]    |
[INFO] [stderr] 79 |     fn erase(&mut self, key: &Slice) {
[INFO] [stderr]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Handle` is never used
[INFO] [stderr]   --> src/common/mod.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub trait Handle {
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Cache` is never used
[INFO] [stderr]   --> src/common/mod.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub trait Cache {
[INFO] [stderr]    |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FilterPolicy` is never used
[INFO] [stderr]   --> src/common/mod.rs:29:11
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub trait FilterPolicy {
[INFO] [stderr]    |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Comparator` is never used
[INFO] [stderr]   --> src/common/mod.rs:35:11
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub trait Comparator {
[INFO] [stderr]    |           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Env` is never used
[INFO] [stderr]   --> src/common/mod.rs:42:11
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub trait Env {
[INFO] [stderr]    |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `SequentialFile` is never used
[INFO] [stderr]   --> src/common/mod.rs:77:11
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub trait SequentialFile {
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `WritableFile` is never used
[INFO] [stderr]   --> src/common/mod.rs:82:11
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub trait WritableFile {
[INFO] [stderr]    |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `RandomAccessFile` is never used
[INFO] [stderr]   --> src/common/mod.rs:89:11
[INFO] [stderr]    |
[INFO] [stderr] 89 | pub trait RandomAccessFile {
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Logger` is never used
[INFO] [stderr]   --> src/common/mod.rs:93:11
[INFO] [stderr]    |
[INFO] [stderr] 93 | pub trait Logger {
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FileLock` is never used
[INFO] [stderr]   --> src/common/mod.rs:97:11
[INFO] [stderr]    |
[INFO] [stderr] 97 | pub trait FileLock {
[INFO] [stderr]    |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Range` is never constructed
[INFO] [stderr]    --> src/common/mod.rs:101:12
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub struct Range {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Table` is never used
[INFO] [stderr]    --> src/common/mod.rs:106:11
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub trait Table {}
[INFO] [stderr]     |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Snapshot` is never used
[INFO] [stderr]    --> src/common/mod.rs:108:11
[INFO] [stderr]     |
[INFO] [stderr] 108 | pub trait Snapshot {}
[INFO] [stderr]     |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Iter` is never used
[INFO] [stderr]    --> src/common/mod.rs:110:11
[INFO] [stderr]     |
[INFO] [stderr] 110 | pub trait Iter {
[INFO] [stderr]     |           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `DB` is never used
[INFO] [stderr]    --> src/common/mod.rs:122:11
[INFO] [stderr]     |
[INFO] [stderr] 122 | pub trait DB {
[INFO] [stderr]     |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Status` is never used
[INFO] [stderr]  --> src/common/code.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub enum Status {
[INFO] [stderr]   |          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_ok`, `is_not_found`, `is_corruption`, `is_not_supported`, `is_invalid_argument`, and `is_io_error` are never used
[INFO] [stderr]   --> src/common/code.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl Status {
[INFO] [stderr]    | ----------- methods in this implementation
[INFO] [stderr] 13 |     pub fn is_ok(&self) -> bool {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 19 |     pub fn is_not_found(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub fn is_corruption(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 33 |     pub fn is_not_supported(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn is_invalid_argument(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 47 |     pub fn is_io_error(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `CompressionType` is never used
[INFO] [stderr]  --> src/common/options.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub enum CompressionType {
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Options` is never constructed
[INFO] [stderr]  --> src/common/options.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub struct Options {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReadOptions` is never constructed
[INFO] [stderr]   --> src/common/options.rs:35:12
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub struct ReadOptions {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WriteOptions` is never constructed
[INFO] [stderr]   --> src/common/options.rs:41:12
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub struct WriteOptions {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WriteBatch` is never constructed
[INFO] [stderr]   --> src/common/options.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub struct WriteBatch {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WriteBatchIterator` is never constructed
[INFO] [stderr]   --> src/common/options.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub struct WriteBatchIterator {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `put`, `delete`, `clear`, `approximate_size`, and `iter` are never used
[INFO] [stderr]   --> src/common/options.rs:55:12
[INFO] [stderr]    |
[INFO] [stderr] 54 | impl WriteBatch {
[INFO] [stderr]    | --------------- associated items in this implementation
[INFO] [stderr] 55 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |     pub fn put(&mut self, key: &Slice, value: &Slice) {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     pub fn delete(&mut self, key: &Slice) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 67 |     pub fn clear(&mut self) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub fn approximate_size(&self) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 |     pub fn iter(&self) -> WriteBatchIterator {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Slice` is never constructed
[INFO] [stderr]  --> src/common/slice.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct Slice {
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/common/slice.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr]  9 | impl Slice {
[INFO] [stderr]    | ---------- associated items in this implementation
[INFO] [stderr] 10 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 14 |     pub fn new_with_data(data: &[u8]) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 20 |     pub fn new_with_vec(data: Vec<u8>) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub fn new_with_string(data: &str) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |     pub fn start_with(&self, prefix: &Self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub fn len(&self) -> usize {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn data(&self) -> &[u8] {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TableCache` is never constructed
[INFO] [stderr]  --> src/common/table_cache.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct TableCache {
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `new_iter`, `get`, `evict`, and `find_table` are never used
[INFO] [stderr]   --> src/common/table_cache.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl TableCache {
[INFO] [stderr]    | --------------- associated items in this implementation
[INFO] [stderr] 11 |     pub fn new(dbname: String, options: Options, entries: u64) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 15 |     pub fn new_iter(
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub fn get(
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 35 |     pub fn evict(&mut self, file_number: u64) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |     fn find_table(&mut self, file_number: u64, file_size: u64) -> Option<Box<dyn Handle>> {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Arena` is never constructed
[INFO] [stderr]  --> src/db/arena.rs:4:16
[INFO] [stderr]   |
[INFO] [stderr] 4 |     pub struct Arena {
[INFO] [stderr]   |                ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `allocate`, `memory_usage`, and `allocate_aligned` are never used
[INFO] [stderr]   --> src/db/arena.rs:9:16
[INFO] [stderr]    |
[INFO] [stderr]  8 |     impl Arena {
[INFO] [stderr]    |     ---------- associated items in this implementation
[INFO] [stderr]  9 |         pub fn new() -> Arena {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] ...
[INFO] [stderr] 13 |         pub fn allocate(&self, bytes: usize) -> *mut u8 {
[INFO] [stderr]    |                ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 17 |         pub fn memory_usage(&self) -> usize {
[INFO] [stderr]    |                ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 21 |         pub fn allocate_aligned(&self, bytes: usize) -> *mut u8 {
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ValueType` is never used
[INFO] [stderr]   --> src/db/db_format.rs:19:14
[INFO] [stderr]    |
[INFO] [stderr] 19 |     pub enum ValueType {
[INFO] [stderr]    |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `K_VALUE_TYPE_FOR_SEEK` is never used
[INFO] [stderr]   --> src/db/db_format.rs:24:11
[INFO] [stderr]    |
[INFO] [stderr] 24 |     const K_VALUE_TYPE_FOR_SEEK: ValueType = ValueType::KTypeValue;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `SequenceNumber` is never used
[INFO] [stderr]   --> src/db/db_format.rs:25:10
[INFO] [stderr]    |
[INFO] [stderr] 25 |     type SequenceNumber = u64;
[INFO] [stderr]    |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `K_MAX_SEQUENCE_NUMBER` is never used
[INFO] [stderr]   --> src/db/db_format.rs:26:11
[INFO] [stderr]    |
[INFO] [stderr] 26 |     const K_MAX_SEQUENCE_NUMBER: SequenceNumber = ((0x1u64) << 56) - 1;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `pack_sequence_and_type` is never used
[INFO] [stderr]   --> src/db/db_format.rs:28:8
[INFO] [stderr]    |
[INFO] [stderr] 28 |     fn pack_sequence_and_type(seq: SequenceNumber, t: ValueType) -> u64 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ParsedInternalKey` is never constructed
[INFO] [stderr]   --> src/db/db_format.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 33 |     struct ParsedInternalKey {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `debug_string`, and `len` are never used
[INFO] [stderr]   --> src/db/db_format.rs:40:16
[INFO] [stderr]    |
[INFO] [stderr] 39 |     impl ParsedInternalKey {
[INFO] [stderr]    |     ---------------------- associated items in this implementation
[INFO] [stderr] 40 |         pub fn new(user_key: Slice, sequence: SequenceNumber, value_type: ValueType) -> Self {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |         pub fn debug_string(&self) -> String {
[INFO] [stderr]    |                ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 |         pub fn len(&self) -> usize {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `aoppend_internal_key` is never used
[INFO] [stderr]   --> src/db/db_format.rs:69:8
[INFO] [stderr]    |
[INFO] [stderr] 69 |     fn aoppend_internal_key(result: &mut String, key: &ParsedInternalKey) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_user_key` is never used
[INFO] [stderr]   --> src/db/db_format.rs:77:12
[INFO] [stderr]    |
[INFO] [stderr] 77 |     pub fn extract_user_key(internal_key: &Slice) -> Slice {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `InternalKeyComparator` is never constructed
[INFO] [stderr]   --> src/db/db_format.rs:81:16
[INFO] [stderr]    |
[INFO] [stderr] 81 |     pub struct InternalKeyComparator {
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/db/db_format.rs:86:16
[INFO] [stderr]    |
[INFO] [stderr] 85 |     impl InternalKeyComparator {
[INFO] [stderr]    |     -------------------------- associated function in this implementation
[INFO] [stderr] 86 |         pub fn new(user_comparator: Box<dyn Comparator>) -> Self {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `InternalFilterPolicy` is never constructed
[INFO] [stderr]    --> src/db/db_format.rs:121:12
[INFO] [stderr]     |
[INFO] [stderr] 121 |     struct InternalFilterPolicy {}
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `InternalKey` is never constructed
[INFO] [stderr]    --> src/db/db_format.rs:141:12
[INFO] [stderr]     |
[INFO] [stderr] 141 |     struct InternalKey {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `debug_string`, `decode_from`, `encode`, `user_key`, and `clear` are never used
[INFO] [stderr]    --> src/db/db_format.rs:146:16
[INFO] [stderr]     |
[INFO] [stderr] 145 |     impl InternalKey {
[INFO] [stderr]     |     ---------------- associated items in this implementation
[INFO] [stderr] 146 |         pub fn new(rep: Slice) -> Self {
[INFO] [stderr]     |                ^^^
[INFO] [stderr] ...
[INFO] [stderr] 150 |         pub fn debug_string(&self) -> String {
[INFO] [stderr]     |                ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 154 |         pub fn decode_from(&mut self, s: &Slice) {
[INFO] [stderr]     |                ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 158 |         pub fn encode(&self) -> Slice {
[INFO] [stderr]     |                ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 162 |         pub fn user_key(&self) -> Slice {
[INFO] [stderr]     |                ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 166 |         pub fn clear(&mut self) {
[INFO] [stderr]     |                ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LookupKey` is never constructed
[INFO] [stderr]    --> src/db/db_format.rs:179:16
[INFO] [stderr]     |
[INFO] [stderr] 179 |     pub struct LookupKey {
[INFO] [stderr]     |                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new_with_key`, `memtable_key`, and `internal_key` are never used
[INFO] [stderr]    --> src/db/db_format.rs:184:16
[INFO] [stderr]     |
[INFO] [stderr] 183 |     impl LookupKey {
[INFO] [stderr]     |     -------------- associated items in this implementation
[INFO] [stderr] 184 |         pub fn new_with_key(user_key: &Slice, sequence: SequenceNumber) -> Self {
[INFO] [stderr]     |                ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 195 |         pub fn memtable_key(&self) -> Slice {
[INFO] [stderr]     |                ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 199 |         pub fn internal_key(&self) -> Slice {
[INFO] [stderr]     |                ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `K_NUM_LEVELS` is never used
[INFO] [stderr]   --> src/db/db_format.rs:10:15
[INFO] [stderr]    |
[INFO] [stderr] 10 |         const K_NUM_LEVELS: usize = 7;
[INFO] [stderr]    |               ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `K_L0_COMPACTION_TRIGGER` is never used
[INFO] [stderr]   --> src/db/db_format.rs:11:15
[INFO] [stderr]    |
[INFO] [stderr] 11 |         const K_L0_COMPACTION_TRIGGER: usize = 4;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `K_L0_SLOWDOWN_WRITES_TRIGGER` is never used
[INFO] [stderr]   --> src/db/db_format.rs:12:15
[INFO] [stderr]    |
[INFO] [stderr] 12 |         const K_L0_SLOWDOWN_WRITES_TRIGGER: usize = 8;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `K_L0_STOP_WRITES_TRIGGER` is never used
[INFO] [stderr]   --> src/db/db_format.rs:13:15
[INFO] [stderr]    |
[INFO] [stderr] 13 |         const K_L0_STOP_WRITES_TRIGGER: usize = 12;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `K_MAX_MEM_COMPACT_LEVEL` is never used
[INFO] [stderr]   --> src/db/db_format.rs:14:15
[INFO] [stderr]    |
[INFO] [stderr] 14 |         const K_MAX_MEM_COMPACT_LEVEL: usize = 2;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `K_READ_BYTES_PERIOD` is never used
[INFO] [stderr]   --> src/db/db_format.rs:15:15
[INFO] [stderr]    |
[INFO] [stderr] 15 |         const K_READ_BYTES_PERIOD: usize = 1048576;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ManualCompaction` is never constructed
[INFO] [stderr]  --> src/db/db_impl.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 |     struct ManualCompaction {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CompactionStats` is never constructed
[INFO] [stderr]   --> src/db/db_impl.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 |     struct CompactionStats {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DBImpl` is never constructed
[INFO] [stderr]   --> src/db/db_impl.rs:21:16
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub struct DBImpl {
[INFO] [stderr]    |                ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Direction` is never used
[INFO] [stderr]  --> src/db/db_iter.rs:5:6
[INFO] [stderr]   |
[INFO] [stderr] 5 | enum Direction {
[INFO] [stderr]   |      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DBIter` is never constructed
[INFO] [stderr]   --> src/db/db_iter.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct DBIter<'a> {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/db/db_iter.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | impl DBIter<'_> {
[INFO] [stderr]    | --------------- associated function in this implementation
[INFO] [stderr] 22 |     pub fn new(db: &DBImpl, iter: DBIter<'_>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `guess_type` is never used
[INFO] [stderr]  --> src/db/dump_file.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 |     fn guess_type(file_name: &String) -> Option<FileType> {
[INFO] [stderr]   |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `dump_log_file` is never used
[INFO] [stderr]   --> src/db/dump_file.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 |     fn dump_log_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `dump_table_file` is never used
[INFO] [stderr]   --> src/db/dump_file.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn dump_table_file(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `dump_descriptor_file` is never used
[INFO] [stderr]   --> src/db/dump_file.rs:28:8
[INFO] [stderr]    |
[INFO] [stderr] 28 |     fn dump_descriptor_file(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `dump_file` is never used
[INFO] [stderr]   --> src/db/dump_file.rs:36:12
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn dump_file(env: Box<dyn Env>, file_name: &String, dst: Box<dyn WritableFile>) -> Status {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `FileType` is never used
[INFO] [stderr]  --> src/db/filename.rs:5:14
[INFO] [stderr]   |
[INFO] [stderr] 5 |     pub enum FileType {
[INFO] [stderr]   |              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_filename` is never used
[INFO] [stderr]   --> src/db/filename.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub fn parse_filename(filename: &String) -> Option<(u64, FileType)> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_file_name` is never used
[INFO] [stderr]   --> src/db/filename.rs:41:12
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub fn make_file_name(dbname: &String, number: u64, suffix: &str) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `log_file_name` is never used
[INFO] [stderr]   --> src/db/filename.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 45 |     pub fn log_file_name(dbname: &String, number: u64) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `table_file_name` is never used
[INFO] [stderr]   --> src/db/filename.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub fn table_file_name(dbname: &String, number: u64) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ssttable_file_name` is never used
[INFO] [stderr]   --> src/db/filename.rs:54:12
[INFO] [stderr]    |
[INFO] [stderr] 54 |     pub fn ssttable_file_name(dbname: &String, number: u64) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `descriptor_file_name` is never used
[INFO] [stderr]   --> src/db/filename.rs:59:12
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub fn descriptor_file_name(dbname: &String, number: u64) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `current_file_name` is never used
[INFO] [stderr]   --> src/db/filename.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn current_file_name(dbname: &String) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `lock_file_name` is never used
[INFO] [stderr]   --> src/db/filename.rs:67:12
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub fn lock_file_name(dbname: &String) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `info_log_file_name` is never used
[INFO] [stderr]   --> src/db/filename.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 71 |     pub fn info_log_file_name(dbname: &String) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `temp_file_name` is never used
[INFO] [stderr]   --> src/db/filename.rs:75:12
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub fn temp_file_name(dbname: &String, number: u64) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `info_log_filename` is never used
[INFO] [stderr]   --> src/db/filename.rs:79:12
[INFO] [stderr]    |
[INFO] [stderr] 79 |     pub fn info_log_filename(dbname: &String, number: u64) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `old_info_log_filename` is never used
[INFO] [stderr]   --> src/db/filename.rs:83:12
[INFO] [stderr]    |
[INFO] [stderr] 83 |     pub fn old_info_log_filename(dbname: &String) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `set_current_file` is never used
[INFO] [stderr]   --> src/db/filename.rs:87:12
[INFO] [stderr]    |
[INFO] [stderr] 87 |     pub fn set_current_file(env: Box<dyn Env>, dbname: &String, number: u64) -> Status {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `KeyComparator` is never constructed
[INFO] [stderr]  --> src/db/memtable.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 |     struct KeyComparator<'a> {
[INFO] [stderr]   |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/db/memtable.rs:12:16
[INFO] [stderr]    |
[INFO] [stdout] 
[INFO] [stderr] 11 |     impl<'a> KeyComparator<'a> {
[INFO] [stdout] running 6 tests
[INFO] [stderr]    |     -------------------------- associated function in this implementation
[INFO] [stderr] 12 |         pub fn new(comparator: &'a InternalKeyComparator) -> KeyComparator<'a> {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MemTable` is never constructed
[INFO] [stderr]   --> src/db/memtable.rs:19:16
[INFO] [stderr]    |
[INFO] [stderr] 19 |     pub struct MemTable<'a> {
[INFO] [stderr]    |                ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `ref_memtable`, `unref_memtable`, `add`, and `get` are never used
[INFO] [stderr]   --> src/db/memtable.rs:26:16
[INFO] [stderr]    |
[INFO] [stderr] 25 |     impl<'a> MemTable<'a> {
[INFO] [stderr]    |     --------------------- associated items in this implementation
[INFO] [stderr] 26 |         pub fn new(comparator: &'a InternalKeyComparator) -> MemTable<'a> {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |         pub fn ref_memtable(&self) -> &MemTable {
[INFO] [stderr]    |                ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |         pub fn unref_memtable(&self) {
[INFO] [stderr]    |                ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |         pub fn add(&self, sequence: u64, value_type: ValueType, key: &Slice, value: &Slice) {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |         pub fn get(&self, key: &LookupKey) -> Option<Slice> {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Node` is never constructed
[INFO] [stderr]  --> src/db/skiplist.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | struct Node<K> {
[INFO] [stderr]   |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/db/skiplist.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl<K> Node<K> {
[INFO] [stderr]    | --------------- associated function in this implementation
[INFO] [stderr] 12 |     fn new(key: K, height: usize) -> Self {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SkipList` is never constructed
[INFO] [stderr]   --> src/db/skiplist.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | struct SkipList<K: Default, C> {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `MAX_HEIGHT`, `new`, `random_height`, `insert`, `contains`, and `find_greater_or_equal` are never used
[INFO] [stderr]   --> src/db/skiplist.rs:31:11
[INFO] [stderr]    |
[INFO] [stderr] 26 | / impl<K: Default, C> SkipList<K, C>
[INFO] [stderr] 27 | | where
[INFO] [stderr] 28 | |     K: Ord + Clone,
[INFO] [stderr] 29 | |     C: Fn(&K, &K) -> std::cmp::Ordering,
[INFO] [stderr]    | |________________________________________- associated items in this implementation
[INFO] [stderr] 30 |   {
[INFO] [stderr] 31 |       const MAX_HEIGHT: usize = 12;
[INFO] [stderr]    |             ^^^^^^^^^^
[INFO] [stderr] 32 |
[INFO] [stderr] 33 |       fn new(compare: C) -> Self {
[INFO] [stderr]    |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |       fn random_height() -> usize {
[INFO] [stderr]    |          ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 51 |       fn insert(&mut self, key: K) {
[INFO] [stderr]    |          ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |       fn contains(&self, key: &K) -> bool {
[INFO] [stderr]    |          ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 82 |       fn find_greater_or_equal(
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MutexGuard` is never constructed
[INFO] [stderr]  --> src/port/mutex.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct MutexGuard<'a, T> {
[INFO] [stdout] test util::hash::tests::test_hash ... ok
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stdout] test common::slice::test::test_slice ... ok
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]  --> src/port/mutex.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | impl<'a, T> MutexGuard<'a, T> {
[INFO] [stderr]   | ----------------------------- associated function in this implementation
[INFO] [stderr] 6 |     pub fn new(guard: std::sync::MutexGuard<'a, T>) -> Self {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Mutex` is never constructed
[INFO] [stderr]   --> src/port/mutex.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct Mutex<T> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `lock` are never used
[INFO] [stderr]   --> src/port/mutex.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl<T> Mutex<T> {
[INFO] [stderr]    | ---------------- associated items in this implementation
[INFO] [stderr] 17 |     pub fn new(t: T) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub fn lock(&self) -> MutexGuard<T> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CondVar` is never constructed
[INFO] [stderr]   --> src/port/mutex.rs:28:12
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub struct CondVar {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `wait`, and `notify_one` are never used
[INFO] [stderr]   --> src/port/mutex.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl CondVar {
[INFO] [stderr]    | ------------ associated items in this implementation
[INFO] [stderr] 33 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |     pub fn wait(&self, guard: &mut MutexGuard<bool>) {}
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 40 |
[INFO] [stderr] 41 |     pub fn notify_one(&self) {}
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Table` is never constructed
[INFO] [stderr]  --> src/table/table.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct Table {}
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `open` is never used
[INFO] [stderr]  --> src/table/table.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | impl Table {
[INFO] [stderr]   | ---------- associated function in this implementation
[INFO] [stderr] 4 |     pub fn open() -> Self {
[INFO] [stderr]   |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BlockBuilder` is never constructed
[INFO] [stderr]  --> src/table/block_builder.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | struct BlockBuilder {
[INFO] [stderr]   |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `reset`, `add`, `finish`, `empty`, and `current_size_estimate` are never used
[INFO] [stderr]   --> src/table/block_builder.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl BlockBuilder {
[INFO] [stderr]    | ----------------- associated items in this implementation
[INFO] [stderr] 15 |     pub fn new(options: Options) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub fn reset(&mut self) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub fn add(&mut self, key: &Slice, value: &Slice) -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn finish(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub fn empty(&self) -> bool {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub fn current_size_estimate(&self) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BloomFilterPolicy` is never constructed
[INFO] [stderr]  --> src/util/bloom_filter.rs:6:16
[INFO] [stderr]   |
[INFO] [stderr] 6 |     pub struct BloomFilterPolicy {
[INFO] [stderr]   |                ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/util/bloom_filter.rs:12:16
[INFO] [stderr]    |
[INFO] [stderr] 11 |     impl BloomFilterPolicy {
[INFO] [stderr]    |     ---------------------- associated function in this implementation
[INFO] [stderr] 12 |         pub fn new(bits_per_key: usize) -> Self {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOOM_HASH_SEED` is never used
[INFO] [stderr]   --> src/util/bloom_filter.rs:68:11
[INFO] [stderr]    |
[INFO] [stderr] 68 |     const BLOOM_HASH_SEED: u32 = 0xbc9f1d34;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bloom_hash` is never used
[INFO] [stderr]   --> src/util/bloom_filter.rs:70:8
[INFO] [stderr]    |
[INFO] [stderr] 70 |     fn bloom_hash(key: &Slice) -> u32 {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `encode_fixed32` is never used
[INFO] [stderr]  --> src/util/codec.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 |     pub fn encode_fixed32(dst: &mut [u8], value: u32) {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `encode_fixed64` is never used
[INFO] [stderr]   --> src/util/codec.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub fn encode_fixed64(dst: &mut [u8], value: u64) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `put_fixed32` is never used
[INFO] [stderr]   --> src/util/codec.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn put_fixed32(dst: &mut String, value: u32) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `put_fixed64` is never used
[INFO] [stderr]   --> src/util/codec.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 29 |     pub fn put_fixed64(dst: &mut String, value: u64) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `decode_fixed32` is never used
[INFO] [stderr]   --> src/util/codec.rs:35:12
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn decode_fixed32(src: &[u8]) -> u32 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `decode_fixed64` is never used
[INFO] [stderr]   --> src/util/codec.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 39 |     pub fn decode_fixed64(src: &Slice) -> u64 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `put_varint32` is never used
[INFO] [stderr]   --> src/util/codec.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `put_varint64` is never used
[INFO] [stderr]   --> src/util/codec.rs:54:12
[INFO] [stderr]    |
[INFO] [stderr] 54 |     pub fn put_varint64(dst: &mut [u8], value: u64) {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `put_length_prefixed_slice` is never used
[INFO] [stderr]   --> src/util/codec.rs:58:12
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn put_length_prefixed_slice(dst: &mut [u8], value: &[u8]) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_fixed32` is never used
[INFO] [stderr]   --> src/util/codec.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn get_fixed32(src: &Slice) -> u32 {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_varint32` is never used
[INFO] [stderr]   --> src/util/codec.rs:66:12
[INFO] [stderr]    |
[INFO] [stderr] 66 |     pub fn get_varint32(src: &Slice) -> Option<u32> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_fixed64` is never used
[INFO] [stderr]   --> src/util/codec.rs:70:12
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub fn get_fixed64(src: &Slice) -> Option<u64> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_length_prefixed_slice` is never used
[INFO] [stderr]   --> src/util/codec.rs:74:12
[INFO] [stderr]    |
[INFO] [stderr] 74 |     pub fn get_length_prefixed_slice(src: &Slice) -> Option<&Slice> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `K_MASK_DELTA` is never used
[INFO] [stderr]  --> src/util/crc32.rs:2:11
[INFO] [stderr]   |
[INFO] [stderr] 2 |     const K_MASK_DELTA: u32 = 0xa282ead8;
[INFO] [stderr]   |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `Extend` is never used
[INFO] [stderr]  --> src/util/crc32.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `Mask` is never used
[INFO] [stderr]  --> src/util/crc32.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 |     pub fn Mask(crc: u32) -> u32 {
[INFO] [stderr]   |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `EnvPosix` is never constructed
[INFO] [stderr]   --> src/util/env.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | struct EnvPosix {}
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/util/env.rs:18:8
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl EnvPosix {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] 18 |     fn new() -> EnvPosix {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_string_to_file_sync` is never used
[INFO] [stderr]   --> src/util/env.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn write_string_to_file_sync(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `do_write_string_to_file` is never used
[INFO] [stderr]   --> src/util/env.rs:27:4
[INFO] [stderr]    |
[INFO] [stderr] 27 | fn do_write_string_to_file(env: Box<dyn Env>, filename: &String, data: &String) -> Status {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `M` is never used
[INFO] [stderr]  --> src/util/hash.rs:4:11
[INFO] [stderr]   |
[INFO] [stderr] 4 |     const M: u32 = 0xc6a4a793;
[INFO] [stderr]   |           ^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `R` is never used
[INFO] [stderr]  --> src/util/hash.rs:5:11
[INFO] [stderr]   |
[INFO] [stderr] 5 |     const R: u32 = 24;
[INFO] [stderr]   |           ^
[INFO] [stderr] 
[INFO] [stderr] warning: function `hash` is never used
[INFO] [stderr]  --> src/util/hash.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub fn hash(data: &[u8], seed: u32) -> u32 {
[INFO] [stderr]   |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `append_number_to` is never used
[INFO] [stderr]  --> src/util/logging.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn append_number_to(dest: &mut String, num: u64) {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `append_escaped_string_to` is never used
[INFO] [stderr]  --> src/util/logging.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn append_escaped_string_to(dest: &mut String, src: &Slice) {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `escape_string` is never used
[INFO] [stderr]   --> src/util/logging.rs:17:8
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub fn escape_string(src: &Slice) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `comsume_deciamal_number` is never used
[INFO] [stderr]   --> src/util/logging.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn comsume_deciamal_number(src: &mut Slice) -> Option<u64> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Random` is never constructed
[INFO] [stderr]  --> src/util/random.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct Random {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `next`, `uniform`, `one_in`, and `skew` are never used
[INFO] [stderr]   --> src/util/random.rs:6:12
[INFO] [stderr]    |
[INFO] [stderr]  5 | impl Random {
[INFO] [stderr]    | ----------- associated items in this implementation
[INFO] [stderr]  6 |     pub fn new(seed: u32) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 15 |     pub fn next(&mut self) -> u32 {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 22 |     pub fn uniform(&mut self, n: u32) -> u32 {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub fn one_in(&mut self, n: u32) -> bool {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     pub fn skew(&mut self) -> u32 {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LRUHandle` is never constructed
[INFO] [stderr]  --> src/util/lru_cache.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | struct LRUHandle {
[INFO] [stderr]   |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LRUCache` is never constructed
[INFO] [stderr]   --> src/util/lru_cache.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub struct LRUCache {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/util/lru_cache.rs:61:12
[INFO] [stderr]    |
[INFO] [stderr] 60 | impl LRUCache {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] 61 |     pub fn new(capacity: usize) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/db/memtable.rs:32:29
[INFO] [stderr]    |
[INFO] [stderr] 32 |         pub fn ref_memtable(&self) -> &MemTable {
[INFO] [stderr]    |                             ^^^^^     ^^^^^^^^^
[INFO] [stderr]    |                             |         ||
[INFO] [stderr]    |                             |         |the same lifetime is hidden here
[INFO] [stderr]    |                             |         the same lifetime is elided here
[INFO] [stderr]    |                             the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 32 |         pub fn ref_memtable(&self) -> &MemTable<'_> {
[INFO] [stderr]    |                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/port/mutex.rs:23:17
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn lock(&self) -> MutexGuard<T> {
[INFO] [stderr]    |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: module `Crc32C` should have a snake case name
[INFO] [stderr]  --> src/util/crc32.rs:1:9
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub mod Crc32C {
[INFO] [stderr]   |         ^^^^^^ help: convert the identifier to snake case: `crc32_c`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `Extend` should have a snake case name
[INFO] [stderr]  --> src/util/crc32.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stderr]   |            ^^^^^^ help: convert the identifier to snake case: `extend`
[INFO] [stderr] 
[INFO] [stderr] warning: function `Mask` should have a snake case name
[INFO] [stderr]  --> src/util/crc32.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 |     pub fn Mask(crc: u32) -> u32 {
[INFO] [stderr]   |            ^^^^ help: convert the identifier to snake case: `mask`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Status`
[INFO] [stderr]  --> src/db/db_iter.rs:3:27
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::common::{Iter, Status};
[INFO] [stderr]   |                           ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/util/codec.rs:50:41
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stderr]    |                                         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub fn put_varint32(dst: &mut [u8], _value: u32) {
[INFO] [stderr]    |                                         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `TEST_SEED`
[INFO] [stderr]    |
[INFO] [stderr] 50 -     pub fn put_varint32(dst: &mut [u8], value: u32) {
[INFO] [stderr] 50 +     pub fn put_varint32(dst: &mut [u8], util::hash::tests::test_hash::TEST_SEED: u32) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `crc`
[INFO] [stderr]  --> src/util/crc32.rs:3:32
[INFO] [stderr]   |
[INFO] [stderr] 3 |     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stderr]   |                                ^^^
[INFO] [stderr]   |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]   |
[INFO] [stderr] 3 |     pub fn Extend(data: &[u8], _crc: u32) -> u32 {
[INFO] [stderr]   |                                +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `TEST_SEED`
[INFO] [stderr]   |
[INFO] [stderr] 3 -     pub fn Extend(data: &[u8], crc: u32) -> u32 {
[INFO] [stderr] 3 +     pub fn Extend(data: &[u8], util::hash::tests::test_hash::TEST_SEED: u32) -> u32 {
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `crc`
[INFO] [stderr]  --> src/util/crc32.rs:6:17
[INFO] [stderr]   |
[INFO] [stderr] 6 |     pub fn Mask(crc: u32) -> u32 {
[INFO] [stderr]   |                 ^^^
[INFO] [stderr]   |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]   |
[INFO] [stderr] 6 |     pub fn Mask(_crc: u32) -> u32 {
[INFO] [stderr]   |                 +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `TEST_SEED`
[INFO] [stderr]   |
[INFO] [stderr] 6 -     pub fn Mask(crc: u32) -> u32 {
[INFO] [stderr] 6 +     pub fn Mask(util::hash::tests::test_hash::TEST_SEED: u32) -> u32 {
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new_with_data`, `new_with_vec`, `start_with`, `len`, and `data` are never used
[INFO] [stderr]   --> src/common/slice.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr]  9 | impl Slice {
[INFO] [stderr]    | ---------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 14 |     pub fn new_with_data(data: &[u8]) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 20 |     pub fn new_with_vec(data: Vec<u8>) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |     pub fn start_with(&self, prefix: &Self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub fn len(&self) -> usize {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn data(&self) -> &[u8] {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `leveldb-rs` (lib) generated 246 warnings (run `cargo fix --lib -p leveldb-rs` to apply 25 suggestions)
[INFO] [stderr] warning: `leveldb-rs` (lib test) generated 240 warnings (235 duplicates) (run `cargo fix --lib -p leveldb-rs --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/leveldb_rs-9204a21207615633)
[INFO] [stdout] test util::random::test::test_one_in ... FAILED
[INFO] [stdout] test util::random::test::test_uniform ... FAILED
[INFO] [stdout] test util::random::test::test_skew ... FAILED
[INFO] [stdout] test util::random::test::test_random ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- util::random::test::test_one_in stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'util::random::test::test_one_in' (27) panicked at src/util/random.rs:52:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x60794e0b4872 - std::backtrace_rs::backtrace::libunwind::trace::hcab59e1e990fdc24
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x60794e0b4872 - std::backtrace_rs::backtrace::trace_unsynchronized::he24cc57f3d2f47b7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x60794e0b4872 - std::sys::backtrace::_print_fmt::hf8d65ede198eeb54
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x60794e0b4872 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h67edf0e4d33c343c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x60794e0c4a8f - core::fmt::rt::Argument::fmt::hef94184842aeafdd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x60794e0c4a8f - core::fmt::write::hcf0c66b48a8fa606
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/mod.rs:1468:25
[INFO] [stdout]    6:     0x60794e081de1 - std::io::default_write_fmt::h69967ac0ba93195f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x60794e081de1 - std::io::Write::write_fmt::h8db9396209deaa1c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x60794e08de42 - std::sys::backtrace::BacktraceLock::print::h07e5435aa717b414
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x60794e09298f - std::panicking::default_hook::{{closure}}::h91001850288db5f7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x60794e092821 - std::panicking::default_hook::h2346dbb704ef5512
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x60794e04d99e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h18383b2e29377420
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   12:     0x60794e04d99e - test::test_main_with_exit_callback::{{closure}}::h272d7ef99aef06dc
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x60794e09304f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6dba6e441651a0d1
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   14:     0x60794e09304f - std::panicking::panic_with_hook::hd2b063a6090d23a4
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x60794e092e76 - std::panicking::panic_handler::{{closure}}::he666d95f139a333e
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:700:13
[INFO] [stdout]   16:     0x60794e08df79 - std::sys::backtrace::__rust_end_short_backtrace::h631ad224854ebee5
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x60794e0762bd - __rustc[1d67440d6e82e4f]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x60794e0cc450 - core::panicking::panic_fmt::h420ddb7fd73daf53
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x60794e0cc42c - core::panicking::panic::h355c5fec13755e30
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:145:5
[INFO] [stdout]   20:     0x60794e02b81a - leveldb_rs::util::random::test::test_one_in::h4fd3de3163a6deff
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:52:9
[INFO] [stdout]   21:     0x60794e02b837 - leveldb_rs::util::random::test::test_one_in::{{closure}}::hb9b50bd5761fc1c1
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:51:21
[INFO] [stdout]   22:     0x60794e02bfd6 - core::ops::function::FnOnce::call_once::hde2bc57c909f0682
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x60794e04d75b - core::ops::function::FnOnce::call_once::h70887edf07a630ba
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x60794e04d75b - test::__rust_begin_short_backtrace::h27763c4cbbdb8601
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x60794e0633c5 - test::run_test_in_process::{{closure}}::h4dc8bc6d5e3924d3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x60794e0633c5 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h75905e8ffe81974f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x60794e0633c5 - std::panicking::catch_unwind::do_call::h0bc60366ba66eba5
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   28:     0x60794e0633c5 - std::panicking::catch_unwind::hae1ec7bf94407afa
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   29:     0x60794e0633c5 - std::panic::catch_unwind::h0f4ff4773d84d3cd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x60794e0633c5 - test::run_test_in_process::h03fbc77ae48b3f10
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x60794e0633c5 - test::run_test::{{closure}}::h83476a9c453dc4d3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x60794e039bb4 - test::run_test::{{closure}}::h515482ad1e7fe7de
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x60794e039bb4 - std::sys::backtrace::__rust_begin_short_backtrace::hed09f6ac5fe9d647
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   34:     0x60794e03d47a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h988e2cd969319888
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   35:     0x60794e03d47a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hd70e28dc46ec20be
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x60794e03d47a - std::panicking::catch_unwind::do_call::hdc29e11311eb7655
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   37:     0x60794e03d47a - std::panicking::catch_unwind::h9e402d6a96fef41c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   38:     0x60794e03d47a - std::panic::catch_unwind::h9213c0c54aec70e0
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x60794e03d47a - std::thread::Builder::spawn_unchecked_::{{closure}}::h6262965869ed2b87
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   40:     0x60794e03d47a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h05c05ed02619e462
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x60794e0890df - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h2044e71c41d3958a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   42:     0x60794e0890df - std::sys::thread::unix::Thread::new::thread_start::hf277835320aa8e5a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/thread/unix.rs:126:17
[INFO] [stdout]   43:     0x79c026678aa4 - <unknown>
[INFO] [stdout]   44:     0x79c026705a34 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- util::random::test::test_uniform stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'util::random::test::test_uniform' (30) panicked at src/util/random.rs:47:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x60794e0b4872 - std::backtrace_rs::backtrace::libunwind::trace::hcab59e1e990fdc24
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x60794e0b4872 - std::backtrace_rs::backtrace::trace_unsynchronized::he24cc57f3d2f47b7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x60794e0b4872 - std::sys::backtrace::_print_fmt::hf8d65ede198eeb54
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x60794e0b4872 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h67edf0e4d33c343c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x60794e0c4a8f - core::fmt::rt::Argument::fmt::hef94184842aeafdd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/rt.rs:173:76
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout]    5:     0x60794e0c4a8f - core::fmt::write::hcf0c66b48a8fa606
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/mod.rs:1468:25
[INFO] [stdout]    6:     0x60794e081de1 - std::io::default_write_fmt::h69967ac0ba93195f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x60794e081de1 - std::io::Write::write_fmt::h8db9396209deaa1c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x60794e08de42 - std::sys::backtrace::BacktraceLock::print::h07e5435aa717b414
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x60794e09298f - std::panicking::default_hook::{{closure}}::h91001850288db5f7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x60794e092821 - std::panicking::default_hook::h2346dbb704ef5512
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x60794e04d99e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h18383b2e29377420
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   12:     0x60794e04d99e - test::test_main_with_exit_callback::{{closure}}::h272d7ef99aef06dc
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x60794e09304f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6dba6e441651a0d1
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   14:     0x60794e09304f - std::panicking::panic_with_hook::hd2b063a6090d23a4
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x60794e092e76 - std::panicking::panic_handler::{{closure}}::he666d95f139a333e
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:700:13
[INFO] [stdout]   16:     0x60794e08df79 - std::sys::backtrace::__rust_end_short_backtrace::h631ad224854ebee5
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x60794e0762bd - __rustc[1d67440d6e82e4f]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x60794e0cc450 - core::panicking::panic_fmt::h420ddb7fd73daf53
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x60794e0cc42c - core::panicking::panic::h355c5fec13755e30
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:145:5
[INFO] [stdout]   20:     0x60794e02b8ba - leveldb_rs::util::random::test::test_uniform::he203b022b1f15f34
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:47:9
[INFO] [stdout]   21:     0x60794e02b8d7 - leveldb_rs::util::random::test::test_uniform::{{closure}}::h1b8a90fd7b43bf7e
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:46:22
[INFO] [stdout]   22:     0x60794e02be86 - core::ops::function::FnOnce::call_once::h1655339f45b66d8b
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x60794e04d75b - core::ops::function::FnOnce::call_once::h70887edf07a630ba
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x60794e04d75b - test::__rust_begin_short_backtrace::h27763c4cbbdb8601
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x60794e0633c5 - test::run_test_in_process::{{closure}}::h4dc8bc6d5e3924d3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x60794e0633c5 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h75905e8ffe81974f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x60794e0633c5 - std::panicking::catch_unwind::do_call::h0bc60366ba66eba5
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   28:     0x60794e0633c5 - std::panicking::catch_unwind::hae1ec7bf94407afa
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   29:     0x60794e0633c5 - std::panic::catch_unwind::h0f4ff4773d84d3cd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x60794e0633c5 - test::run_test_in_process::h03fbc77ae48b3f10
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x60794e0633c5 - test::run_test::{{closure}}::h83476a9c453dc4d3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x60794e039bb4 - test::run_test::{{closure}}::h515482ad1e7fe7de
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x60794e039bb4 - std::sys::backtrace::__rust_begin_short_backtrace::hed09f6ac5fe9d647
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   34:     0x60794e03d47a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h988e2cd969319888
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   35:     0x60794e03d47a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hd70e28dc46ec20be
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x60794e03d47a - std::panicking::catch_unwind::do_call::hdc29e11311eb7655
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   37:     0x60794e03d47a - std::panicking::catch_unwind::h9e402d6a96fef41c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   38:     0x60794e03d47a - std::panic::catch_unwind::h9213c0c54aec70e0
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x60794e03d47a - std::thread::Builder::spawn_unchecked_::{{closure}}::h6262965869ed2b87
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   40:     0x60794e03d47a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h05c05ed02619e462
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x60794e0890df - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h2044e71c41d3958a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   42:     0x60794e0890df - std::sys::thread::unix::Thread::new::thread_start::hf277835320aa8e5a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/thread/unix.rs:126:17
[INFO] [stdout]   43:     0x79c026678aa4 - <unknown>
[INFO] [stdout]   44:     0x79c026705a34 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- util::random::test::test_skew stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'util::random::test::test_skew' (29) panicked at src/util/random.rs:57:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x60794e0b4872 - std::backtrace_rs::backtrace::libunwind::trace::hcab59e1e990fdc24
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x60794e0b4872 - std::backtrace_rs::backtrace::trace_unsynchronized::he24cc57f3d2f47b7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x60794e0b4872 - std::sys::backtrace::_print_fmt::hf8d65ede198eeb54
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x60794e0b4872 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h67edf0e4d33c343c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x60794e0c4a8f - core::fmt::rt::Argument::fmt::hef94184842aeafdd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x60794e0c4a8f - core::fmt::write::hcf0c66b48a8fa606
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/mod.rs:1468:25
[INFO] [stdout]    6:     0x60794e081de1 - std::io::default_write_fmt::h69967ac0ba93195f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x60794e081de1 - std::io::Write::write_fmt::h8db9396209deaa1c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x60794e08de42 - std::sys::backtrace::BacktraceLock::print::h07e5435aa717b414
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x60794e09298f - std::panicking::default_hook::{{closure}}::h91001850288db5f7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x60794e092821 - std::panicking::default_hook::h2346dbb704ef5512
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x60794e04d99e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h18383b2e29377420
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   12:     0x60794e04d99e - test::test_main_with_exit_callback::{{closure}}::h272d7ef99aef06dc
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x60794e09304f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6dba6e441651a0d1
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   14:     0x60794e09304f - std::panicking::panic_with_hook::hd2b063a6090d23a4
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x60794e092e76 - std::panicking::panic_handler::{{closure}}::he666d95f139a333e
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:700:13
[INFO] [stdout]   16:     0x60794e08df79 - std::sys::backtrace::__rust_end_short_backtrace::h631ad224854ebee5
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x60794e0762bd - __rustc[1d67440d6e82e4f]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x60794e0cc450 - core::panicking::panic_fmt::h420ddb7fd73daf53
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x60794e0cc42c - core::panicking::panic::h355c5fec13755e30
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:145:5
[INFO] [stdout]   20:     0x60794e02b90a - leveldb_rs::util::random::test::test_skew::h968d58ee23d7e162
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:57:9
[INFO] [stdout]   21:     0x60794e02b927 - leveldb_rs::util::random::test::test_skew::{{closure}}::hd96ae8cf8c6300a6
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:56:19
[INFO] [stdout]   22:     0x60794e02bf16 - core::ops::function::FnOnce::call_once::h91188106f477f11d
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x60794e04d75b - core::ops::function::FnOnce::call_once::h70887edf07a630ba
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x60794e04d75b - test::__rust_begin_short_backtrace::h27763c4cbbdb8601
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x60794e0633c5 - test::run_test_in_process::{{closure}}::h4dc8bc6d5e3924d3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x60794e0633c5 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h75905e8ffe81974f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x60794e0633c5 - std::panicking::catch_unwind::do_call::h0bc60366ba66eba5
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   28:     0x60794e0633c5 - std::panicking::catch_unwind::hae1ec7bf94407afa
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   29:     0x60794e0633c5 - std::panic::catch_unwind::h0f4ff4773d84d3cd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x60794e0633c5 - test::run_test_in_process::h03fbc77ae48b3f10
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x60794e0633c5 - test::run_test::{{closure}}::h83476a9c453dc4d3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x60794e039bb4 - test::run_test::{{closure}}::h515482ad1e7fe7de
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x60794e039bb4 - std::sys::backtrace::__rust_begin_short_backtrace::hed09f6ac5fe9d647
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   34:     0x60794e03d47a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h988e2cd969319888
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   35:     0x60794e03d47a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hd70e28dc46ec20be
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x60794e03d47a - std::panicking::catch_unwind::do_call::hdc29e11311eb7655
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   37:     0x60794e03d47a - std::panicking::catch_unwind::h9e402d6a96fef41c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   38:     0x60794e03d47a - std::panic::catch_unwind::h9213c0c54aec70e0
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x60794e03d47a - std::thread::Builder::spawn_unchecked_::{{closure}}::h6262965869ed2b87
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   40:     0x60794e03d47a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h05c05ed02619e462
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x60794e0890df - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h2044e71c41d3958a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   42:     0x60794e0890df - std::sys::thread::unix::Thread::new::thread_start::hf277835320aa8e5a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/thread/unix.rs:126:17
[INFO] [stdout]   43:     0x79c026678aa4 - <unknown>
[INFO] [stdout]   44:     0x79c026705a34 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- util::random::test::test_random stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'util::random::test::test_random' (28) panicked at src/util/random.rs:42:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x60794e0b4872 - std::backtrace_rs::backtrace::libunwind::trace::hcab59e1e990fdc24
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x60794e0b4872 - std::backtrace_rs::backtrace::trace_unsynchronized::he24cc57f3d2f47b7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x60794e0b4872 - std::sys::backtrace::_print_fmt::hf8d65ede198eeb54
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x60794e0b4872 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h67edf0e4d33c343c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x60794e0c4a8f - core::fmt::rt::Argument::fmt::hef94184842aeafdd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x60794e0c4a8f - core::fmt::write::hcf0c66b48a8fa606
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/mod.rs:1468:25
[INFO] [stdout]    6:     0x60794e081de1 - std::io::default_write_fmt::h69967ac0ba93195f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x60794e081de1 - std::io::Write::write_fmt::h8db9396209deaa1c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x60794e08de42 - std::sys::backtrace::BacktraceLock::print::h07e5435aa717b414
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x60794e09298f - std::panicking::default_hook::{{closure}}::h91001850288db5f7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x60794e092821 - std::panicking::default_hook::h2346dbb704ef5512
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x60794e04d99e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h18383b2e29377420
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   12:     0x60794e04d99e - test::test_main_with_exit_callback::{{closure}}::h272d7ef99aef06dc
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x60794e09304f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6dba6e441651a0d1
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   14:     0x60794e09304f - std::panicking::panic_with_hook::hd2b063a6090d23a4
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x60794e092e76 - std::panicking::panic_handler::{{closure}}::he666d95f139a333e
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:700:13
[INFO] [stdout]   16:     0x60794e08df79 - std::sys::backtrace::__rust_end_short_backtrace::h631ad224854ebee5
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x60794e0762bd - __rustc[1d67440d6e82e4f]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x60794e0cc450 - core::panicking::panic_fmt::h420ddb7fd73daf53
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x60794e0cc42c - core::panicking::panic::h355c5fec13755e30
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:145:5
[INFO] [stdout]   20:     0x60794e02b86a - leveldb_rs::util::random::test::test_random::hefc0cef3222d737b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:42:9
[INFO] [stdout]   21:     0x60794e02b887 - leveldb_rs::util::random::test::test_random::{{closure}}::h7e00854be63accab
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:41:21
[INFO] [stdout]   22:     0x60794e02bf56 - core::ops::function::FnOnce::call_once::h95fc1526c3ca36b2
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x60794e04d75b - core::ops::function::FnOnce::call_once::h70887edf07a630ba
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x60794e04d75b - test::__rust_begin_short_backtrace::h27763c4cbbdb8601
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x60794e0633c5 - test::run_test_in_process::{{closure}}::h4dc8bc6d5e3924d3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x60794e0633c5 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h75905e8ffe81974f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x60794e0633c5 - std::panicking::catch_unwind::do_call::h0bc60366ba66eba5
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   28:     0x60794e0633c5 - std::panicking::catch_unwind::hae1ec7bf94407afa
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   29:     0x60794e0633c5 - std::panic::catch_unwind::h0f4ff4773d84d3cd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x60794e0633c5 - test::run_test_in_process::h03fbc77ae48b3f10
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x60794e0633c5 - test::run_test::{{closure}}::h83476a9c453dc4d3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x60794e039bb4 - test::run_test::{{closure}}::h515482ad1e7fe7de
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x60794e039bb4 - std::sys::backtrace::__rust_begin_short_backtrace::hed09f6ac5fe9d647
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   34:     0x60794e03d47a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h988e2cd969319888
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   35:     0x60794e03d47a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hd70e28dc46ec20be
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x60794e03d47a - std::panicking::catch_unwind::do_call::hdc29e11311eb7655
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   37:     0x60794e03d47a - std::panicking::catch_unwind::h9e402d6a96fef41c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   38:     0x60794e03d47a - std::panic::catch_unwind::h9213c0c54aec70e0
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x60794e03d47a - std::thread::Builder::spawn_unchecked_::{{closure}}::h6262965869ed2b87
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   40:     0x60794e03d47a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h05c05ed02619e462
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x60794e0890df - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h2044e71c41d3958a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   42:     0x60794e0890df - std::sys::thread::unix::Thread::new::thread_start::hf277835320aa8e5a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/thread/unix.rs:126:17
[INFO] [stdout]   43:     0x79c026678aa4 - <unknown>
[INFO] [stdout]   44:     0x79c026705a34 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     util::random::test::test_one_in
[INFO] [stdout]     util::random::test::test_random
[INFO] [stdout]     util::random::test::test_skew
[INFO] [stdout]     util::random::test::test_uniform
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 2 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3476bcc5c7094f32d631906b0abe2c0621961a82130d4e17b61ca9b6ffcc7858", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3476bcc5c7094f32d631906b0abe2c0621961a82130d4e17b61ca9b6ffcc7858", kill_on_drop: false }`
[INFO] [stdout] 3476bcc5c7094f32d631906b0abe2c0621961a82130d4e17b61ca9b6ffcc7858
