[INFO] cloning repository https://github.com/laohanlinux/bitcask-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/laohanlinux/bitcask-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flaohanlinux%2Fbitcask-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flaohanlinux%2Fbitcask-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 00550b0c19f44a315bfda313e92835537625c3ee [INFO] checking laohanlinux/bitcask-rs against master#4c60a0ea5b2385d7400df9db1ad04e96f2a4c154 for 92191_revert [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flaohanlinux%2Fbitcask-rs" "/workspace/builds/worker-38/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-38/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/laohanlinux/bitcask-rs on toolchain 4c60a0ea5b2385d7400df9db1ad04e96f2a4c154 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+4c60a0ea5b2385d7400df9db1ad04e96f2a4c154" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/laohanlinux/bitcask-rs [INFO] finished tweaking git repo https://github.com/laohanlinux/bitcask-rs [INFO] tweaked toml for git repo https://github.com/laohanlinux/bitcask-rs written to /workspace/builds/worker-38/source/Cargo.toml [INFO] crate git repo https://github.com/laohanlinux/bitcask-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+4c60a0ea5b2385d7400df9db1ad04e96f2a4c154" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded random v0.12.2 [INFO] [stderr] Downloaded new_debug_unreachable v1.0.4 [INFO] [stderr] Downloaded debugid v0.7.2 [INFO] [stderr] Downloaded symbolic-common v8.5.0 [INFO] [stderr] Downloaded symbolic-demangle v8.5.0 [INFO] [stderr] Downloaded fslock v0.2.1 [INFO] [stderr] Downloaded num-format v0.4.0 [INFO] [stderr] Downloaded serde v1.0.133 [INFO] [stderr] Downloaded crossbeam-queue v0.3.3 [INFO] [stderr] Downloaded simple-logging v2.0.2 [INFO] [stderr] Downloaded rgb v0.8.31 [INFO] [stderr] Downloaded str_stack v0.1.0 [INFO] [stderr] Downloaded qp-trie v0.7.7 [INFO] [stderr] Downloaded inferno v0.10.10 [INFO] [stderr] Downloaded fd-lock v3.0.2 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.79 [INFO] [stderr] Downloaded plotters-backend v0.3.2 [INFO] [stderr] Downloaded oorandom v11.1.3 [INFO] [stderr] Downloaded crc v2.1.0 [INFO] [stderr] Downloaded criterion-plot v0.4.4 [INFO] [stderr] Downloaded cast v0.2.7 [INFO] [stderr] Downloaded crc-catalog v1.1.1 [INFO] [stderr] Downloaded regex-automata v0.1.10 [INFO] [stderr] Downloaded criterion v0.3.5 [INFO] [stderr] Downloaded ctor v0.1.21 [INFO] [stderr] Downloaded plotters-svg v0.3.1 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.79 [INFO] [stderr] Downloaded bstr v0.2.17 [INFO] [stderr] Downloaded windows_x86_64_gnu v0.28.0 [INFO] [stderr] Downloaded tinytemplate v1.2.1 [INFO] [stderr] Downloaded bytemuck v1.7.3 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.79 [INFO] [stderr] Downloaded names v0.12.0 [INFO] [stderr] Downloaded crossbeam-utils v0.8.6 [INFO] [stderr] Downloaded wasm-bindgen v0.2.79 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.79 [INFO] [stderr] Downloaded crossbeam-epoch v0.9.6 [INFO] [stderr] Downloaded js-sys v0.3.56 [INFO] [stderr] Downloaded filename v0.1.1 [INFO] [stderr] Downloaded nix v0.20.2 [INFO] [stderr] Downloaded serde_json v1.0.74 [INFO] [stderr] Downloaded crossbeam-channel v0.5.2 [INFO] [stderr] Downloaded value-bag v1.0.0-alpha.8 [INFO] [stderr] Downloaded serde_derive v1.0.133 [INFO] [stderr] Downloaded cpp_demangle v0.3.5 [INFO] [stderr] Downloaded pprof v0.4.5 [INFO] [stderr] Downloaded web-sys v0.3.56 [INFO] [stderr] Downloaded windows_aarch64_msvc v0.28.0 [INFO] [stderr] Downloaded windows_i686_msvc v0.28.0 [INFO] [stderr] Downloaded bra v0.1.1 [INFO] [stderr] Downloaded windows_i686_gnu v0.28.0 [INFO] [stderr] Downloaded windows_x86_64_msvc v0.28.0 [INFO] [stderr] Downloaded windows-sys v0.28.0 [INFO] [stderr] Downloaded plotters v0.3.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-38/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-38/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:d190cb871061d98bc6d0581d85cb2ecb09a0f8a142ba5463de30be9999fc3251" "/opt/rustwide/cargo-home/bin/cargo" "+4c60a0ea5b2385d7400df9db1ad04e96f2a4c154" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 25762a5b875855e0d31ceb63e9fc61eafeb1ab11968c2016e54bd3949f830f57 [INFO] running `Command { std: "docker" "start" "-a" "25762a5b875855e0d31ceb63e9fc61eafeb1ab11968c2016e54bd3949f830f57", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "25762a5b875855e0d31ceb63e9fc61eafeb1ab11968c2016e54bd3949f830f57", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "25762a5b875855e0d31ceb63e9fc61eafeb1ab11968c2016e54bd3949f830f57", kill_on_drop: false }` [INFO] [stdout] 25762a5b875855e0d31ceb63e9fc61eafeb1ab11968c2016e54bd3949f830f57 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-38/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-38/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" "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:d190cb871061d98bc6d0581d85cb2ecb09a0f8a142ba5463de30be9999fc3251" "/opt/rustwide/cargo-home/bin/cargo" "+4c60a0ea5b2385d7400df9db1ad04e96f2a4c154" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7ffb736581735e1fa6e23a050f6a81dc815ba015c82fb8ac148faf4f681c59c1 [INFO] running `Command { std: "docker" "start" "-a" "7ffb736581735e1fa6e23a050f6a81dc815ba015c82fb8ac148faf4f681c59c1", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.112 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling proc-macro2 v1.0.36 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.85 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling serde_derive v1.0.133 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling crossbeam-utils v0.8.6 [INFO] [stderr] Compiling serde v1.0.133 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.6 [INFO] [stderr] Compiling semver v1.0.4 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Checking ryu v1.0.9 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling serde_json v1.0.74 [INFO] [stderr] Checking itoa v1.0.1 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Checking either v1.6.1 [INFO] [stderr] Checking itoa v0.4.8 [INFO] [stderr] Compiling cpp_demangle v0.3.5 [INFO] [stderr] Checking plotters-backend v0.3.2 [INFO] [stderr] Compiling cc v1.0.72 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Compiling crossbeam-queue v0.3.3 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking unicode-width v0.1.9 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking ppv-lite86 v0.2.16 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking bytemuck v1.7.3 [INFO] [stderr] Compiling anyhow v1.0.52 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking smallvec v1.8.0 [INFO] [stderr] Checking rustc-demangle v0.1.21 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Checking gimli v0.26.1 [INFO] [stderr] Checking half v1.8.2 [INFO] [stderr] Compiling symbolic-demangle v8.5.0 [INFO] [stderr] Checking once_cell v1.9.0 [INFO] [stderr] Checking crc-catalog v1.1.1 [INFO] [stderr] Checking str_stack v0.1.0 [INFO] [stderr] Compiling pprof v0.4.5 [INFO] [stderr] Checking new_debug_unreachable v1.0.4 [INFO] [stderr] Checking oorandom v11.1.3 [INFO] [stderr] Checking fastrand v1.7.0 [INFO] [stderr] Compiling names v0.12.0 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking termcolor v1.1.2 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking bra v0.1.1 [INFO] [stderr] Checking random v0.12.2 [INFO] [stderr] Checking instant v0.1.12 [INFO] [stderr] Checking lock_api v0.4.5 [INFO] [stderr] Checking itertools v0.10.3 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking crc v2.1.0 [INFO] [stderr] Checking plotters-svg v0.3.1 [INFO] [stderr] Checking unreachable v1.0.0 [INFO] [stderr] Checking rgb v0.8.31 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling indexmap v1.8.0 [INFO] [stderr] Checking walkdir v2.3.2 [INFO] [stderr] Compiling value-bag v1.0.0-alpha.8 [INFO] [stderr] Compiling ahash v0.7.6 [INFO] [stderr] Checking qp-trie v0.7.7 [INFO] [stderr] Checking debugid v0.7.2 [INFO] [stderr] Checking crossbeam-channel v0.5.2 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking csv-core v0.1.10 [INFO] [stderr] Checking object v0.27.1 [INFO] [stderr] Checking quick-xml v0.22.0 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Checking num-format v0.4.0 [INFO] [stderr] Compiling quote v1.0.14 [INFO] [stderr] Compiling backtrace v0.3.63 [INFO] [stderr] Checking crossbeam-deque v0.8.1 [INFO] [stderr] Compiling cast v0.2.7 [INFO] [stderr] Checking crossbeam v0.8.1 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking criterion-plot v0.4.4 [INFO] [stderr] Checking plotters v0.3.1 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking num_cpus v1.13.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Checking thread-id v3.3.0 [INFO] [stderr] Checking tempfile v3.3.0 [INFO] [stderr] Checking fslock v0.2.1 [INFO] [stderr] Checking filename v0.1.1 [INFO] [stderr] Checking fd-lock v3.0.2 [INFO] [stderr] Checking nix v0.20.2 [INFO] [stderr] Checking symbolic-common v8.5.0 [INFO] [stderr] Checking threadpool v1.8.1 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking tempdir v0.3.7 [INFO] [stderr] Checking addr2line v0.17.0 [INFO] [stderr] Compiling ctor v0.1.21 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Checking inferno v0.10.10 [INFO] [stderr] Checking kv-log-macro v1.0.7 [INFO] [stderr] Checking env_logger v0.9.0 [INFO] [stderr] Checking simple-logging v2.0.2 [INFO] [stderr] Checking thiserror v1.0.30 [INFO] [stderr] Checking bstr v0.2.17 [INFO] [stderr] Checking serde_cbor v0.11.2 [INFO] [stderr] Checking toml v0.5.8 [INFO] [stderr] Checking bytes v1.1.0 [INFO] [stderr] Checking csv v1.1.6 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking bitcask-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `FileType`, `File` [INFO] [stdout] --> src/config.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{File, FileType}; [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NoMoreData` [INFO] [stdout] --> src/data_file.rs:4:34 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::error::BitCaskError::{NoMoreData, UnexpectedError}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BitCaskError` [INFO] [stdout] --> src/data_file.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::error::{BitCaskError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::hint::Hint` [INFO] [stdout] --> src/data_file.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::hint::Hint; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Indexer` [INFO] [stdout] --> src/data_file.rs:7:32 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::radix_tree::{Index, Indexer}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow` [INFO] [stdout] --> src/data_file.rs:11:19 [INFO] [stdout] | [INFO] [stdout] 11 | use std::borrow::{Borrow, BorrowMut}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/data_file.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::SeekFrom::End` [INFO] [stdout] --> src/data_file.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::io::SeekFrom::End; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bytes::Bytes` [INFO] [stdout] --> src/entry.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use bytes::Bytes; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/entry.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell`, `RefMut` [INFO] [stdout] --> src/entry.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cell::{RefCell, RefMut}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/entry.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::SeekFrom::Current` [INFO] [stdout] --> src/entry.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::io::SeekFrom::Current; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufReader` [INFO] [stdout] --> src/entry.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | use std::io::{BufReader, BufWriter, Cursor, Read, Write}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `BigEndian` is imported redundantly [INFO] [stdout] --> src/entry.rs:134:25 [INFO] [stdout] | [INFO] [stdout] 4 | use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; [INFO] [stdout] | --------- the item `BigEndian` is already imported here [INFO] [stdout] ... [INFO] [stdout] 134 | use byteorder::{BigEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `ReadBytesExt` is imported redundantly [INFO] [stdout] --> src/entry.rs:134:36 [INFO] [stdout] | [INFO] [stdout] 4 | use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; [INFO] [stdout] | ------------ the item `ReadBytesExt` is already imported here [INFO] [stdout] ... [INFO] [stdout] 134 | use byteorder::{BigEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Bytes` is imported redundantly [INFO] [stdout] --> src/entry.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 5 | use bytes::Bytes; [INFO] [stdout] | ------------ the item `Bytes` is already imported here [INFO] [stdout] ... [INFO] [stdout] 135 | use bytes::Bytes; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bytes::Bytes` [INFO] [stdout] --> src/entry.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | use bytes::Bytes; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `KeyValue` [INFO] [stdout] --> src/hint.rs:1:36 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::codec::{Decode, Encode, KeyValue}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `kv_log_macro::debug` [INFO] [stdout] --> src/hint.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use kv_log_macro::debug; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Seek` [INFO] [stdout] --> src/hint.rs:7:29 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::{Cursor, Read, Seek, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/hint.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/key_value.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/key_value.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/key_value.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/metadata.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Bytes` [INFO] [stdout] --> src/metadata.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::Bytes; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr::write_bytes` [INFO] [stdout] --> src/metadata.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::ptr::write_bytes; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `KeyValue` [INFO] [stdout] --> src/radix_tree.rs:1:36 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::codec::{Decode, Encode, KeyValue}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::entry::Entry` [INFO] [stdout] --> src/radix_tree.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::entry::Entry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::error::BitCaskError::NoMoreData` [INFO] [stdout] --> src/radix_tree.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::error::BitCaskError::NoMoreData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::hint::Hint` [INFO] [stdout] --> src/radix_tree.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::hint::Hint; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::de::Unexpected::Bytes` [INFO] [stdout] --> src/radix_tree.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::de::Unexpected::Bytes; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize` [INFO] [stdout] --> src/radix_tree.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/radix_tree.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/radix_tree.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/radix_tree.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | use std::fs::{File, OpenOptions}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `SeekFrom`, `Seek` [INFO] [stdout] --> src/radix_tree.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | use std::io::{BufReader, BufWriter, Cursor, Read, Seek, SeekFrom, Write}; [INFO] [stdout] | ^^^^^^^^^ ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/radix_tree.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex` [INFO] [stdout] --> src/radix_tree.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 17 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::spawn` [INFO] [stdout] --> src/radix_tree.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use std::thread::spawn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Decode`, `Encode` [INFO] [stdout] --> src/recover.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::codec::{Decode, Encode}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::entry::Entry` [INFO] [stdout] --> src/recover.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::entry::Entry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BitCaskError` [INFO] [stdout] --> src/recover.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::error::{BitCaskError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Config` [INFO] [stdout] --> src/recover.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{config, Config}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/recover.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | use log::{debug, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/recover.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/recover.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fs::{remove_file, File}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BitCask` [INFO] [stdout] --> src/util.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{BitCask, UnexpectedError}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/util.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `expire_key` [INFO] [stdout] --> src/lib.rs:29:32 [INFO] [stdout] | [INFO] [stdout] 29 | use crate::util::{expire_hint, expire_key, load_index_from_data_file}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossbeam::sync::WaitGroup` [INFO] [stdout] --> src/lib.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | use crossbeam::sync::WaitGroup; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/lib.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Debug` [INFO] [stdout] --> src/lib.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | use std::fmt::Debug; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File`, `OpenOptions` [INFO] [stdout] --> src/lib.rs:40:36 [INFO] [stdout] | [INFO] [stdout] 40 | use std::fs::{remove_file, rename, File, OpenOptions}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AtomicBool`, `Ordering` [INFO] [stdout] --> src/lib.rs:43:25 [INFO] [stdout] | [INFO] [stdout] 43 | use std::sync::atomic::{AtomicBool, Ordering}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Once` [INFO] [stdout] --> src/lib.rs:44:41 [INFO] [stdout] | [INFO] [stdout] 44 | use std::sync::{Arc, Mutex, MutexGuard, Once}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `JoinHandle`, `sleep` [INFO] [stdout] --> src/lib.rs:45:19 [INFO] [stdout] | [INFO] [stdout] 45 | use std::thread::{sleep, spawn, JoinHandle}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/lib.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/lib.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 61 | / loop { [INFO] [stdout] 62 | | let interval = crossbeam_channel::after(Duration::from_secs(cfg.auto_merge_interval_check)); [INFO] [stdout] 63 | | select! { [INFO] [stdout] 64 | | recv(interval) -> msg => { [INFO] [stdout] ... | [INFO] [stdout] 96 | | } [INFO] [stdout] 97 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 98 | info!("finish call Once, tid: {}", tid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `$crate::log_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Index` [INFO] [stdout] --> src/data_file.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::radix_tree::{Index, Indexer}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `filename::Filename` [INFO] [stdout] --> src/data_file.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use filename::Filename; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/data_file.rs:16:37 [INFO] [stdout] | [INFO] [stdout] 16 | use std::io::{Read, Seek, SeekFrom, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadBytesExt` [INFO] [stdout] --> src/entry.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/lib.rs:64:31 [INFO] [stdout] | [INFO] [stdout] 64 | recv(interval) -> msg => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ch` [INFO] [stdout] --> src/lib.rs:67:25 [INFO] [stdout] | [INFO] [stdout] 67 | recv(rx) -> ch => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/lib.rs:184:21 [INFO] [stdout] | [INFO] [stdout] 184 | if let Some(index) = bc.hint_index.get(key) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hint` [INFO] [stdout] --> src/lib.rs:202:19 [INFO] [stdout] | [INFO] [stdout] 202 | for (key, hint) in bc.hint_index.iter_prefix(&prefix).into_iter() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_hint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `entry_sz` is never read [INFO] [stdout] --> src/lib.rs:351:17 [INFO] [stdout] | [INFO] [stdout] 351 | let mut entry_sz = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/lib.rs:522:14 [INFO] [stdout] | [INFO] [stdout] 522 | for (key, hint) in key_values { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entry` [INFO] [stdout] --> src/data_file.rs:190:16 [INFO] [stdout] | [INFO] [stdout] 190 | Ok(entry) => {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> src/data_file.rs:176:50 [INFO] [stdout] | [INFO] [stdout] 176 | pub(crate) fn recover_last_data_file(path: &str, cfg: &config::Config) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> src/data_file.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | cfg: config::Config, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/data_file.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | let offset = fs.stream_len().unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/key_value.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | let mut v = vec![8; 0]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 201 | let mut bc = self.lc(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `reopen` [INFO] [stdout] --> src/lib.rs:212:8 [INFO] [stdout] | [INFO] [stdout] 212 | fn reopen(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `base_name` [INFO] [stdout] --> src/data_file.rs:60:19 [INFO] [stdout] | [INFO] [stdout] 60 | pub(crate) fn base_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `read_all` [INFO] [stdout] --> src/data_file.rs:115:19 [INFO] [stdout] | [INFO] [stdout] 115 | pub(crate) fn read_all(&mut self) -> Result> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `to_vec` [INFO] [stdout] --> src/entry.rs:81:19 [INFO] [stdout] | [INFO] [stdout] 81 | pub(crate) fn to_vec(&self) -> Result> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sure_tmp_dir` [INFO] [stdout] --> src/tests_util.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn sure_tmp_dir(prefix: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `expire_key` [INFO] [stdout] --> src/util.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | pub(crate) fn expire_key() -> impl FnMut(&Entry) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | tx.send(()); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking criterion v0.3.5 [INFO] [stdout] warning: 83 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::kv::ToValue` [INFO] [stdout] --> benches/bc.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use log::kv::ToValue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::SeekFrom::Current` [INFO] [stdout] --> benches/bc.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::SeekFrom::Current; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufReader` [INFO] [stdout] --> benches/bc.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::{BufReader, Cursor}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path` [INFO] [stdout] --> benches/bc.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::path; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> benches/bc.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> benches/bc.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> benches/bc.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let mut buffer = vec![0; n]; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> benches/bc.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let mut rd = Cursor::new(buffer); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileType`, `File` [INFO] [stdout] --> src/config.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{File, FileType}; [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NoMoreData` [INFO] [stdout] --> src/data_file.rs:4:34 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::error::BitCaskError::{NoMoreData, UnexpectedError}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BitCaskError` [INFO] [stdout] --> src/data_file.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::error::{BitCaskError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::hint::Hint` [INFO] [stdout] --> src/data_file.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::hint::Hint; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Indexer` [INFO] [stdout] --> src/data_file.rs:7:32 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::radix_tree::{Index, Indexer}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow` [INFO] [stdout] --> src/data_file.rs:11:19 [INFO] [stdout] | [INFO] [stdout] 11 | use std::borrow::{Borrow, BorrowMut}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/data_file.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::SeekFrom::End` [INFO] [stdout] --> src/data_file.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::io::SeekFrom::End; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bytes::Bytes` [INFO] [stdout] --> src/entry.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use bytes::Bytes; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/entry.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell`, `RefMut` [INFO] [stdout] --> src/entry.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cell::{RefCell, RefMut}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/entry.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::SeekFrom::Current` [INFO] [stdout] --> src/entry.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::io::SeekFrom::Current; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufReader` [INFO] [stdout] --> src/entry.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | use std::io::{BufReader, BufWriter, Cursor, Read, Write}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `BigEndian` is imported redundantly [INFO] [stdout] --> src/entry.rs:134:25 [INFO] [stdout] | [INFO] [stdout] 4 | use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; [INFO] [stdout] | --------- the item `BigEndian` is already imported here [INFO] [stdout] ... [INFO] [stdout] 134 | use byteorder::{BigEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `ReadBytesExt` is imported redundantly [INFO] [stdout] --> src/entry.rs:134:36 [INFO] [stdout] | [INFO] [stdout] 4 | use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; [INFO] [stdout] | ------------ the item `ReadBytesExt` is already imported here [INFO] [stdout] ... [INFO] [stdout] 134 | use byteorder::{BigEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Bytes` is imported redundantly [INFO] [stdout] --> src/entry.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 5 | use bytes::Bytes; [INFO] [stdout] | ------------ the item `Bytes` is already imported here [INFO] [stdout] ... [INFO] [stdout] 135 | use bytes::Bytes; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bytes::Bytes` [INFO] [stdout] --> src/entry.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | use bytes::Bytes; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `KeyValue` [INFO] [stdout] --> src/hint.rs:1:36 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::codec::{Decode, Encode, KeyValue}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `kv_log_macro::debug` [INFO] [stdout] --> src/hint.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use kv_log_macro::debug; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Seek` [INFO] [stdout] --> src/hint.rs:7:29 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::{Cursor, Read, Seek, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/hint.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/key_value.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/key_value.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/key_value.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/metadata.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Bytes` [INFO] [stdout] --> src/metadata.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::Bytes; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr::write_bytes` [INFO] [stdout] --> src/metadata.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::ptr::write_bytes; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `KeyValue` [INFO] [stdout] --> src/radix_tree.rs:1:36 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::codec::{Decode, Encode, KeyValue}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::error::BitCaskError::NoMoreData` [INFO] [stdout] --> src/radix_tree.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::error::BitCaskError::NoMoreData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::de::Unexpected::Bytes` [INFO] [stdout] --> src/radix_tree.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::de::Unexpected::Bytes; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize` [INFO] [stdout] --> src/radix_tree.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/radix_tree.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/radix_tree.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/radix_tree.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | use std::fs::{File, OpenOptions}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `SeekFrom`, `Seek` [INFO] [stdout] --> src/radix_tree.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | use std::io::{BufReader, BufWriter, Cursor, Read, Seek, SeekFrom, Write}; [INFO] [stdout] | ^^^^^^^^^ ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/radix_tree.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex` [INFO] [stdout] --> src/radix_tree.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 17 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::spawn` [INFO] [stdout] --> src/radix_tree.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use std::thread::spawn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Decode`, `Encode` [INFO] [stdout] --> src/recover.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::codec::{Decode, Encode}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::entry::Entry` [INFO] [stdout] --> src/recover.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::entry::Entry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BitCaskError` [INFO] [stdout] --> src/recover.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::error::{BitCaskError, Result}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Config` [INFO] [stdout] --> src/recover.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{config, Config}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/recover.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | use log::{debug, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/recover.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/recover.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fs::{remove_file, File}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DataFile`, `Hint`, `Indexer`, `Persisted` [INFO] [stdout] --> src/tests.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{BitCask, Config, DataFile, Entry, Hint, Index, Indexer, Persisted}; [INFO] [stdout] | ^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossbeam_channel::select` [INFO] [stdout] --> src/tests.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | use crossbeam_channel::select; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Target` [INFO] [stdout] --> src/tests.rs:5:27 [INFO] [stdout] | [INFO] [stdout] 5 | use env_logger::{Env, Target}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log_enabled` [INFO] [stdout] --> src/tests.rs:6:28 [INFO] [stdout] | [INFO] [stdout] 6 | use log::{debug, info, log_enabled}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OpenOptions` [INFO] [stdout] --> src/tests.rs:9:35 [INFO] [stdout] | [INFO] [stdout] 9 | use std::fs::{remove_dir_all, OpenOptions}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Cursor` [INFO] [stdout] --> src/tests.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | use std::io::Cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::Chars` [INFO] [stdout] --> src/tests.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | use std::str::Chars; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AtomicBool`, `Ordering` [INFO] [stdout] --> src/tests.rs:13:29 [INFO] [stdout] | [INFO] [stdout] 13 | use std::sync::atomic::{AtomicBool, Ordering}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc::channel` [INFO] [stdout] --> src/tests.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::mpsc::channel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `spawn` [INFO] [stdout] --> src/tests.rs:15:30 [INFO] [stdout] | [INFO] [stdout] 15 | use std::thread::{sleep, spawn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/tests.rs:16:31 [INFO] [stdout] | [INFO] [stdout] 16 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempdir::TempDir` [INFO] [stdout] --> src/tests.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | use tempdir::TempDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/tests.rs:117:25 [INFO] [stdout] | [INFO] [stdout] 117 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `env_logger::Builder` [INFO] [stdout] --> src/tests.rs:381:13 [INFO] [stdout] | [INFO] [stdout] 381 | use env_logger::Builder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::LevelFilter` [INFO] [stdout] --> src/tests.rs:382:13 [INFO] [stdout] | [INFO] [stdout] 382 | use log::LevelFilter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/tests.rs:383:13 [INFO] [stdout] | [INFO] [stdout] 383 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BitCask` [INFO] [stdout] --> src/util.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{BitCask, UnexpectedError}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/util.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `expire_key` [INFO] [stdout] --> src/lib.rs:29:32 [INFO] [stdout] | [INFO] [stdout] 29 | use crate::util::{expire_hint, expire_key, load_index_from_data_file}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossbeam::sync::WaitGroup` [INFO] [stdout] --> src/lib.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | use crossbeam::sync::WaitGroup; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/lib.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Debug` [INFO] [stdout] --> src/lib.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | use std::fmt::Debug; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File`, `OpenOptions` [INFO] [stdout] --> src/lib.rs:40:36 [INFO] [stdout] | [INFO] [stdout] 40 | use std::fs::{remove_file, rename, File, OpenOptions}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AtomicBool`, `Ordering` [INFO] [stdout] --> src/lib.rs:43:25 [INFO] [stdout] | [INFO] [stdout] 43 | use std::sync::atomic::{AtomicBool, Ordering}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Once` [INFO] [stdout] --> src/lib.rs:44:41 [INFO] [stdout] | [INFO] [stdout] 44 | use std::sync::{Arc, Mutex, MutexGuard, Once}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `JoinHandle`, `sleep` [INFO] [stdout] --> src/lib.rs:45:19 [INFO] [stdout] | [INFO] [stdout] 45 | use std::thread::{sleep, spawn, JoinHandle}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/lib.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/lib.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 61 | / loop { [INFO] [stdout] 62 | | let interval = crossbeam_channel::after(Duration::from_secs(cfg.auto_merge_interval_check)); [INFO] [stdout] 63 | | select! { [INFO] [stdout] 64 | | recv(interval) -> msg => { [INFO] [stdout] ... | [INFO] [stdout] 96 | | } [INFO] [stdout] 97 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 98 | info!("finish call Once, tid: {}", tid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `$crate::log_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Index` [INFO] [stdout] --> src/data_file.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::radix_tree::{Index, Indexer}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `filename::Filename` [INFO] [stdout] --> src/data_file.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use filename::Filename; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/data_file.rs:16:37 [INFO] [stdout] | [INFO] [stdout] 16 | use std::io::{Read, Seek, SeekFrom, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadBytesExt` [INFO] [stdout] --> src/entry.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/lib.rs:64:31 [INFO] [stdout] | [INFO] [stdout] 64 | recv(interval) -> msg => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ch` [INFO] [stdout] --> src/lib.rs:67:25 [INFO] [stdout] | [INFO] [stdout] 67 | recv(rx) -> ch => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/lib.rs:184:21 [INFO] [stdout] | [INFO] [stdout] 184 | if let Some(index) = bc.hint_index.get(key) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hint` [INFO] [stdout] --> src/lib.rs:202:19 [INFO] [stdout] | [INFO] [stdout] 202 | for (key, hint) in bc.hint_index.iter_prefix(&prefix).into_iter() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_hint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `entry_sz` is never read [INFO] [stdout] --> src/lib.rs:351:17 [INFO] [stdout] | [INFO] [stdout] 351 | let mut entry_sz = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/lib.rs:522:14 [INFO] [stdout] | [INFO] [stdout] 522 | for (key, hint) in key_values { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entry` [INFO] [stdout] --> src/data_file.rs:190:16 [INFO] [stdout] | [INFO] [stdout] 190 | Ok(entry) => {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> src/data_file.rs:176:50 [INFO] [stdout] | [INFO] [stdout] 176 | pub(crate) fn recover_last_data_file(path: &str, cfg: &config::Config) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> src/data_file.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | cfg: config::Config, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/data_file.rs:266:9 [INFO] [stdout] | [INFO] [stdout] 266 | for i in 0..10 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/data_file.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | let offset = fs.stream_len().unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/hint.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | for i in 0..100000 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hint1` is never read [INFO] [stdout] --> src/tests.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | let mut hint1 = HashMap::new(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tests.rs:167:17 [INFO] [stdout] | [INFO] [stdout] 167 | for i in 1..=n { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hint2` is never read [INFO] [stdout] --> src/tests.rs:185:17 [INFO] [stdout] | [INFO] [stdout] 185 | let mut hint2 = HashMap::new(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/tests.rs:197:23 [INFO] [stdout] | [INFO] [stdout] 197 | for (key, value) in hint2 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tests.rs:221:17 [INFO] [stdout] | [INFO] [stdout] 221 | for i in 1..=1 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tests.rs:245:13 [INFO] [stdout] | [INFO] [stdout] 245 | for i in 0..num { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> src/tests.rs:261:13 [INFO] [stdout] | [INFO] [stdout] 261 | let num = entries.len(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> src/tests.rs:279:13 [INFO] [stdout] | [INFO] [stdout] 279 | let num = entries.len(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tests.rs:311:13 [INFO] [stdout] | [INFO] [stdout] 311 | for i in 0..num { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tests.rs:318:13 [INFO] [stdout] | [INFO] [stdout] 318 | for i in 0..20 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/tests.rs:336:13 [INFO] [stdout] | [INFO] [stdout] 336 | for i in 0..50 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `final_entries` [INFO] [stdout] --> src/tests.rs:339:13 [INFO] [stdout] | [INFO] [stdout] 339 | let final_entries = bitcask.lc().entries(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_entries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/tests.rs:358:49 [INFO] [stdout] | [INFO] [stdout] 358 | bitcask.scan("A".as_bytes().to_vec(), |(key, value)| { [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/tests.rs:358:54 [INFO] [stdout] | [INFO] [stdout] 358 | bitcask.scan("A".as_bytes().to_vec(), |(key, value)| { [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/tests.rs:365:49 [INFO] [stdout] | [INFO] [stdout] 365 | bitcask.scan("B".as_bytes().to_vec(), |(key, value)| { [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/tests.rs:365:54 [INFO] [stdout] | [INFO] [stdout] 365 | bitcask.scan("B".as_bytes().to_vec(), |(key, value)| { [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/tests.rs:372:48 [INFO] [stdout] | [INFO] [stdout] 372 | bitcask.scan("".as_bytes().to_vec(), |(key, value)| { [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/tests.rs:372:53 [INFO] [stdout] | [INFO] [stdout] 372 | bitcask.scan("".as_bytes().to_vec(), |(key, value)| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/key_value.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | let mut v = vec![8; 0]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests.rs:436:13 [INFO] [stdout] | [INFO] [stdout] 436 | let mut cfg = Config::default().auto_sync(false); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 201 | let mut bc = self.lc(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/data_file.rs:257:13 [INFO] [stdout] | [INFO] [stdout] 257 | let mut entry = Entry::new( [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 105 | let mut bitcask = generate_n(10000, 3); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | let mut cfg = Config::default().auto_sync(false); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | let mut bitcask = BitCask::open(Path::new(&tmp), cfg).unwrap(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | let mut cfg = Config::default().auto_sync(false).auto_merge(true); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | let mut bitcask = BitCask::open(Path::new(&tmp), cfg).unwrap(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests.rs:148:21 [INFO] [stdout] | [INFO] [stdout] 148 | let mut value = generate_n_sz_buffer(1 << 10); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | let mut cfg = Config::default().auto_sync(false).auto_merge(true); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests.rs:158:17 [INFO] [stdout] | [INFO] [stdout] 158 | let mut bitcask = BitCask::open(Path::new(&tmp), cfg).unwrap(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | let mut cfg = Config::default().auto_sync(false).auto_merge(true); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests.rs:188:17 [INFO] [stdout] | [INFO] [stdout] 188 | let mut bitcask = BitCask::open(Path::new(&tmp), cfg).unwrap(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests.rs:275:13 [INFO] [stdout] | [INFO] [stdout] 275 | let mut timout_n = 103; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `reopen` [INFO] [stdout] --> src/lib.rs:212:8 [INFO] [stdout] | [INFO] [stdout] 212 | fn reopen(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `base_name` [INFO] [stdout] --> src/data_file.rs:60:19 [INFO] [stdout] | [INFO] [stdout] 60 | pub(crate) fn base_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `read_all` [INFO] [stdout] --> src/data_file.rs:115:19 [INFO] [stdout] | [INFO] [stdout] 115 | pub(crate) fn read_all(&mut self) -> Result> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `to_vec` [INFO] [stdout] --> src/entry.rs:81:19 [INFO] [stdout] | [INFO] [stdout] 81 | pub(crate) fn to_vec(&self) -> Result> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 31s [INFO] [stdout] warning: function is never used: `filter` [INFO] [stdout] --> src/radix_tree.rs:198:8 [INFO] [stdout] | [INFO] [stdout] 198 | fn filter(v: Vec, f: Option bool>) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `mock2` [INFO] [stdout] --> src/tests.rs:398:8 [INFO] [stdout] | [INFO] [stdout] 398 | fn mock2(prefix: impl Into>, flag: String) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `expire_key` [INFO] [stdout] --> src/util.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | pub(crate) fn expire_key() -> impl FnMut(&Entry) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | tx.send(()); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | bitcask.unwrap().close(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:170:17 [INFO] [stdout] | [INFO] [stdout] 170 | bitcask.delete(&del_key); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:219:17 [INFO] [stdout] | [INFO] [stdout] 219 | bitcask.put_with_ttl(entry.key.clone(), entry.value.clone(), entry.expiry); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:222:17 [INFO] [stdout] | [INFO] [stdout] 222 | bitcask.merge(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:242:13 [INFO] [stdout] | [INFO] [stdout] 242 | bitcask.put_with_ttl(entry.key.clone(), entry.value.clone(), entry.expiry); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:248:13 [INFO] [stdout] | [INFO] [stdout] 248 | bitcask.delete(&key); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:263:13 [INFO] [stdout] | [INFO] [stdout] 263 | bitcask.put_with_ttl(entry.key.clone(), entry.value.clone(), entry.expiry); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:266:9 [INFO] [stdout] | [INFO] [stdout] 266 | bitcask.close(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 281 | bitcask.put_with_ttl(entry.key.clone(), entry.value.clone(), entry.expiry); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:288:9 [INFO] [stdout] | [INFO] [stdout] 288 | bitcask.close(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:300:9 [INFO] [stdout] | [INFO] [stdout] 300 | remove_dir_all(Path::new(&tmp)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:358:9 [INFO] [stdout] | [INFO] [stdout] 358 | / bitcask.scan("A".as_bytes().to_vec(), |(key, value)| { [INFO] [stdout] 359 | | n += 1; [INFO] [stdout] 360 | | Ok(()) [INFO] [stdout] 361 | | }); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:365:9 [INFO] [stdout] | [INFO] [stdout] 365 | / bitcask.scan("B".as_bytes().to_vec(), |(key, value)| { [INFO] [stdout] 366 | | n += 1; [INFO] [stdout] 367 | | Ok(()) [INFO] [stdout] 368 | | }); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:372:9 [INFO] [stdout] | [INFO] [stdout] 372 | / bitcask.scan("".as_bytes().to_vec(), |(key, value)| { [INFO] [stdout] 373 | | n += 1; [INFO] [stdout] 374 | | Ok(()) [INFO] [stdout] 375 | | }); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:384:9 [INFO] [stdout] | [INFO] [stdout] 384 | env_logger::try_init_from_env(Env::new().default_filter_or("info")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/tests.rs:405:13 [INFO] [stdout] | [INFO] [stdout] 405 | / builder [INFO] [stdout] 406 | | .format(move |buf, record| { [INFO] [stdout] 407 | | writeln!( [INFO] [stdout] 408 | | buf, [INFO] [stdout] ... | [INFO] [stdout] 418 | | .filter(None, LevelFilter::Debug) [INFO] [stdout] 419 | | .try_init(); [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 147 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7ffb736581735e1fa6e23a050f6a81dc815ba015c82fb8ac148faf4f681c59c1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7ffb736581735e1fa6e23a050f6a81dc815ba015c82fb8ac148faf4f681c59c1", kill_on_drop: false }` [INFO] [stdout] 7ffb736581735e1fa6e23a050f6a81dc815ba015c82fb8ac148faf4f681c59c1