[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] 3eaeb57b7e8f4db53015ccc1d8048cd69bc54fad
[INFO] testing jzwdsb/leveldb-rs against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[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] validating manifest of git repo https://github.com/jzwdsb/leveldb-rs on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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] 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" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 064c0688503e5062985137ed3c568b788c50ee35aabaa6f52a29cde273edcd58
[INFO] running `Command { std: "docker" "start" "-a" "064c0688503e5062985137ed3c568b788c50ee35aabaa6f52a29cde273edcd58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "064c0688503e5062985137ed3c568b788c50ee35aabaa6f52a29cde273edcd58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "064c0688503e5062985137ed3c568b788c50ee35aabaa6f52a29cde273edcd58", kill_on_drop: false }`
[INFO] [stdout] 064c0688503e5062985137ed3c568b788c50ee35aabaa6f52a29cde273edcd58
[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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ae342ea83cbf79189a070a94c9f05fec8cbeb8d6ac5eeab353e7d20c0771a5f1
[INFO] running `Command { std: "docker" "start" "-a" "ae342ea83cbf79189a070a94c9f05fec8cbeb8d6ac5eeab353e7d20c0771a5f1", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.196
[INFO] [stderr]    Compiling bytes v1.5.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)]` 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: unused import: `mutex::*`
[INFO] [stdout]  --> src/port/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use mutex::*;
[INFO] [stdout]   |         ^^^^^^^^
[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:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use logging::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random::*`
[INFO] [stdout]   --> src/util/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use random::*;
[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)]` 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: `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: `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: `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: `dest`
[INFO] [stdout]  --> src/util/logging.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn append_number_to(dest: &mut String, num: u64) {
[INFO] [stdout]   |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_dest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]  --> src/util/logging.rs:3:44
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn append_number_to(dest: &mut String, num: u64) {
[INFO] [stdout]   |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dest`
[INFO] [stdout]  --> src/util/logging.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn append_escaped_string_to(dest: &mut String, src: &Slice) {
[INFO] [stdout]   |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_dest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]  --> src/util/logging.rs:7:52
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn append_escaped_string_to(dest: &mut String, src: &Slice) {
[INFO] [stdout]   |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]   --> src/util/logging.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn number_to_string(num: u64) -> String {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/logging.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn escape_string(src: &Slice) -> String {
[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/logging.rs:19:32
[INFO] [stdout]    |
[INFO] [stdout] 19 | 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: 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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert`, `lookup`, `release`, `erase`, `new_id`, and `prune` are never used
[INFO] [stdout]   --> src/common/mod.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait Cache {
[INFO] [stdout]    |           ----- methods in this trait
[INFO] [stdout] 21 |     fn insert(&mut self, key: &Slice, value: &Slice) -> Box<dyn Handle>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 22 |     fn lookup(&mut self, key: &Slice) -> Option<Box<dyn Handle>>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 23 |     fn release(&mut self, entry: Box<dyn Handle>);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 24 |     fn erase(&mut self, key: &Slice);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 25 |     fn new_id(&mut self) -> u64;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 26 |     fn prune(&mut self);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name`, `create_filter`, and `key_may_match` are never used
[INFO] [stdout]   --> src/common/mod.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub trait FilterPolicy {
[INFO] [stdout]    |           ------------ methods in this trait
[INFO] [stdout] 30 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 31 |     fn create_filter(&self, keys: &[Slice]) -> Slice;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 32 |     fn key_may_match(&self, key: &Slice, filter: &Slice) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `compare`, `name`, `find_shortest_separator`, and `find_short_successor` are never used
[INFO] [stdout]   --> src/common/mod.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub trait Comparator {
[INFO] [stdout]    |           ---------- methods in this trait
[INFO] [stdout] 36 |     fn compare(&self, a: &Slice, b: &Slice) -> Ordering;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 37 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 38 |     fn find_shortest_separator(&self, start: &mut Slice, limit: &Slice);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     fn find_short_successor(&self, key: &mut Slice);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/common/mod.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub trait Env {
[INFO] [stdout]    |           --- methods in this trait
[INFO] [stdout] 43 |     fn new_sequential_file(&self, fname: &str, dest: &mut Box<dyn SequentialFile>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     fn new_random_access_file(&self, fname: &str, dest: &mut Box<dyn RandomAccessFile>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     fn new_writeable_file(&self, fname: &str, dest: &mut Box<dyn WritableFile>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     fn new_appendable_file(&self, fname: &str, dest: &mut Box<dyn WritableFile>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |
[INFO] [stdout] 48 |     fn file_exists(&self, fname: &str) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 49 |     fn get_children(&self, dir: &str) -> Result<Vec<String>, Status>;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 50 |     fn remove_file(&self, fname: &str) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 51 |     #[deprecated]
[INFO] [stdout] 52 |     fn delete_file(&self, fname: &str) -> Status {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn create_dir(&self, dirname: &str) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 57 |     fn remove_dir(&self, dirname: &str) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 58 |     #[deprecated]
[INFO] [stdout] 59 |     fn delete_dir(&self, dirname: &str) -> Status {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     fn get_file_size(&self, fname: &str) -> Result<usize, Status>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 63 |     fn rename_file(&self, src: &str, target: &str) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 64 |
[INFO] [stdout] 65 |     fn lock_file(&self, fname: &str, lock: &mut Box<dyn FileLock>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 66 |     fn unlock_file(&self, lock: &mut Box<dyn FileLock>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 67 |
[INFO] [stdout] 68 |     fn schedule(&self, f: Box<dyn FnOnce() + Send>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 69 |     fn start_thread(&self, name: &str, f: Box<dyn FnOnce() + Send>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 70 |
[INFO] [stdout] 71 |     fn get_test_directory(&self) -> String;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 72 |
[INFO] [stdout] 73 |     fn now_micros(&self) -> u64;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 74 |     fn sleep_for_microseconds(&self, micros: u64);
[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: method `log` is never used
[INFO] [stdout]   --> src/common/mod.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub trait Logger {
[INFO] [stdout]    |           ------ method in this trait
[INFO] [stdout] 94 |     fn log(&mut self, msg: &str);
[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: fields `start` and `limit` are never read
[INFO] [stdout]    --> src/common/mod.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct Range {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 102 |     pub start: Slice,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 103 |     pub limit: Slice,
[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: multiple methods are never used
[INFO] [stdout]    --> src/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait Iter {
[INFO] [stdout]     |           ---- methods in this trait
[INFO] [stdout] 111 |     fn seek_to_first(&mut self);
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 112 |     fn seek_to_last(&mut self);
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 113 |     fn seek(&mut self, target: &Slice);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 114 |     fn next(&mut self);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 115 |     fn prev(&mut self);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 116 |     fn valid(&self) -> bool;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 117 |     fn key(&self) -> &Slice;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 118 |     fn value(&self) -> &Slice;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 119 |     fn status(&mut self) -> Status;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/common/mod.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub trait DB {
[INFO] [stdout]     |           -- associated items in this trait
[INFO] [stdout] 123 |     fn open(options: &Options, name: &str, db: &mut Self) -> Status;
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 124 |
[INFO] [stdout] 125 |     fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 126 |     fn delete(&mut self, options: &WriteOptions, key: &Slice) -> Status;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 127 |     fn write(&mut self, options: &WriteOptions, updates: &mut WriteBatch) -> Status;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 128 |
[INFO] [stdout] 129 |     fn get(&mut self, options: &ReadOptions, key: &Slice) -> Result<Slice, Status>;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 130 |     fn new_iterator(&mut self, options: &ReadOptions) -> Box<dyn Iter>;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 131 |
[INFO] [stdout] 132 |     fn get_snapshot(&mut self) -> Box<dyn Snapshot>;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 133 |
[INFO] [stdout] 134 |     fn get_property(&mut self, propname: &Slice) -> Option<String>;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 135 |
[INFO] [stdout] 136 |     fn get_approximate_sizes(&mut self, ranges: &Range, n: i64) -> Vec<u64>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 |
[INFO] [stdout] 138 |     fn compact_range(&mut self, start: &Slice, end: &Slice);
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 139 |
[INFO] [stdout] 140 |     fn destory_db(options: &Options, name: &str) -> Status;
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 141 |
[INFO] [stdout] 142 |     fn repair_db(options: &Options, name: &str) -> Status;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Ok`, `NotFound`, `Corruption`, `NotSupported`, `InvalidArgument`, and `IOError` are never constructed
[INFO] [stdout]  --> src/common/code.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Status {
[INFO] [stdout]   |          ------ variants in this enum
[INFO] [stdout] 4 |     Ok,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 5 |     NotFound(Slice),
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 6 |     Corruption(Slice),
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 7 |     NotSupported(Slice),
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 8 |     InvalidArgument(Slice),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     IOError,
[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: multiple fields are never read
[INFO] [stdout]   --> src/common/options.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Options {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 10 |     pub create_if_missing: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub error_if_exists: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub paranoid_checks: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub env: Option<Box<dyn Env>>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 14 |     pub comparator: Option<Box<dyn Comparator>>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub cache: Option<Box<dyn Cache>>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 16 |     pub filter_policy: Option<Box<dyn FilterPolicy>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub logger: Option<Box<dyn Logger>>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `verify_checksums`, `fill_cache`, and `snapshot` are never read
[INFO] [stdout]   --> src/common/options.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct ReadOptions {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 36 |     pub verify_checksums: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub fill_cache: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 38 |     pub snapshot: Option<Box<dyn Snapshot>>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sync` is never read
[INFO] [stdout]   --> src/common/options.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct WriteOptions {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 42 |     pub sync: bool,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `req` is never read
[INFO] [stdout]   --> src/common/options.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct WriteBatch {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 46 |     req: String,
[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` and `start_with` 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] 32 |     pub fn start_with(&self, prefix: &Self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `dbname`, `options`, and `env` are never read
[INFO] [stdout]  --> src/common/table_cache.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TableCache {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 4 |     cache: Box<dyn Cache>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 5 |     dbname: String,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 6 |     options: Options,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 7 |     env: Box<dyn Env>,
[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: variant `KTypeDeletion` is never constructed
[INFO] [stdout]   --> src/db/db_format.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     enum ValueType {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 20 |         KTypeDeletion = 0x0,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ValueType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[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: 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: fields `user_key`, `sequence`, and `value_type` are never read
[INFO] [stdout]   --> src/db/db_format.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     struct ParsedInternalKey {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 34 |         user_key: Slice,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 35 |         sequence: SequenceNumber,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 36 |         value_type: ValueType,
[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:12
[INFO] [stdout]    |
[INFO] [stdout] 81 |     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: field `rep` is never read
[INFO] [stdout]    --> src/db/db_format.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     struct InternalKey {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 142 |         rep: Slice,
[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: 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: multiple fields are never read
[INFO] [stdout]   --> src/db/db_impl.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub struct DBImpl {
[INFO] [stdout]    |                ------ fields in this struct
[INFO] [stdout] 22 |         env: Box<dyn Env>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 23 |         internal_comparator: Box<dyn Comparator>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |         options: Options,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 25 |         owns_info_log: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 26 |         owns_cache: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 27 |         dbname: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 28 |         table_cache: TableCache,
[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: field `db` is never read
[INFO] [stdout]   --> src/db/db_iter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct DBIter<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 11 |     db: &'a DBImpl,
[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: 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]    = note: `Mutex` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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: 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: 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:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct EnvPosix {}
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/env.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl EnvPosix {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 16 |     fn new() -> EnvPosix {
[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 `number_to_string` is never used
[INFO] [stdout]   --> src/util/logging.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn number_to_string(num: u64) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `escape_string` is never used
[INFO] [stdout]   --> src/util/logging.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | 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:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | 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: 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)]` 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: 160 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.13s
[INFO] running `Command { std: "docker" "inspect" "ae342ea83cbf79189a070a94c9f05fec8cbeb8d6ac5eeab353e7d20c0771a5f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae342ea83cbf79189a070a94c9f05fec8cbeb8d6ac5eeab353e7d20c0771a5f1", kill_on_drop: false }`
[INFO] [stdout] ae342ea83cbf79189a070a94c9f05fec8cbeb8d6ac5eeab353e7d20c0771a5f1
[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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 79ec094f3b6d4ce16f7a2bb31f104a15ccb5be05af1fcd301016c6276977f6b3
[INFO] running `Command { std: "docker" "start" "-a" "79ec094f3b6d4ce16f7a2bb31f104a15ccb5be05af1fcd301016c6276977f6b3", 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)]` 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: unused import: `mutex::*`
[INFO] [stdout]  --> src/port/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use mutex::*;
[INFO] [stdout]   |         ^^^^^^^^
[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:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use logging::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random::*`
[INFO] [stdout]   --> src/util/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use random::*;
[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)]` 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: `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: `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: `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: `dest`
[INFO] [stdout]  --> src/util/logging.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn append_number_to(dest: &mut String, num: u64) {
[INFO] [stdout]   |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_dest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]  --> src/util/logging.rs:3:44
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn append_number_to(dest: &mut String, num: u64) {
[INFO] [stdout]   |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dest`
[INFO] [stdout]  --> src/util/logging.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn append_escaped_string_to(dest: &mut String, src: &Slice) {
[INFO] [stdout]   |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_dest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]  --> src/util/logging.rs:7:52
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn append_escaped_string_to(dest: &mut String, src: &Slice) {
[INFO] [stdout]   |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]   --> src/util/logging.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn number_to_string(num: u64) -> String {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/logging.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn escape_string(src: &Slice) -> String {
[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/logging.rs:19:32
[INFO] [stdout]    |
[INFO] [stdout] 19 | 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: 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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert`, `lookup`, `release`, `erase`, `new_id`, and `prune` are never used
[INFO] [stdout]   --> src/common/mod.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait Cache {
[INFO] [stdout]    |           ----- methods in this trait
[INFO] [stdout] 21 |     fn insert(&mut self, key: &Slice, value: &Slice) -> Box<dyn Handle>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 22 |     fn lookup(&mut self, key: &Slice) -> Option<Box<dyn Handle>>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 23 |     fn release(&mut self, entry: Box<dyn Handle>);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 24 |     fn erase(&mut self, key: &Slice);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 25 |     fn new_id(&mut self) -> u64;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 26 |     fn prune(&mut self);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name`, `create_filter`, and `key_may_match` are never used
[INFO] [stdout]   --> src/common/mod.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub trait FilterPolicy {
[INFO] [stdout]    |           ------------ methods in this trait
[INFO] [stdout] 30 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 31 |     fn create_filter(&self, keys: &[Slice]) -> Slice;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 32 |     fn key_may_match(&self, key: &Slice, filter: &Slice) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `compare`, `name`, `find_shortest_separator`, and `find_short_successor` are never used
[INFO] [stdout]   --> src/common/mod.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub trait Comparator {
[INFO] [stdout]    |           ---------- methods in this trait
[INFO] [stdout] 36 |     fn compare(&self, a: &Slice, b: &Slice) -> Ordering;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 37 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 38 |     fn find_shortest_separator(&self, start: &mut Slice, limit: &Slice);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     fn find_short_successor(&self, key: &mut Slice);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/common/mod.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub trait Env {
[INFO] [stdout]    |           --- methods in this trait
[INFO] [stdout] 43 |     fn new_sequential_file(&self, fname: &str, dest: &mut Box<dyn SequentialFile>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     fn new_random_access_file(&self, fname: &str, dest: &mut Box<dyn RandomAccessFile>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     fn new_writeable_file(&self, fname: &str, dest: &mut Box<dyn WritableFile>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     fn new_appendable_file(&self, fname: &str, dest: &mut Box<dyn WritableFile>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |
[INFO] [stdout] 48 |     fn file_exists(&self, fname: &str) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 49 |     fn get_children(&self, dir: &str) -> Result<Vec<String>, Status>;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 50 |     fn remove_file(&self, fname: &str) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 51 |     #[deprecated]
[INFO] [stdout] 52 |     fn delete_file(&self, fname: &str) -> Status {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn create_dir(&self, dirname: &str) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 57 |     fn remove_dir(&self, dirname: &str) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 58 |     #[deprecated]
[INFO] [stdout] 59 |     fn delete_dir(&self, dirname: &str) -> Status {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     fn get_file_size(&self, fname: &str) -> Result<usize, Status>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 63 |     fn rename_file(&self, src: &str, target: &str) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 64 |
[INFO] [stdout] 65 |     fn lock_file(&self, fname: &str, lock: &mut Box<dyn FileLock>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 66 |     fn unlock_file(&self, lock: &mut Box<dyn FileLock>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 67 |
[INFO] [stdout] 68 |     fn schedule(&self, f: Box<dyn FnOnce() + Send>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 69 |     fn start_thread(&self, name: &str, f: Box<dyn FnOnce() + Send>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 70 |
[INFO] [stdout] 71 |     fn get_test_directory(&self) -> String;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 72 |
[INFO] [stdout] 73 |     fn now_micros(&self) -> u64;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 74 |     fn sleep_for_microseconds(&self, micros: u64);
[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: method `log` is never used
[INFO] [stdout]   --> src/common/mod.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub trait Logger {
[INFO] [stdout]    |           ------ method in this trait
[INFO] [stdout] 94 |     fn log(&mut self, msg: &str);
[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: fields `start` and `limit` are never read
[INFO] [stdout]    --> src/common/mod.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct Range {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 102 |     pub start: Slice,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 103 |     pub limit: Slice,
[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: multiple methods are never used
[INFO] [stdout]    --> src/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait Iter {
[INFO] [stdout]     |           ---- methods in this trait
[INFO] [stdout] 111 |     fn seek_to_first(&mut self);
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 112 |     fn seek_to_last(&mut self);
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 113 |     fn seek(&mut self, target: &Slice);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 114 |     fn next(&mut self);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 115 |     fn prev(&mut self);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 116 |     fn valid(&self) -> bool;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 117 |     fn key(&self) -> &Slice;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 118 |     fn value(&self) -> &Slice;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 119 |     fn status(&mut self) -> Status;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/common/mod.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub trait DB {
[INFO] [stdout]     |           -- associated items in this trait
[INFO] [stdout] 123 |     fn open(options: &Options, name: &str, db: &mut Self) -> Status;
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 124 |
[INFO] [stdout] 125 |     fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 126 |     fn delete(&mut self, options: &WriteOptions, key: &Slice) -> Status;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 127 |     fn write(&mut self, options: &WriteOptions, updates: &mut WriteBatch) -> Status;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 128 |
[INFO] [stdout] 129 |     fn get(&mut self, options: &ReadOptions, key: &Slice) -> Result<Slice, Status>;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 130 |     fn new_iterator(&mut self, options: &ReadOptions) -> Box<dyn Iter>;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 131 |
[INFO] [stdout] 132 |     fn get_snapshot(&mut self) -> Box<dyn Snapshot>;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 133 |
[INFO] [stdout] 134 |     fn get_property(&mut self, propname: &Slice) -> Option<String>;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 135 |
[INFO] [stdout] 136 |     fn get_approximate_sizes(&mut self, ranges: &Range, n: i64) -> Vec<u64>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 |
[INFO] [stdout] 138 |     fn compact_range(&mut self, start: &Slice, end: &Slice);
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 139 |
[INFO] [stdout] 140 |     fn destory_db(options: &Options, name: &str) -> Status;
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 141 |
[INFO] [stdout] 142 |     fn repair_db(options: &Options, name: &str) -> Status;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Ok`, `NotFound`, `Corruption`, `NotSupported`, `InvalidArgument`, and `IOError` are never constructed
[INFO] [stdout]  --> src/common/code.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Status {
[INFO] [stdout]   |          ------ variants in this enum
[INFO] [stdout] 4 |     Ok,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 5 |     NotFound(Slice),
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 6 |     Corruption(Slice),
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 7 |     NotSupported(Slice),
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 8 |     InvalidArgument(Slice),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     IOError,
[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: multiple fields are never read
[INFO] [stdout]   --> src/common/options.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Options {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 10 |     pub create_if_missing: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub error_if_exists: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub paranoid_checks: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub env: Option<Box<dyn Env>>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 14 |     pub comparator: Option<Box<dyn Comparator>>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub cache: Option<Box<dyn Cache>>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 16 |     pub filter_policy: Option<Box<dyn FilterPolicy>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub logger: Option<Box<dyn Logger>>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `verify_checksums`, `fill_cache`, and `snapshot` are never read
[INFO] [stdout]   --> src/common/options.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct ReadOptions {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 36 |     pub verify_checksums: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub fill_cache: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 38 |     pub snapshot: Option<Box<dyn Snapshot>>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sync` is never read
[INFO] [stdout]   --> src/common/options.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct WriteOptions {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 42 |     pub sync: bool,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `req` is never read
[INFO] [stdout]   --> src/common/options.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct WriteBatch {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 46 |     req: String,
[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` and `start_with` 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] 32 |     pub fn start_with(&self, prefix: &Self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `dbname`, `options`, and `env` are never read
[INFO] [stdout]  --> src/common/table_cache.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TableCache {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 4 |     cache: Box<dyn Cache>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 5 |     dbname: String,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 6 |     options: Options,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 7 |     env: Box<dyn Env>,
[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: variant `KTypeDeletion` is never constructed
[INFO] [stdout]   --> src/db/db_format.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     enum ValueType {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 20 |         KTypeDeletion = 0x0,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ValueType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[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: 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: fields `user_key`, `sequence`, and `value_type` are never read
[INFO] [stdout]   --> src/db/db_format.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     struct ParsedInternalKey {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 34 |         user_key: Slice,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 35 |         sequence: SequenceNumber,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 36 |         value_type: ValueType,
[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:12
[INFO] [stdout]    |
[INFO] [stdout] 81 |     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: field `rep` is never read
[INFO] [stdout]    --> src/db/db_format.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     struct InternalKey {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 142 |         rep: Slice,
[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: 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: multiple fields are never read
[INFO] [stdout]   --> src/db/db_impl.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub struct DBImpl {
[INFO] [stdout]    |                ------ fields in this struct
[INFO] [stdout] 22 |         env: Box<dyn Env>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 23 |         internal_comparator: Box<dyn Comparator>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |         options: Options,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 25 |         owns_info_log: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 26 |         owns_cache: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 27 |         dbname: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 28 |         table_cache: TableCache,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling leveldb-rs v0.1.0 (/opt/rustwide/workdir)
[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: field `db` is never read
[INFO] [stdout]   --> src/db/db_iter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct DBIter<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 11 |     db: &'a DBImpl,
[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: 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]    = note: `Mutex` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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: 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: 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:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct EnvPosix {}
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/env.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl EnvPosix {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 16 |     fn new() -> EnvPosix {
[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 `number_to_string` is never used
[INFO] [stdout]   --> src/util/logging.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn number_to_string(num: u64) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `escape_string` is never used
[INFO] [stdout]   --> src/util/logging.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | 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:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | 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: 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)]` 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: 160 warnings emitted
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mutex::*`
[INFO] [stdout]  --> src/port/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use mutex::*;
[INFO] [stdout]   |         ^^^^^^^^
[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:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use logging::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random::*`
[INFO] [stdout]   --> src/util/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use random::*;
[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)]` 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: `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: `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: `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: `dest`
[INFO] [stdout]  --> src/util/logging.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn append_number_to(dest: &mut String, num: u64) {
[INFO] [stdout]   |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_dest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]  --> src/util/logging.rs:3:44
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn append_number_to(dest: &mut String, num: u64) {
[INFO] [stdout]   |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dest`
[INFO] [stdout]  --> src/util/logging.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn append_escaped_string_to(dest: &mut String, src: &Slice) {
[INFO] [stdout]   |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_dest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]  --> src/util/logging.rs:7:52
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn append_escaped_string_to(dest: &mut String, src: &Slice) {
[INFO] [stdout]   |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]   --> src/util/logging.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn number_to_string(num: u64) -> String {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/util/logging.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn escape_string(src: &Slice) -> String {
[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/logging.rs:19:32
[INFO] [stdout]    |
[INFO] [stdout] 19 | 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: 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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert`, `lookup`, `release`, `erase`, `new_id`, and `prune` are never used
[INFO] [stdout]   --> src/common/mod.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait Cache {
[INFO] [stdout]    |           ----- methods in this trait
[INFO] [stdout] 21 |     fn insert(&mut self, key: &Slice, value: &Slice) -> Box<dyn Handle>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 22 |     fn lookup(&mut self, key: &Slice) -> Option<Box<dyn Handle>>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 23 |     fn release(&mut self, entry: Box<dyn Handle>);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 24 |     fn erase(&mut self, key: &Slice);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 25 |     fn new_id(&mut self) -> u64;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 26 |     fn prune(&mut self);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name`, `create_filter`, and `key_may_match` are never used
[INFO] [stdout]   --> src/common/mod.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub trait FilterPolicy {
[INFO] [stdout]    |           ------------ methods in this trait
[INFO] [stdout] 30 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 31 |     fn create_filter(&self, keys: &[Slice]) -> Slice;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 32 |     fn key_may_match(&self, key: &Slice, filter: &Slice) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `compare`, `name`, `find_shortest_separator`, and `find_short_successor` are never used
[INFO] [stdout]   --> src/common/mod.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub trait Comparator {
[INFO] [stdout]    |           ---------- methods in this trait
[INFO] [stdout] 36 |     fn compare(&self, a: &Slice, b: &Slice) -> Ordering;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 37 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 38 |     fn find_shortest_separator(&self, start: &mut Slice, limit: &Slice);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     fn find_short_successor(&self, key: &mut Slice);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/common/mod.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub trait Env {
[INFO] [stdout]    |           --- methods in this trait
[INFO] [stdout] 43 |     fn new_sequential_file(&self, fname: &str, dest: &mut Box<dyn SequentialFile>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     fn new_random_access_file(&self, fname: &str, dest: &mut Box<dyn RandomAccessFile>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     fn new_writeable_file(&self, fname: &str, dest: &mut Box<dyn WritableFile>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     fn new_appendable_file(&self, fname: &str, dest: &mut Box<dyn WritableFile>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |
[INFO] [stdout] 48 |     fn file_exists(&self, fname: &str) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 49 |     fn get_children(&self, dir: &str) -> Result<Vec<String>, Status>;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 50 |     fn remove_file(&self, fname: &str) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 51 |     #[deprecated]
[INFO] [stdout] 52 |     fn delete_file(&self, fname: &str) -> Status {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn create_dir(&self, dirname: &str) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 57 |     fn remove_dir(&self, dirname: &str) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 58 |     #[deprecated]
[INFO] [stdout] 59 |     fn delete_dir(&self, dirname: &str) -> Status {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     fn get_file_size(&self, fname: &str) -> Result<usize, Status>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 63 |     fn rename_file(&self, src: &str, target: &str) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 64 |
[INFO] [stdout] 65 |     fn lock_file(&self, fname: &str, lock: &mut Box<dyn FileLock>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 66 |     fn unlock_file(&self, lock: &mut Box<dyn FileLock>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 67 |
[INFO] [stdout] 68 |     fn schedule(&self, f: Box<dyn FnOnce() + Send>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 69 |     fn start_thread(&self, name: &str, f: Box<dyn FnOnce() + Send>) -> Status;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 70 |
[INFO] [stdout] 71 |     fn get_test_directory(&self) -> String;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 72 |
[INFO] [stdout] 73 |     fn now_micros(&self) -> u64;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 74 |     fn sleep_for_microseconds(&self, micros: u64);
[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: method `log` is never used
[INFO] [stdout]   --> src/common/mod.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub trait Logger {
[INFO] [stdout]    |           ------ method in this trait
[INFO] [stdout] 94 |     fn log(&mut self, msg: &str);
[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: fields `start` and `limit` are never read
[INFO] [stdout]    --> src/common/mod.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct Range {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 102 |     pub start: Slice,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 103 |     pub limit: Slice,
[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: multiple methods are never used
[INFO] [stdout]    --> src/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait Iter {
[INFO] [stdout]     |           ---- methods in this trait
[INFO] [stdout] 111 |     fn seek_to_first(&mut self);
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 112 |     fn seek_to_last(&mut self);
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 113 |     fn seek(&mut self, target: &Slice);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 114 |     fn next(&mut self);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 115 |     fn prev(&mut self);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 116 |     fn valid(&self) -> bool;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 117 |     fn key(&self) -> &Slice;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 118 |     fn value(&self) -> &Slice;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 119 |     fn status(&mut self) -> Status;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/common/mod.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub trait DB {
[INFO] [stdout]     |           -- associated items in this trait
[INFO] [stdout] 123 |     fn open(options: &Options, name: &str, db: &mut Self) -> Status;
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 124 |
[INFO] [stdout] 125 |     fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 126 |     fn delete(&mut self, options: &WriteOptions, key: &Slice) -> Status;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 127 |     fn write(&mut self, options: &WriteOptions, updates: &mut WriteBatch) -> Status;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 128 |
[INFO] [stdout] 129 |     fn get(&mut self, options: &ReadOptions, key: &Slice) -> Result<Slice, Status>;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 130 |     fn new_iterator(&mut self, options: &ReadOptions) -> Box<dyn Iter>;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 131 |
[INFO] [stdout] 132 |     fn get_snapshot(&mut self) -> Box<dyn Snapshot>;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 133 |
[INFO] [stdout] 134 |     fn get_property(&mut self, propname: &Slice) -> Option<String>;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 135 |
[INFO] [stdout] 136 |     fn get_approximate_sizes(&mut self, ranges: &Range, n: i64) -> Vec<u64>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 |
[INFO] [stdout] 138 |     fn compact_range(&mut self, start: &Slice, end: &Slice);
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 139 |
[INFO] [stdout] 140 |     fn destory_db(options: &Options, name: &str) -> Status;
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 141 |
[INFO] [stdout] 142 |     fn repair_db(options: &Options, name: &str) -> Status;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Ok`, `NotFound`, `Corruption`, `NotSupported`, `InvalidArgument`, and `IOError` are never constructed
[INFO] [stdout]  --> src/common/code.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Status {
[INFO] [stdout]   |          ------ variants in this enum
[INFO] [stdout] 4 |     Ok,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 5 |     NotFound(Slice),
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 6 |     Corruption(Slice),
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 7 |     NotSupported(Slice),
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 8 |     InvalidArgument(Slice),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     IOError,
[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: multiple fields are never read
[INFO] [stdout]   --> src/common/options.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Options {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 10 |     pub create_if_missing: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub error_if_exists: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub paranoid_checks: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub env: Option<Box<dyn Env>>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 14 |     pub comparator: Option<Box<dyn Comparator>>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub cache: Option<Box<dyn Cache>>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 16 |     pub filter_policy: Option<Box<dyn FilterPolicy>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub logger: Option<Box<dyn Logger>>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `verify_checksums`, `fill_cache`, and `snapshot` are never read
[INFO] [stdout]   --> src/common/options.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct ReadOptions {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 36 |     pub verify_checksums: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub fill_cache: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 38 |     pub snapshot: Option<Box<dyn Snapshot>>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sync` is never read
[INFO] [stdout]   --> src/common/options.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct WriteOptions {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 42 |     pub sync: bool,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `req` is never read
[INFO] [stdout]   --> src/common/options.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct WriteBatch {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 46 |     req: String,
[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` and `start_with` 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] 32 |     pub fn start_with(&self, prefix: &Self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `dbname`, `options`, and `env` are never read
[INFO] [stdout]  --> src/common/table_cache.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TableCache {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 4 |     cache: Box<dyn Cache>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 5 |     dbname: String,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 6 |     options: Options,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 7 |     env: Box<dyn Env>,
[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: variant `KTypeDeletion` is never constructed
[INFO] [stdout]   --> src/db/db_format.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     enum ValueType {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 20 |         KTypeDeletion = 0x0,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ValueType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[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: 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: fields `user_key`, `sequence`, and `value_type` are never read
[INFO] [stdout]   --> src/db/db_format.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     struct ParsedInternalKey {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 34 |         user_key: Slice,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 35 |         sequence: SequenceNumber,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 36 |         value_type: ValueType,
[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:12
[INFO] [stdout]    |
[INFO] [stdout] 81 |     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: field `rep` is never read
[INFO] [stdout]    --> src/db/db_format.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     struct InternalKey {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 142 |         rep: Slice,
[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: 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: multiple fields are never read
[INFO] [stdout]   --> src/db/db_impl.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub struct DBImpl {
[INFO] [stdout]    |                ------ fields in this struct
[INFO] [stdout] 22 |         env: Box<dyn Env>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 23 |         internal_comparator: Box<dyn Comparator>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |         options: Options,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 25 |         owns_info_log: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 26 |         owns_cache: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 27 |         dbname: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 28 |         table_cache: TableCache,
[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: field `db` is never read
[INFO] [stdout]   --> src/db/db_iter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct DBIter<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 11 |     db: &'a DBImpl,
[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: 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]    = note: `Mutex` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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: 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: 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:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct EnvPosix {}
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/env.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl EnvPosix {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 16 |     fn new() -> EnvPosix {
[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 `number_to_string` is never used
[INFO] [stdout]   --> src/util/logging.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn number_to_string(num: u64) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `escape_string` is never used
[INFO] [stdout]   --> src/util/logging.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | 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:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | 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: 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)]` 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: 159 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] running `Command { std: "docker" "inspect" "79ec094f3b6d4ce16f7a2bb31f104a15ccb5be05af1fcd301016c6276977f6b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "79ec094f3b6d4ce16f7a2bb31f104a15ccb5be05af1fcd301016c6276977f6b3", kill_on_drop: false }`
[INFO] [stdout] 79ec094f3b6d4ce16f7a2bb31f104a15ccb5be05af1fcd301016c6276977f6b3
[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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 26040653a542f0fb26c67f303e75187bfcdd3a9e5605a0a64b6876ee9213c749
[INFO] running `Command { std: "docker" "start" "-a" "26040653a542f0fb26c67f303e75187bfcdd3a9e5605a0a64b6876ee9213c749", 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)]` 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: unused import: `mutex::*`
[INFO] [stderr]  --> src/port/mod.rs:3:9
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub use mutex::*;
[INFO] [stderr]   |         ^^^^^^^^
[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:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub use logging::*;
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `random::*`
[INFO] [stderr]   --> src/util/mod.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub use random::*;
[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)]` 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: `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: `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: `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: `dest`
[INFO] [stderr]  --> src/util/logging.rs:3:25
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn append_number_to(dest: &mut String, num: u64) {
[INFO] [stderr]   |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_dest`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `num`
[INFO] [stderr]  --> src/util/logging.rs:3:44
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn append_number_to(dest: &mut String, num: u64) {
[INFO] [stderr]   |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dest`
[INFO] [stderr]  --> src/util/logging.rs:7:33
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn append_escaped_string_to(dest: &mut String, src: &Slice) {
[INFO] [stderr]   |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_dest`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]  --> src/util/logging.rs:7:52
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn append_escaped_string_to(dest: &mut String, src: &Slice) {
[INFO] [stderr]   |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `num`
[INFO] [stderr]   --> src/util/logging.rs:11:25
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub fn number_to_string(num: u64) -> String {
[INFO] [stderr]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]   --> src/util/logging.rs:15:22
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub fn escape_string(src: &Slice) -> String {
[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/logging.rs:19:32
[INFO] [stderr]    |
[INFO] [stderr] 19 | 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: 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)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `insert`, `lookup`, `release`, `erase`, `new_id`, and `prune` are never used
[INFO] [stderr]   --> src/common/mod.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub trait Cache {
[INFO] [stderr]    |           ----- methods in this trait
[INFO] [stderr] 21 |     fn insert(&mut self, key: &Slice, value: &Slice) -> Box<dyn Handle>;
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 22 |     fn lookup(&mut self, key: &Slice) -> Option<Box<dyn Handle>>;
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 23 |     fn release(&mut self, entry: Box<dyn Handle>);
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 24 |     fn erase(&mut self, key: &Slice);
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 25 |     fn new_id(&mut self) -> u64;
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 26 |     fn prune(&mut self);
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `name`, `create_filter`, and `key_may_match` are never used
[INFO] [stderr]   --> src/common/mod.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub trait FilterPolicy {
[INFO] [stderr]    |           ------------ methods in this trait
[INFO] [stderr] 30 |     fn name(&self) -> &str;
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 31 |     fn create_filter(&self, keys: &[Slice]) -> Slice;
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 32 |     fn key_may_match(&self, key: &Slice, filter: &Slice) -> bool;
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `compare`, `name`, `find_shortest_separator`, and `find_short_successor` are never used
[INFO] [stderr]   --> src/common/mod.rs:36:8
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub trait Comparator {
[INFO] [stderr]    |           ---------- methods in this trait
[INFO] [stderr] 36 |     fn compare(&self, a: &Slice, b: &Slice) -> Ordering;
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 37 |     fn name(&self) -> &str;
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 38 |     fn find_shortest_separator(&self, start: &mut Slice, limit: &Slice);
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 39 |     fn find_short_successor(&self, key: &mut Slice);
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]   --> src/common/mod.rs:43:8
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub trait Env {
[INFO] [stderr]    |           --- methods in this trait
[INFO] [stderr] 43 |     fn new_sequential_file(&self, fname: &str, dest: &mut Box<dyn SequentialFile>) -> Status;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 44 |     fn new_random_access_file(&self, fname: &str, dest: &mut Box<dyn RandomAccessFile>) -> Status;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 45 |     fn new_writeable_file(&self, fname: &str, dest: &mut Box<dyn WritableFile>) -> Status;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 46 |     fn new_appendable_file(&self, fname: &str, dest: &mut Box<dyn WritableFile>) -> Status;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 47 |
[INFO] [stderr] 48 |     fn file_exists(&self, fname: &str) -> bool;
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 49 |     fn get_children(&self, dir: &str) -> Result<Vec<String>, Status>;
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 50 |     fn remove_file(&self, fname: &str) -> Status;
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 51 |     #[deprecated]
[INFO] [stderr] 52 |     fn delete_file(&self, fname: &str) -> Status {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     fn create_dir(&self, dirname: &str) -> Status;
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 57 |     fn remove_dir(&self, dirname: &str) -> Status;
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 58 |     #[deprecated]
[INFO] [stderr] 59 |     fn delete_dir(&self, dirname: &str) -> Status {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 |     fn get_file_size(&self, fname: &str) -> Result<usize, Status>;
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 63 |     fn rename_file(&self, src: &str, target: &str) -> Status;
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 64 |
[INFO] [stderr] 65 |     fn lock_file(&self, fname: &str, lock: &mut Box<dyn FileLock>) -> Status;
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 66 |     fn unlock_file(&self, lock: &mut Box<dyn FileLock>) -> Status;
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 67 |
[INFO] [stderr] 68 |     fn schedule(&self, f: Box<dyn FnOnce() + Send>) -> Status;
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 69 |     fn start_thread(&self, name: &str, f: Box<dyn FnOnce() + Send>) -> Status;
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 70 |
[INFO] [stderr] 71 |     fn get_test_directory(&self) -> String;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 72 |
[INFO] [stderr] 73 |     fn now_micros(&self) -> u64;
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 74 |     fn sleep_for_microseconds(&self, micros: u64);
[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: method `log` is never used
[INFO] [stderr]   --> src/common/mod.rs:94:8
[INFO] [stderr]    |
[INFO] [stderr] 93 | pub trait Logger {
[INFO] [stderr]    |           ------ method in this trait
[INFO] [stderr] 94 |     fn log(&mut self, msg: &str);
[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: fields `start` and `limit` are never read
[INFO] [stderr]    --> src/common/mod.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub struct Range {
[INFO] [stderr]     |            ----- fields in this struct
[INFO] [stderr] 102 |     pub start: Slice,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 103 |     pub limit: Slice,
[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: multiple methods are never used
[INFO] [stderr]    --> src/common/mod.rs:111:8
[INFO] [stderr]     |
[INFO] [stderr] 110 | pub trait Iter {
[INFO] [stderr]     |           ---- methods in this trait
[INFO] [stderr] 111 |     fn seek_to_first(&mut self);
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 112 |     fn seek_to_last(&mut self);
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 113 |     fn seek(&mut self, target: &Slice);
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 114 |     fn next(&mut self);
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 115 |     fn prev(&mut self);
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 116 |     fn valid(&self) -> bool;
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] 117 |     fn key(&self) -> &Slice;
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 118 |     fn value(&self) -> &Slice;
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] 119 |     fn status(&mut self) -> Status;
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/common/mod.rs:123:8
[INFO] [stderr]     |
[INFO] [stderr] 122 | pub trait DB {
[INFO] [stderr]     |           -- associated items in this trait
[INFO] [stderr] 123 |     fn open(options: &Options, name: &str, db: &mut Self) -> Status;
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 124 |
[INFO] [stderr] 125 |     fn put(&mut self, options: &WriteOptions, key: &Slice, value: &Slice) -> Status;
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 126 |     fn delete(&mut self, options: &WriteOptions, key: &Slice) -> Status;
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 127 |     fn write(&mut self, options: &WriteOptions, updates: &mut WriteBatch) -> Status;
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] 128 |
[INFO] [stderr] 129 |     fn get(&mut self, options: &ReadOptions, key: &Slice) -> Result<Slice, Status>;
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 130 |     fn new_iterator(&mut self, options: &ReadOptions) -> Box<dyn Iter>;
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 131 |
[INFO] [stderr] 132 |     fn get_snapshot(&mut self) -> Box<dyn Snapshot>;
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 133 |
[INFO] [stderr] 134 |     fn get_property(&mut self, propname: &Slice) -> Option<String>;
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 135 |
[INFO] [stderr] 136 |     fn get_approximate_sizes(&mut self, ranges: &Range, n: i64) -> Vec<u64>;
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 137 |
[INFO] [stderr] 138 |     fn compact_range(&mut self, start: &Slice, end: &Slice);
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 139 |
[INFO] [stderr] 140 |     fn destory_db(options: &Options, name: &str) -> Status;
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 141 |
[INFO] [stderr] 142 |     fn repair_db(options: &Options, name: &str) -> Status;
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Ok`, `NotFound`, `Corruption`, `NotSupported`, `InvalidArgument`, and `IOError` are never constructed
[INFO] [stderr]  --> src/common/code.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub enum Status {
[INFO] [stderr]   |          ------ variants in this enum
[INFO] [stderr] 4 |     Ok,
[INFO] [stderr]   |     ^^
[INFO] [stderr] 5 |     NotFound(Slice),
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 6 |     Corruption(Slice),
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 7 |     NotSupported(Slice),
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 8 |     InvalidArgument(Slice),
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 9 |     IOError,
[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: multiple fields are never read
[INFO] [stderr]   --> src/common/options.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 9  | pub struct Options {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] 10 |     pub create_if_missing: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 11 |     pub error_if_exists: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 12 |     pub paranoid_checks: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 13 |     pub env: Option<Box<dyn Env>>,
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 14 |     pub comparator: Option<Box<dyn Comparator>>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 15 |     pub cache: Option<Box<dyn Cache>>,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 16 |     pub filter_policy: Option<Box<dyn FilterPolicy>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 17 |     pub logger: Option<Box<dyn Logger>>,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `verify_checksums`, `fill_cache`, and `snapshot` are never read
[INFO] [stderr]   --> src/common/options.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub struct ReadOptions {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 36 |     pub verify_checksums: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 37 |     pub fill_cache: bool,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 38 |     pub snapshot: Option<Box<dyn Snapshot>>,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `sync` is never read
[INFO] [stderr]   --> src/common/options.rs:42:9
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub struct WriteOptions {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] 42 |     pub sync: bool,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `req` is never read
[INFO] [stderr]   --> src/common/options.rs:46:5
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub struct WriteBatch {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] 46 |     req: String,
[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: associated items `new_with_data` and `start_with` 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] 32 |     pub fn start_with(&self, prefix: &Self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `cache`, `dbname`, `options`, and `env` are never read
[INFO] [stderr]  --> src/common/table_cache.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct TableCache {
[INFO] [stderr]   |            ---------- fields in this struct
[INFO] [stderr] 4 |     cache: Box<dyn Cache>,
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr] 5 |     dbname: String,
[INFO] [stderr]   |     ^^^^^^
[INFO] [stderr] 6 |     options: Options,
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 7 |     env: Box<dyn Env>,
[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: variant `KTypeDeletion` is never constructed
[INFO] [stderr]   --> src/db/db_format.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |     enum ValueType {
[INFO] [stderr]    |          --------- variant in this enum
[INFO] [stderr] 20 |         KTypeDeletion = 0x0,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ValueType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[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: 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: fields `user_key`, `sequence`, and `value_type` are never read
[INFO] [stderr]   --> src/db/db_format.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 33 |     struct ParsedInternalKey {
[INFO] [stderr]    |            ----------------- fields in this struct
[INFO] [stderr] 34 |         user_key: Slice,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 35 |         sequence: SequenceNumber,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 36 |         value_type: ValueType,
[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:12
[INFO] [stderr]    |
[INFO] [stderr] 81 |     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: field `rep` is never read
[INFO] [stderr]    --> src/db/db_format.rs:142:9
[INFO] [stderr]     |
[INFO] [stderr] 141 |     struct InternalKey {
[INFO] [stderr]     |            ----------- field in this struct
[INFO] [stderr] 142 |         rep: Slice,
[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: 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: multiple fields are never read
[INFO] [stderr]   --> src/db/db_impl.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub struct DBImpl {
[INFO] [stderr]    |                ------ fields in this struct
[INFO] [stderr] 22 |         env: Box<dyn Env>,
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 23 |         internal_comparator: Box<dyn Comparator>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 24 |         options: Options,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 25 |         owns_info_log: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 26 |         owns_cache: bool,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 27 |         dbname: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 28 |         table_cache: TableCache,
[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: field `db` is never read
[INFO] [stderr]   --> src/db/db_iter.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct DBIter<'a> {
[INFO] [stderr]    |            ------ field in this struct
[INFO] [stderr] 11 |     db: &'a DBImpl,
[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: 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]    = note: `Mutex` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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: 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: 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_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:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | struct EnvPosix {}
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/util/env.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl EnvPosix {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] 16 |     fn new() -> EnvPosix {
[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 `number_to_string` is never used
[INFO] [stderr]   --> src/util/logging.rs:11:8
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub fn number_to_string(num: u64) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `escape_string` is never used
[INFO] [stderr]   --> src/util/logging.rs:15:8
[INFO] [stderr]    |
[INFO] [stderr] 15 | 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:19:8
[INFO] [stderr]    |
[INFO] [stderr] 19 | 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: 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)]` 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: `leveldb-rs` (lib) generated 160 warnings (run `cargo fix --lib -p leveldb-rs` to apply 6 suggestions)
[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)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `leveldb-rs` (lib test) generated 159 warnings (158 duplicates) (run `cargo fix --lib -p leveldb-rs --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/leveldb_rs-23440bd335dac793)
[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_random ... FAILED
[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] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- util::random::test::test_random stdout ----
[INFO] [stdout] thread 'util::random::test::test_random' panicked at src/util/random.rs:42:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55e034a93435 - std::backtrace_rs::backtrace::libunwind::trace::h59d96bdb08384354
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x55e034a93435 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cf5becacfc93fba
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55e034a93435 - std::sys_common::backtrace::_print_fmt::h10b76d10405dbd48
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x55e034a93435 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ed9e62a156d84e4
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55e034ab9c7b - core::fmt::rt::Argument::fmt::h645c680983f03c9f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x55e034ab9c7b - core::fmt::write::h8bcd80919a02be29
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x55e034a90c6f - std::io::Write::write_fmt::h8d0c47c662cad79c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x55e034a9320e - std::sys_common::backtrace::_print::h6306f131a28d62b0
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55e034a9320e - std::sys_common::backtrace::print::h7079288e0a26dfcc
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55e034a94c39 - std::panicking::default_hook::{{closure}}::hb063ecec81a736ba
[INFO] [stdout]   10:     0x55e034a948fe - std::panicking::default_hook::hd56ee406bf547b5c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x55e034a6030a - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he5eacdef44c8728f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x55e034a6030a - test::test_main::{{closure}}::h0ec9aed229e79095
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x55e034a9523b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcbd0d80e1ad4e4f9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x55e034a9523b - std::panicking::rust_panic_with_hook::h624aa3ca42ebb8f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x55e034a94f7b - std::panicking::begin_panic_handler::{{closure}}::hbc4e76194a5e287c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:656:13
[INFO] [stdout]   16:     0x55e034a938f9 - std::sys_common::backtrace::__rust_end_short_backtrace::h847fedc9d1ff7b6d
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x55e034a94ce7 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x55e034a2a833 - core::panicking::panic_fmt::hec11a924b87ce965
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55e034a2a8dc - core::panicking::panic::hb6a980c1ddfde273
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:146:5
[INFO] [stdout]   20:     0x55e034a2c9ed - leveldb_rs::util::random::test::test_random::h0f31a2c30339f7e0
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:42:9
[INFO] [stdout]   21:     0x55e034a2c9b7 - leveldb_rs::util::random::test::test_random::{{closure}}::h4b26bdb5b9279530
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:41:21
[INFO] [stdout]   22:     0x55e034a2b3c6 - core::ops::function::FnOnce::call_once::h1776c128e25386fe
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x55e034a64ceb - core::ops::function::FnOnce::call_once::h2e43a8f6f3d94b99
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55e034a64ceb - test::__rust_begin_short_backtrace::h214c9f2d2d3fee90
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stdout]   25:     0x55e034a643f1 - test::run_test_in_process::{{closure}}::h510b7ba7990692a5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stdout]   26:     0x55e034a643f1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4157186197a93871
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x55e034a643f1 - std::panicking::try::do_call::h1bf2463bccd4b28c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   28:     0x55e034a643f1 - std::panicking::try::hd6d4808c9fab4fa5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   29:     0x55e034a643f1 - std::panic::catch_unwind::hd5641d97d123f9f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   30:     0x55e034a643f1 - test::run_test_in_process::hc273b71c8b878a4c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stdout]   31:     0x55e034a643f1 - test::run_test::{{closure}}::h6838df834eb8467e
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stdout]   32:     0x55e034a2cdb4 - test::run_test::{{closure}}::h608b98ecff5665fb
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stdout]   33:     0x55e034a2cdb4 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdc4182b97d1042e9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   34:     0x55e034a317e2 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h571773fd21d674c8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   35:     0x55e034a317e2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdcd384cf2fa70ba3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55e034a317e2 - std::panicking::try::do_call::h4f1a44bd81423be1
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   37:     0x55e034a317e2 - std::panicking::try::h5e02afcb81dcd361
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   38:     0x55e034a317e2 - std::panic::catch_unwind::h022f75775bfd8c45
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   39:     0x55e034a317e2 - std::thread::Builder::spawn_unchecked_::{{closure}}::hf5a62e9e4e6df1f8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   40:     0x55e034a317e2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6d56360aeb9509a7
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x55e034a9941b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7a343dc551c06baa
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   42:     0x55e034a9941b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30b8111cbaa644f3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   43:     0x55e034a9941b - std::sys::pal::unix::thread::Thread::new::thread_start::h7404e134e61e7a11
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   44:     0x7f7dec5ccac3 - <unknown>
[INFO] [stdout]   45:     0x7f7dec65da04 - __clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- util::random::test::test_one_in stdout ----
[INFO] [stdout] thread 'util::random::test::test_one_in' panicked at src/util/random.rs:52:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55e034a93435 - std::backtrace_rs::backtrace::libunwind::trace::h59d96bdb08384354
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x55e034a93435 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cf5becacfc93fba
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55e034a93435 - std::sys_common::backtrace::_print_fmt::h10b76d10405dbd48
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x55e034a93435 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ed9e62a156d84e4
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55e034ab9c7b - core::fmt::rt::Argument::fmt::h645c680983f03c9f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x55e034ab9c7b - core::fmt::write::h8bcd80919a02be29
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x55e034a90c6f - std::io::Write::write_fmt::h8d0c47c662cad79c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x55e034a9320e - std::sys_common::backtrace::_print::h6306f131a28d62b0
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55e034a9320e - std::sys_common::backtrace::print::h7079288e0a26dfcc
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55e034a94c39 - std::panicking::default_hook::{{closure}}::hb063ecec81a736ba
[INFO] [stdout]   10:     0x55e034a948fe - std::panicking::default_hook::hd56ee406bf547b5c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x55e034a6030a - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he5eacdef44c8728f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x55e034a6030a - test::test_main::{{closure}}::h0ec9aed229e79095
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x55e034a9523b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcbd0d80e1ad4e4f9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x55e034a9523b - std::panicking::rust_panic_with_hook::h624aa3ca42ebb8f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x55e034a94f7b - std::panicking::begin_panic_handler::{{closure}}::hbc4e76194a5e287c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:656:13
[INFO] [stdout]   16:     0x55e034a938f9 - std::sys_common::backtrace::__rust_end_short_backtrace::h847fedc9d1ff7b6d
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x55e034a94ce7 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x55e034a2a833 - core::panicking::panic_fmt::hec11a924b87ce965
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55e034a2a8dc - core::panicking::panic::hb6a980c1ddfde273
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:146:5
[INFO] [stdout]   20:     0x55e034a2ca8d - leveldb_rs::util::random::test::test_one_in::h8c5a34b0ad0ce844
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:52:9
[INFO] [stdout]   21:     0x55e034a2ca57 - leveldb_rs::util::random::test::test_one_in::{{closure}}::h30802df0e607685b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:51:21
[INFO] [stdout]   22:     0x55e034a2b546 - core::ops::function::FnOnce::call_once::hda9762deb83dfca2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x55e034a64ceb - core::ops::function::FnOnce::call_once::h2e43a8f6f3d94b99
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55e034a64ceb - test::__rust_begin_short_backtrace::h214c9f2d2d3fee90
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stdout]   25:     0x55e034a643f1 - test::run_test_in_process::{{closure}}::h510b7ba7990692a5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stdout]   26:     0x55e034a643f1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4157186197a93871
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x55e034a643f1 - std::panicking::try::do_call::h1bf2463bccd4b28c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   28:     0x55e034a643f1 - std::panicking::try::hd6d4808c9fab4fa5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   29:     0x55e034a643f1 - std::panic::catch_unwind::hd5641d97d123f9f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   30:     0x55e034a643f1 - test::run_test_in_process::hc273b71c8b878a4c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stdout]   31:     0x55e034a643f1 - test::run_test::{{closure}}::h6838df834eb8467e
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stdout]   32:     0x55e034a2cdb4 - test::run_test::{{closure}}::h608b98ecff5665fb
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stdout]   33:     0x55e034a2cdb4 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdc4182b97d1042e9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   34:     0x55e034a317e2 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h571773fd21d674c8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   35:     0x55e034a317e2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdcd384cf2fa70ba3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55e034a317e2 - std::panicking::try::do_call::h4f1a44bd81423be1
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   37:     0x55e034a317e2 - std::panicking::try::h5e02afcb81dcd361
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   38:     0x55e034a317e2 - std::panic::catch_unwind::h022f75775bfd8c45
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   39:     0x55e034a317e2 - std::thread::Builder::spawn_unchecked_::{{closure}}::hf5a62e9e4e6df1f8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   40:     0x55e034a317e2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6d56360aeb9509a7
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x55e034a9941b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7a343dc551c06baa
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   42:     0x55e034a9941b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30b8111cbaa644f3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   43:     0x55e034a9941b - std::sys::pal::unix::thread::Thread::new::thread_start::h7404e134e61e7a11
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   44:     0x7f7dec5ccac3 - <unknown>
[INFO] [stdout]   45:     0x7f7dec65da04 - __clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- util::random::test::test_skew stdout ----
[INFO] [stdout] thread 'util::random::test::test_skew' panicked at src/util/random.rs:57:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55e034a93435 - std::backtrace_rs::backtrace::libunwind::trace::h59d96bdb08384354
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x55e034a93435 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cf5becacfc93fba
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55e034a93435 - std::sys_common::backtrace::_print_fmt::h10b76d10405dbd48
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x55e034a93435 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ed9e62a156d84e4
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55e034ab9c7b - core::fmt::rt::Argument::fmt::h645c680983f03c9f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x55e034ab9c7b - core::fmt::write::h8bcd80919a02be29
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x55e034a90c6f - std::io::Write::write_fmt::h8d0c47c662cad79c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x55e034a9320e - std::sys_common::backtrace::_print::h6306f131a28d62b0
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55e034a9320e - std::sys_common::backtrace::print::h7079288e0a26dfcc
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55e034a94c39 - std::panicking::default_hook::{{closure}}::hb063ecec81a736ba
[INFO] [stdout]   10:     0x55e034a948fe - std::panicking::default_hook::hd56ee406bf547b5c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x55e034a6030a - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he5eacdef44c8728f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x55e034a6030a - test::test_main::{{closure}}::h0ec9aed229e79095
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x55e034a9523b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcbd0d80e1ad4e4f9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x55e034a9523b - std::panicking::rust_panic_with_hook::h624aa3ca42ebb8f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x55e034a94f7b - std::panicking::begin_panic_handler::{{closure}}::hbc4e76194a5e287c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:656:13
[INFO] [stdout]   16:     0x55e034a938f9 - std::sys_common::backtrace::__rust_end_short_backtrace::h847fedc9d1ff7b6d
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x55e034a94ce7 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x55e034a2a833 - core::panicking::panic_fmt::hec11a924b87ce965
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55e034a2a8dc - core::panicking::panic::hb6a980c1ddfde273
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:146:5
[INFO] [stdout]   20:     0x55e034a2cadd - leveldb_rs::util::random::test::test_skew::h63c8468344a01911
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:57:9
[INFO] [stdout]   21:     0x55e034a2caa7 - leveldb_rs::util::random::test::test_skew::{{closure}}::h145d2632c150df12
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:56:19
[INFO] [stdout]   22:     0x55e034a2b4c6 - core::ops::function::FnOnce::call_once::h95070aa9ff67b8ea
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x55e034a64ceb - core::ops::function::FnOnce::call_once::h2e43a8f6f3d94b99
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55e034a64ceb - test::__rust_begin_short_backtrace::h214c9f2d2d3fee90
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stdout]   25:     0x55e034a643f1 - test::run_test_in_process::{{closure}}::h510b7ba7990692a5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stdout]   26:     0x55e034a643f1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4157186197a93871
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x55e034a643f1 - std::panicking::try::do_call::h1bf2463bccd4b28c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   28:     0x55e034a643f1 - std::panicking::try::hd6d4808c9fab4fa5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   29:     0x55e034a643f1 - std::panic::catch_unwind::hd5641d97d123f9f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   30:     0x55e034a643f1 - test::run_test_in_process::hc273b71c8b878a4c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stdout]   31:     0x55e034a643f1 - test::run_test::{{closure}}::h6838df834eb8467e
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stdout]   32:     0x55e034a2cdb4 - test::run_test::{{closure}}::h608b98ecff5665fb
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stdout]   33:     0x55e034a2cdb4 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdc4182b97d1042e9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   34:     0x55e034a317e2 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h571773fd21d674c8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   35:     0x55e034a317e2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdcd384cf2fa70ba3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55e034a317e2 - std::panicking::try::do_call::h4f1a44bd81423be1
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   37:     0x55e034a317e2 - std::panicking::try::h5e02afcb81dcd361
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   38:     0x55e034a317e2 - std::panic::catch_unwind::h022f75775bfd8c45
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   39:     0x55e034a317e2 - std::thread::Builder::spawn_unchecked_::{{closure}}::hf5a62e9e4e6df1f8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   40:     0x55e034a317e2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6d56360aeb9509a7
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x55e034a9941b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7a343dc551c06baa
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   42:     0x55e034a9941b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30b8111cbaa644f3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   43:     0x55e034a9941b - std::sys::pal::unix::thread::Thread::new::thread_start::h7404e134e61e7a11
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   44:     0x7f7dec5ccac3 - <unknown>
[INFO] [stdout]   45:     0x7f7dec65da04 - __clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- util::random::test::test_uniform stdout ----
[INFO] [stdout] thread 'util::random::test::test_uniform' panicked at src/util/random.rs:47:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55e034a93435 - std::backtrace_rs::backtrace::libunwind::trace::h59d96bdb08384354
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x55e034a93435 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cf5becacfc93fba
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55e034a93435 - std::sys_common::backtrace::_print_fmt::h10b76d10405dbd48
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x55e034a93435 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ed9e62a156d84e4
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55e034ab9c7b - core::fmt::rt::Argument::fmt::h645c680983f03c9f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x55e034ab9c7b - core::fmt::write::h8bcd80919a02be29
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x55e034a90c6f - std::io::Write::write_fmt::h8d0c47c662cad79c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x55e034a9320e - std::sys_common::backtrace::_print::h6306f131a28d62b0
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55e034a9320e - std::sys_common::backtrace::print::h7079288e0a26dfcc
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55e034a94c39 - std::panicking::default_hook::{{closure}}::hb063ecec81a736ba
[INFO] [stdout]   10:     0x55e034a948fe - std::panicking::default_hook::hd56ee406bf547b5c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x55e034a6030a - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he5eacdef44c8728f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x55e034a6030a - test::test_main::{{closure}}::h0ec9aed229e79095
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x55e034a9523b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcbd0d80e1ad4e4f9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x55e034a9523b - std::panicking::rust_panic_with_hook::h624aa3ca42ebb8f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x55e034a94f7b - std::panicking::begin_panic_handler::{{closure}}::hbc4e76194a5e287c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:656:13
[INFO] [stdout]   16:     0x55e034a938f9 - std::sys_common::backtrace::__rust_end_short_backtrace::h847fedc9d1ff7b6d
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x55e034a94ce7 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x55e034a2a833 - core::panicking::panic_fmt::hec11a924b87ce965
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55e034a2a8dc - core::panicking::panic::hb6a980c1ddfde273
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:146:5
[INFO] [stdout]   20:     0x55e034a2ca3d - leveldb_rs::util::random::test::test_uniform::ha30e22a700022756
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:47:9
[INFO] [stdout]   21:     0x55e034a2ca07 - leveldb_rs::util::random::test::test_uniform::{{closure}}::hfd22da47d88f172d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/random.rs:46:22
[INFO] [stdout]   22:     0x55e034a2b486 - core::ops::function::FnOnce::call_once::h8365e793615d5812
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x55e034a64ceb - core::ops::function::FnOnce::call_once::h2e43a8f6f3d94b99
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55e034a64ceb - test::__rust_begin_short_backtrace::h214c9f2d2d3fee90
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stdout]   25:     0x55e034a643f1 - test::run_test_in_process::{{closure}}::h510b7ba7990692a5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stdout]   26:     0x55e034a643f1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4157186197a93871
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x55e034a643f1 - std::panicking::try::do_call::h1bf2463bccd4b28c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   28:     0x55e034a643f1 - std::panicking::try::hd6d4808c9fab4fa5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   29:     0x55e034a643f1 - std::panic::catch_unwind::hd5641d97d123f9f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   30:     0x55e034a643f1 - test::run_test_in_process::hc273b71c8b878a4c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stdout]   31:     0x55e034a643f1 - test::run_test::{{closure}}::h6838df834eb8467e
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stdout]   32:     0x55e034a2cdb4 - test::run_test::{{closure}}::h608b98ecff5665fb
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stdout]   33:     0x55e034a2cdb4 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdc4182b97d1042e9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   34:     0x55e034a317e2 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h571773fd21d674c8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   35:     0x55e034a317e2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdcd384cf2fa70ba3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55e034a317e2 - std::panicking::try::do_call::h4f1a44bd81423be1
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   37:     0x55e034a317e2 - std::panicking::try::h5e02afcb81dcd361
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   38:     0x55e034a317e2 - std::panic::catch_unwind::h022f75775bfd8c45
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   39:     0x55e034a317e2 - std::thread::Builder::spawn_unchecked_::{{closure}}::hf5a62e9e4e6df1f8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   40:     0x55e034a317e2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6d56360aeb9509a7
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x55e034a9941b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7a343dc551c06baa
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   42:     0x55e034a9941b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30b8111cbaa644f3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   43:     0x55e034a9941b - std::sys::pal::unix::thread::Thread::new::thread_start::h7404e134e61e7a11
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   44:     0x7f7dec5ccac3 - <unknown>
[INFO] [stdout]   45:     0x7f7dec65da04 - __clone
[INFO] [stdout]   46:                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.01s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "26040653a542f0fb26c67f303e75187bfcdd3a9e5605a0a64b6876ee9213c749", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "26040653a542f0fb26c67f303e75187bfcdd3a9e5605a0a64b6876ee9213c749", kill_on_drop: false }`
[INFO] [stdout] 26040653a542f0fb26c67f303e75187bfcdd3a9e5605a0a64b6876ee9213c749
