[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 master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjzwdsb%2Fleveldb-rs" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/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-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jzwdsb/leveldb-rs on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wit-bindgen-rt v0.33.0
[INFO] [stderr]   Downloaded rand_core v0.9.0
[INFO] [stderr]   Downloaded getrandom v0.3.1
[INFO] [stderr]   Downloaded serde v1.0.196
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.17
[INFO] [stderr]   Downloaded bumpalo v3.15.3
[INFO] [stderr]   Downloaded rand v0.9.0
[INFO] [stderr]   Downloaded wasi v0.13.3+wasi-0.2.2
[INFO] [stderr]   Downloaded zerocopy v0.8.17
[INFO] [stderr]   Downloaded serde_derive v1.0.196
[INFO] [stderr]   Downloaded syn v2.0.48
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dcef169133f8982c7886c358a951044dd8690fd3c3ebb43b115b3075ac8a4d78
[INFO] running `Command { std: "docker" "start" "-a" "dcef169133f8982c7886c358a951044dd8690fd3c3ebb43b115b3075ac8a4d78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dcef169133f8982c7886c358a951044dd8690fd3c3ebb43b115b3075ac8a4d78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dcef169133f8982c7886c358a951044dd8690fd3c3ebb43b115b3075ac8a4d78", kill_on_drop: false }`
[INFO] [stdout] dcef169133f8982c7886c358a951044dd8690fd3c3ebb43b115b3075ac8a4d78
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6cb439bdd36097e80e0a4a26cdefa7226795de9adf15990d398ff4b51db6a81a
[INFO] running `Command { std: "docker" "start" "-a" "6cb439bdd36097e80e0a4a26cdefa7226795de9adf15990d398ff4b51db6a81a", 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 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]    |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entries`
[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]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_size`
[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]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_size`
[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]    |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |                                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_size`
[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]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[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]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[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]    |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sequence`
[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]    |                                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_value_type`
[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]    |                                         ^^^^^ 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: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]    |                                         ^^^^^ 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: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]   |                                ^^^ help: if this is intentional, prefix it with an underscore: `_crc`
[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]   |                 ^^^ help: if this is intentional, prefix it with an underscore: `_crc`
[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]    |                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_capacity`
[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 14.25s
[INFO] running `Command { std: "docker" "inspect" "6cb439bdd36097e80e0a4a26cdefa7226795de9adf15990d398ff4b51db6a81a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6cb439bdd36097e80e0a4a26cdefa7226795de9adf15990d398ff4b51db6a81a", kill_on_drop: false }`
[INFO] [stdout] 6cb439bdd36097e80e0a4a26cdefa7226795de9adf15990d398ff4b51db6a81a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 78e385f35fc51d72de5dce24da38b1a3d40a8b851ef6024b76984f5717065402
[INFO] running `Command { std: "docker" "start" "-a" "78e385f35fc51d72de5dce24da38b1a3d40a8b851ef6024b76984f5717065402", 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]    |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entries`
[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]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_size`
[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]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_size`
[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]    |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |                                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_size`
[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]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[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]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[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]    |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sequence`
[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]    |                                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_value_type`
[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]    |                                         ^^^^^ 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: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]    |                                         ^^^^^ 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: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]   |                                ^^^ help: if this is intentional, prefix it with an underscore: `_crc`
[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]   |                 ^^^ help: if this is intentional, prefix it with an underscore: `_crc`
[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]    |                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_capacity`
[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] [stderr]    Compiling leveldb-rs v0.1.0 (/opt/rustwide/workdir)
[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] [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]    |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entries`
[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]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_size`
[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]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_size`
[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]    |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |                                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_size`
[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]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[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]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[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]    |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sequence`
[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]    |                                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_value_type`
[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]    |                                         ^^^^^ 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: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]    |                                         ^^^^^ 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: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]   |                                ^^^ help: if this is intentional, prefix it with an underscore: `_crc`
[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]   |                 ^^^ help: if this is intentional, prefix it with an underscore: `_crc`
[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]    |                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_capacity`
[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.81s
[INFO] running `Command { std: "docker" "inspect" "78e385f35fc51d72de5dce24da38b1a3d40a8b851ef6024b76984f5717065402", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "78e385f35fc51d72de5dce24da38b1a3d40a8b851ef6024b76984f5717065402", kill_on_drop: false }`
[INFO] [stdout] 78e385f35fc51d72de5dce24da38b1a3d40a8b851ef6024b76984f5717065402
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 68d1d5103b96171721a631b1b7b6210988a6044931b7142e7595f010f21f3fb4
[INFO] running `Command { std: "docker" "start" "-a" "68d1d5103b96171721a631b1b7b6210988a6044931b7142e7595f010f21f3fb4", 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]    |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entries`
[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]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_size`
[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]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_size`
[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]    |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_number`
[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]    |                                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_size`
[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]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[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]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[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]    |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sequence`
[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]    |                                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_value_type`
[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]    |                                         ^^^^^ 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: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]    |                                         ^^^^^ 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: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]   |                                ^^^ help: if this is intentional, prefix it with an underscore: `_crc`
[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]   |                 ^^^ help: if this is intentional, prefix it with an underscore: `_crc`
[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]    |                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_capacity`
[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] [stderr] 11 |     impl<'a> KeyComparator<'a> {
[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] [stderr]   |            ^^^^^^^^^^
[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: 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 103 suggestions)
[INFO] [stderr] warning: `leveldb-rs` (lib test) generated 240 warnings (238 duplicates) (run `cargo fix --lib -p leveldb-rs --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/leveldb_rs-1099476ff95ef3c1)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test common::slice::test::test_slice ... ok
[INFO] [stdout] test util::hash::tests::test_hash ... ok
[INFO] [stdout] test util::random::test::test_one_in ... FAILED
[INFO] [stdout] test util::random::test::test_skew ... FAILED
[INFO] [stdout] test util::random::test::test_uniform ... 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' (19) panicked at src/util/random.rs:52:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x642a1dd7b972 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x642a1dd7b972 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x642a1dd7b972 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x642a1dd7b972 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x642a1dd901aa - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x642a1dd901aa - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x642a1dd80776 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x642a1dd80776 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x642a1dd5a10f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x642a1dd5a10f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x642a1dd73c59 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x642a1dd0ab3e - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x642a1dd0ab3e - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x642a1dd73e12 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x642a1dd73e12 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x642a1dd5a1fa - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x642a1dd4f449 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x642a1dd5b01d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x642a1dd9087c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x642a1dd90842 - core[27de1724e4349be2]::panicking::panic
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x642a1dcfe38a - leveldb_rs[34b0fcf77460db69]::util::random::test::test_one_in
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:52:9
[INFO] [stdout]   21:     0x642a1dcfd967 - leveldb_rs[34b0fcf77460db69]::util::random::test::test_one_in::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:51:21
[INFO] [stdout]   22:     0x642a1dcfed16 - <leveldb_rs[34b0fcf77460db69]::util::random::test::test_one_in::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x642a1dcfeeeb - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x642a1dcfeeeb - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x642a1dd0b74a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x642a1dd0b74a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x642a1dd0b74a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x642a1dd0b74a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x642a1dd0b74a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x642a1dd0b74a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x642a1dd0b74a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x642a1dd06cf4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x642a1dd06cf4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x642a1dd0e242 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x642a1dd0e242 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x642a1dd0e242 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x642a1dd0e242 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x642a1dd0e242 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x642a1dd0e242 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x642a1dd0e242 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x642a1dd7b21f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   42:     0x642a1dd7b21f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   43:     0x764872979aa4 - <unknown>
[INFO] [stdout]   44:     0x764872a06a64 - 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' (21) panicked at src/util/random.rs:57:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x642a1dd7b972 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x642a1dd7b972 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x642a1dd7b972 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x642a1dd7b972 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x642a1dd901aa - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x642a1dd901aa - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x642a1dd80776 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x642a1dd80776 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x642a1dd5a10f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x642a1dd5a10f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x642a1dd73c59 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x642a1dd0ab3e - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x642a1dd0ab3e - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x642a1dd73e12 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x642a1dd73e12 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x642a1dd5a1fa - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x642a1dd4f449 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x642a1dd5b01d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x642a1dd9087c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x642a1dd90842 - core[27de1724e4349be2]::panicking::panic
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x642a1dcfe3ea - leveldb_rs[34b0fcf77460db69]::util::random::test::test_skew
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:57:9
[INFO] [stdout]   21:     0x642a1dcfd9f7 - leveldb_rs[34b0fcf77460db69]::util::random::test::test_skew::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:56:19
[INFO] [stdout]   22:     0x642a1dcfedd6 - <leveldb_rs[34b0fcf77460db69]::util::random::test::test_skew::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x642a1dcfeeeb - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x642a1dcfeeeb - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x642a1dd0b74a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x642a1dd0b74a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x642a1dd0b74a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x642a1dd0b74a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x642a1dd0b74a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x642a1dd0b74a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x642a1dd0b74a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x642a1dd06cf4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x642a1dd06cf4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x642a1dd0e242 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x642a1dd0e242 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x642a1dd0e242 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x642a1dd0e242 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x642a1dd0e242 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x642a1dd0e242 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x642a1dd0e242 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x642a1dd7b21f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   42:     0x642a1dd7b21f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   43:     0x764872979aa4 - <unknown>
[INFO] [stdout]   44:     0x764872a06a64 - 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' (22) panicked at src/util/random.rs:47:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x642a1dd7b972 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x642a1dd7b972 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x642a1dd7b972 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x642a1dd7b972 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x642a1dd901aa - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x642a1dd901aa - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x642a1dd80776 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x642a1dd80776 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x642a1dd5a10f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x642a1dd5a10f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x642a1dd73c59 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x642a1dd0ab3e - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x642a1dd0ab3e - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x642a1dd73e12 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x642a1dd73e12 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x642a1dd5a1fa - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x642a1dd4f449 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x642a1dd5b01d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x642a1dd9087c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x642a1dd90842 - core[27de1724e4349be2]::panicking::panic
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x642a1dcfe3ca - leveldb_rs[34b0fcf77460db69]::util::random::test::test_uniform
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:47:9
[INFO] [stdout]   21:     0x642a1dcfd9c7 - leveldb_rs[34b0fcf77460db69]::util::random::test::test_uniform::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:46:22
[INFO] [stdout]   22:     0x642a1dcfed96 - <leveldb_rs[34b0fcf77460db69]::util::random::test::test_uniform::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x642a1dcfeeeb - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x642a1dcfeeeb - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x642a1dd0b74a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x642a1dd0b74a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x642a1dd0b74a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x642a1dd0b74a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x642a1dd0b74a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x642a1dd0b74a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x642a1dd0b74a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x642a1dd06cf4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x642a1dd06cf4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x642a1dd0e242 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x642a1dd0e242 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x642a1dd0e242 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x642a1dd0e242 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x642a1dd0e242 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x642a1dd0e242 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x642a1dd0e242 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x642a1dd7b21f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   42:     0x642a1dd7b21f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   43:     0x764872979aa4 - <unknown>
[INFO] [stdout]   44:     0x764872a06a64 - 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' (20) panicked at src/util/random.rs:42:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x642a1dd7b972 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x642a1dd7b972 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x642a1dd7b972 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x642a1dd7b972 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x642a1dd901aa - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x642a1dd901aa - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x642a1dd80776 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x642a1dd80776 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x642a1dd5a10f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x642a1dd5a10f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x642a1dd73c59 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x642a1dd0ab3e - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x642a1dd0ab3e - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x642a1dd73e12 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x642a1dd73e12 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x642a1dd5a1fa - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x642a1dd4f449 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x642a1dd5b01d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x642a1dd9087c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x642a1dd90842 - core[27de1724e4349be2]::panicking::panic
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x642a1dcfe3aa - leveldb_rs[34b0fcf77460db69]::util::random::test::test_random
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:42:9
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout]   21:     0x642a1dcfd997 - leveldb_rs[34b0fcf77460db69]::util::random::test::test_random::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:41:21
[INFO] [stdout]   22:     0x642a1dcfed56 - <leveldb_rs[34b0fcf77460db69]::util::random::test::test_random::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x642a1dcfeeeb - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x642a1dcfeeeb - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x642a1dd0b74a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x642a1dd0b74a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x642a1dd0b74a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x642a1dd0b74a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x642a1dd0b74a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x642a1dd0b74a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x642a1dd0b74a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x642a1dd06cf4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x642a1dd06cf4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x642a1dd0e242 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x642a1dd0e242 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x642a1dd0e242 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x642a1dd0e242 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x642a1dd0e242 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x642a1dd0e242 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x642a1dd0e242 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x642a1dd7b21f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   42:     0x642a1dd7b21f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   43:     0x764872979aa4 - <unknown>
[INFO] [stdout]   44:     0x764872a06a64 - 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.08s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "68d1d5103b96171721a631b1b7b6210988a6044931b7142e7595f010f21f3fb4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68d1d5103b96171721a631b1b7b6210988a6044931b7142e7595f010f21f3fb4", kill_on_drop: false }`
[INFO] [stdout] 68d1d5103b96171721a631b1b7b6210988a6044931b7142e7595f010f21f3fb4
