[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] testing laohanlinux/bitcask-rs against master#0d13f6afeba4935499abe0c9a07426c94492c94e for pr-96025 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flaohanlinux%2Fbitcask-rs" "/workspace/builds/worker-9/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/laohanlinux/bitcask-rs on toolchain 0d13f6afeba4935499abe0c9a07426c94492c94e [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+0d13f6afeba4935499abe0c9a07426c94492c94e" "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-9/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" "+0d13f6afeba4935499abe0c9a07426c94492c94e" "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 str_stack v0.1.0 [INFO] [stderr] Downloaded windows_aarch64_msvc v0.28.0 [INFO] [stderr] Downloaded crossbeam-queue v0.3.3 [INFO] [stderr] Downloaded inferno v0.10.10 [INFO] [stderr] Downloaded simple-logging v2.0.2 [INFO] [stderr] Downloaded fslock v0.2.1 [INFO] [stderr] Downloaded nix v0.20.2 [INFO] [stderr] Downloaded filename v0.1.1 [INFO] [stderr] Downloaded fd-lock v3.0.2 [INFO] [stderr] Downloaded pprof v0.4.5 [INFO] [stderr] Downloaded qp-trie v0.7.7 [INFO] [stderr] Downloaded windows_i686_gnu v0.28.0 [INFO] [stderr] Downloaded windows_i686_msvc v0.28.0 [INFO] [stderr] Downloaded windows_x86_64_msvc v0.28.0 [INFO] [stderr] Downloaded windows_x86_64_gnu v0.28.0 [INFO] [stderr] Downloaded windows-sys v0.28.0 [INFO] [stderr] Downloaded bra v0.1.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+0d13f6afeba4935499abe0c9a07426c94492c94e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3b0381b7f98b3d7a1053d901e1b4c0020a330bfb09f80991a07e362fff72fd34 [INFO] running `Command { std: "docker" "start" "-a" "3b0381b7f98b3d7a1053d901e1b4c0020a330bfb09f80991a07e362fff72fd34", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3b0381b7f98b3d7a1053d901e1b4c0020a330bfb09f80991a07e362fff72fd34", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3b0381b7f98b3d7a1053d901e1b4c0020a330bfb09f80991a07e362fff72fd34", kill_on_drop: false }` [INFO] [stdout] 3b0381b7f98b3d7a1053d901e1b4c0020a330bfb09f80991a07e362fff72fd34 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+0d13f6afeba4935499abe0c9a07426c94492c94e" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dfc20a1191c5982aec8323eea0f51030b2820d0a75d4ec8a74e965caa58d309c [INFO] running `Command { std: "docker" "start" "-a" "dfc20a1191c5982aec8323eea0f51030b2820d0a75d4ec8a74e965caa58d309c", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.36 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling syn v1.0.85 [INFO] [stderr] Compiling libc v0.2.112 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.6 [INFO] [stderr] Compiling serde_derive v1.0.133 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling serde v1.0.133 [INFO] [stderr] Compiling crossbeam-epoch v0.9.6 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling crossbeam-queue v0.3.3 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling serde_json v1.0.74 [INFO] [stderr] Compiling anyhow v1.0.52 [INFO] [stderr] Compiling crc-catalog v1.1.1 [INFO] [stderr] Compiling new_debug_unreachable v1.0.4 [INFO] [stderr] Compiling ryu v1.0.9 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Compiling itoa v1.0.1 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling crc v2.1.0 [INFO] [stderr] Compiling unreachable v1.0.0 [INFO] [stderr] Compiling qp-trie v0.7.7 [INFO] [stderr] Compiling value-bag v1.0.0-alpha.8 [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 crossbeam-channel v0.5.2 [INFO] [stderr] Compiling quote v1.0.14 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling fd-lock v3.0.2 [INFO] [stderr] Compiling filename v0.1.1 [INFO] [stderr] Compiling fslock v0.2.1 [INFO] [stderr] Compiling crossbeam-deque v0.8.1 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Compiling crossbeam v0.8.1 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling ctor v0.1.21 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Compiling kv-log-macro v1.0.7 [INFO] [stderr] Compiling thiserror v1.0.30 [INFO] [stderr] Compiling bytes v1.1.0 [INFO] [stderr] Compiling toml v0.5.8 [INFO] [stderr] Compiling 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] [stdout] warning: 83 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 21.17s [INFO] running `Command { std: "docker" "inspect" "dfc20a1191c5982aec8323eea0f51030b2820d0a75d4ec8a74e965caa58d309c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dfc20a1191c5982aec8323eea0f51030b2820d0a75d4ec8a74e965caa58d309c", kill_on_drop: false }` [INFO] [stdout] dfc20a1191c5982aec8323eea0f51030b2820d0a75d4ec8a74e965caa58d309c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+0d13f6afeba4935499abe0c9a07426c94492c94e" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6eafd544235d072fa11234d4adb30c52c9c9f101d8f5f2f5c78b9bac0103536e [INFO] running `Command { std: "docker" "start" "-a" "6eafd544235d072fa11234d4adb30c52c9c9f101d8f5f2f5c78b9bac0103536e", 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] Compiling libc v0.2.112 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.6 [INFO] [stderr] Compiling semver v1.0.4 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Compiling itoa v0.4.8 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling cpp_demangle v0.3.5 [INFO] [stderr] Compiling cc v1.0.72 [INFO] [stderr] Compiling uuid v0.8.2 [INFO] [stderr] Compiling nodrop v0.1.14 [INFO] [stderr] Compiling plotters-backend v0.3.2 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling unicode-width v0.1.9 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling once_cell v1.9.0 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling half v1.8.2 [INFO] [stderr] Compiling smallvec v1.8.0 [INFO] [stderr] Compiling rustc-demangle v0.1.21 [INFO] [stderr] Compiling symbolic-demangle v8.5.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.16 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling gimli v0.26.1 [INFO] [stderr] Compiling bytemuck v1.7.3 [INFO] [stderr] Compiling oorandom v11.1.3 [INFO] [stderr] Compiling names v0.12.0 [INFO] [stderr] Compiling str_stack v0.1.0 [INFO] [stderr] Compiling pprof v0.4.5 [INFO] [stderr] Compiling fastrand v1.7.0 [INFO] [stderr] Compiling humantime v2.1.0 [INFO] [stderr] Compiling termcolor v1.1.2 [INFO] [stderr] Compiling random v0.12.2 [INFO] [stderr] Compiling bra v0.1.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling ahash v0.7.6 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling indexmap v1.8.0 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling lock_api v0.4.5 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling walkdir v2.3.2 [INFO] [stderr] Compiling plotters-svg v0.3.1 [INFO] [stderr] Compiling itertools v0.10.3 [INFO] [stderr] Compiling debugid v0.7.2 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling rgb v0.8.31 [INFO] [stderr] Compiling serde_cbor v0.11.2 [INFO] [stderr] Compiling num-format v0.4.0 [INFO] [stderr] Compiling kv-log-macro v1.0.7 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling backtrace v0.3.63 [INFO] [stderr] Compiling crossbeam-epoch v0.9.6 [INFO] [stderr] Compiling crossbeam-channel v0.5.2 [INFO] [stderr] Compiling crossbeam-queue v0.3.3 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling bstr v0.2.17 [INFO] [stderr] Compiling csv-core v0.1.10 [INFO] [stderr] Compiling object v0.27.1 [INFO] [stderr] Compiling quick-xml v0.22.0 [INFO] [stderr] Compiling cast v0.2.7 [INFO] [stderr] Compiling crossbeam-deque v0.8.1 [INFO] [stderr] Compiling crossbeam v0.8.1 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling plotters v0.3.1 [INFO] [stderr] Compiling csv v1.1.6 [INFO] [stderr] Compiling criterion-plot v0.4.4 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling memmap v0.7.0 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling nix v0.20.2 [INFO] [stderr] Compiling filename v0.1.1 [INFO] [stderr] Compiling fd-lock v3.0.2 [INFO] [stderr] Compiling tempfile v3.3.0 [INFO] [stderr] Compiling thread-id v3.3.0 [INFO] [stderr] Compiling fslock v0.2.1 [INFO] [stderr] Compiling simple-logging v2.0.2 [INFO] [stderr] Compiling symbolic-common v8.5.0 [INFO] [stderr] Compiling threadpool v1.8.1 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling inferno v0.10.10 [INFO] [stderr] Compiling rand v0.8.4 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Compiling addr2line v0.17.0 [INFO] [stderr] Compiling env_logger v0.9.0 [INFO] [stderr] Compiling 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] [stdout] warning: 83 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling criterion v0.3.5 [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: 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] [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: `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: 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: 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] [stderr] Finished test [unoptimized + debuginfo] target(s) in 17.74s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/bitcask_rs-2416e44333a8b3a1) [INFO] running `Command { std: "docker" "inspect" "6eafd544235d072fa11234d4adb30c52c9c9f101d8f5f2f5c78b9bac0103536e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6eafd544235d072fa11234d4adb30c52c9c9f101d8f5f2f5c78b9bac0103536e", kill_on_drop: false }` [INFO] [stdout] 6eafd544235d072fa11234d4adb30c52c9c9f101d8f5f2f5c78b9bac0103536e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+0d13f6afeba4935499abe0c9a07426c94492c94e" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] bf3ba58be7764710b1bc2eb280039f58c5d8fc3f2160ec797f57777a77482b96 [INFO] running `Command { std: "docker" "start" "-a" "bf3ba58be7764710b1bc2eb280039f58c5d8fc3f2160ec797f57777a77482b96", 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] warning: unused imports: `FileType`, `File` [INFO] [stderr] --> src/config.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fs::{File, FileType}; [INFO] [stderr] | ^^^^ ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `NoMoreData` [INFO] [stderr] --> src/data_file.rs:4:34 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::error::BitCaskError::{NoMoreData, UnexpectedError}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BitCaskError` [INFO] [stderr] --> src/data_file.rs:5:20 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::error::{BitCaskError, Result}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::hint::Hint` [INFO] [stderr] --> src/data_file.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::hint::Hint; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Indexer` [INFO] [stderr] --> src/data_file.rs:7:32 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::radix_tree::{Index, Indexer}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BorrowMut`, `Borrow` [INFO] [stderr] --> src/data_file.rs:11:19 [INFO] [stderr] | [INFO] [stderr] 11 | use std::borrow::{Borrow, BorrowMut}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/data_file.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::SeekFrom::End` [INFO] [stderr] --> src/data_file.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::io::SeekFrom::End; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `bytes::Bytes` [INFO] [stderr] --> src/entry.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use bytes::Bytes; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `log::debug` [INFO] [stderr] --> src/entry.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use log::debug; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `RefCell`, `RefMut` [INFO] [stderr] --> src/entry.rs:9:17 [INFO] [stderr] | [INFO] [stderr] 9 | use std::cell::{RefCell, RefMut}; [INFO] [stderr] | ^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/entry.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::SeekFrom::Current` [INFO] [stderr] --> src/entry.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::io::SeekFrom::Current; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BufReader` [INFO] [stderr] --> src/entry.rs:13:15 [INFO] [stderr] | [INFO] [stderr] 13 | use std::io::{BufReader, BufWriter, Cursor, Read, Write}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the item `BigEndian` is imported redundantly [INFO] [stderr] --> src/entry.rs:134:25 [INFO] [stderr] | [INFO] [stderr] 4 | use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; [INFO] [stderr] | --------- the item `BigEndian` is already imported here [INFO] [stderr] ... [INFO] [stderr] 134 | use byteorder::{BigEndian, ReadBytesExt}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the item `ReadBytesExt` is imported redundantly [INFO] [stderr] --> src/entry.rs:134:36 [INFO] [stderr] | [INFO] [stderr] 4 | use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; [INFO] [stderr] | ------------ the item `ReadBytesExt` is already imported here [INFO] [stderr] ... [INFO] [stderr] 134 | use byteorder::{BigEndian, ReadBytesExt}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the item `Bytes` is imported redundantly [INFO] [stderr] --> src/entry.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 5 | use bytes::Bytes; [INFO] [stderr] | ------------ the item `Bytes` is already imported here [INFO] [stderr] ... [INFO] [stderr] 135 | use bytes::Bytes; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `bytes::Bytes` [INFO] [stderr] --> src/entry.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | use bytes::Bytes; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `KeyValue` [INFO] [stderr] --> src/hint.rs:1:36 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::codec::{Decode, Encode, KeyValue}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `kv_log_macro::debug` [INFO] [stderr] --> src/hint.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use kv_log_macro::debug; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Seek` [INFO] [stderr] --> src/hint.rs:7:29 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io::{Cursor, Read, Seek, Write}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `log::info` [INFO] [stderr] --> src/hint.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use log::info; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Write` [INFO] [stderr] --> src/key_value.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | use std::io::Write; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Write` [INFO] [stderr] --> src/key_value.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | use std::io::Write; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Write` [INFO] [stderr] --> src/key_value.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | use std::io::Write; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/metadata.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Bytes` [INFO] [stderr] --> src/metadata.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::io::Bytes; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ptr::write_bytes` [INFO] [stderr] --> src/metadata.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::ptr::write_bytes; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `KeyValue` [INFO] [stderr] --> src/radix_tree.rs:1:36 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::codec::{Decode, Encode, KeyValue}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::entry::Entry` [INFO] [stderr] --> src/radix_tree.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::entry::Entry; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::error::BitCaskError::NoMoreData` [INFO] [stderr] --> src/radix_tree.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::error::BitCaskError::NoMoreData; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::hint::Hint` [INFO] [stderr] --> src/radix_tree.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::hint::Hint; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde::de::Unexpected::Bytes` [INFO] [stderr] --> src/radix_tree.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use serde::de::Unexpected::Bytes; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Deserialize`, `Serialize` [INFO] [stderr] --> src/radix_tree.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | use serde::{Deserialize, Serialize}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::Borrow` [INFO] [stderr] --> src/radix_tree.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::borrow::Borrow; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/radix_tree.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `File` [INFO] [stderr] --> src/radix_tree.rs:14:15 [INFO] [stderr] | [INFO] [stderr] 14 | use std::fs::{File, OpenOptions}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `SeekFrom`, `Seek` [INFO] [stderr] --> src/radix_tree.rs:15:15 [INFO] [stderr] | [INFO] [stderr] 15 | use std::io::{BufReader, BufWriter, Cursor, Read, Seek, SeekFrom, Write}; [INFO] [stderr] | ^^^^^^^^^ ^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Deref` [INFO] [stderr] --> src/radix_tree.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::ops::Deref; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `Mutex` [INFO] [stderr] --> src/radix_tree.rs:17:17 [INFO] [stderr] | [INFO] [stderr] 17 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread::spawn` [INFO] [stderr] --> src/radix_tree.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use std::thread::spawn; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Decode`, `Encode` [INFO] [stderr] --> src/recover.rs:1:20 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::codec::{Decode, Encode}; [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::entry::Entry` [INFO] [stderr] --> src/recover.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::entry::Entry; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BitCaskError` [INFO] [stderr] --> src/recover.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::error::{BitCaskError, Result}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Config` [INFO] [stderr] --> src/recover.rs:6:21 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::{config, Config}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `warn` [INFO] [stderr] --> src/recover.rs:8:18 [INFO] [stderr] | [INFO] [stderr] 8 | use log::{debug, warn}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/recover.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `File` [INFO] [stderr] --> src/recover.rs:10:28 [INFO] [stderr] | [INFO] [stderr] 10 | use std::fs::{remove_file, File}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BitCask` [INFO] [stderr] --> src/util.rs:6:13 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::{BitCask, UnexpectedError}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/util.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `expire_key` [INFO] [stderr] --> src/lib.rs:29:32 [INFO] [stderr] | [INFO] [stderr] 29 | use crate::util::{expire_hint, expire_key, load_index_from_data_file}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crossbeam::sync::WaitGroup` [INFO] [stderr] --> src/lib.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | use crossbeam::sync::WaitGroup; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/lib.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::Debug` [INFO] [stderr] --> src/lib.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | use std::fmt::Debug; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `File`, `OpenOptions` [INFO] [stderr] --> src/lib.rs:40:36 [INFO] [stderr] | [INFO] [stderr] 40 | use std::fs::{remove_file, rename, File, OpenOptions}; [INFO] [stderr] | ^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AtomicBool`, `Ordering` [INFO] [stderr] --> src/lib.rs:43:25 [INFO] [stderr] | [INFO] [stderr] 43 | use std::sync::atomic::{AtomicBool, Ordering}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Once` [INFO] [stderr] --> src/lib.rs:44:41 [INFO] [stderr] | [INFO] [stderr] 44 | use std::sync::{Arc, Mutex, MutexGuard, Once}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `JoinHandle`, `sleep` [INFO] [stderr] --> src/lib.rs:45:19 [INFO] [stderr] | [INFO] [stderr] 45 | use std::thread::{sleep, spawn, JoinHandle}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Instant` [INFO] [stderr] --> src/lib.rs:46:27 [INFO] [stderr] | [INFO] [stderr] 46 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/lib.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 61 | / loop { [INFO] [stderr] 62 | | let interval = crossbeam_channel::after(Duration::from_secs(cfg.auto_merge_interval_check)); [INFO] [stderr] 63 | | select! { [INFO] [stderr] 64 | | recv(interval) -> msg => { [INFO] [stderr] ... | [INFO] [stderr] 96 | | } [INFO] [stderr] 97 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 98 | info!("finish call Once, tid: {}", tid); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] = note: this warning originates in the macro `$crate::log_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused import: `Index` [INFO] [stderr] --> src/data_file.rs:7:25 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::radix_tree::{Index, Indexer}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `filename::Filename` [INFO] [stderr] --> src/data_file.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use filename::Filename; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Write` [INFO] [stderr] --> src/data_file.rs:16:37 [INFO] [stderr] | [INFO] [stderr] 16 | use std::io::{Read, Seek, SeekFrom, Write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ReadBytesExt` [INFO] [stderr] --> src/entry.rs:4:28 [INFO] [stderr] | [INFO] [stderr] 4 | use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/lib.rs:64:31 [INFO] [stderr] | [INFO] [stderr] 64 | recv(interval) -> msg => { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ch` [INFO] [stderr] --> src/lib.rs:67:25 [INFO] [stderr] | [INFO] [stderr] 67 | recv(rx) -> ch => { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_ch` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/lib.rs:184:21 [INFO] [stderr] | [INFO] [stderr] 184 | if let Some(index) = bc.hint_index.get(key) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hint` [INFO] [stderr] --> src/lib.rs:202:19 [INFO] [stderr] | [INFO] [stderr] 202 | for (key, hint) in bc.hint_index.iter_prefix(&prefix).into_iter() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_hint` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `entry_sz` is never read [INFO] [stderr] --> src/lib.rs:351:17 [INFO] [stderr] | [INFO] [stderr] 351 | let mut entry_sz = 0; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/lib.rs:522:14 [INFO] [stderr] | [INFO] [stderr] 522 | for (key, hint) in key_values { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `entry` [INFO] [stderr] --> src/data_file.rs:190:16 [INFO] [stderr] | [INFO] [stderr] 190 | Ok(entry) => {} [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cfg` [INFO] [stderr] --> src/data_file.rs:176:50 [INFO] [stderr] | [INFO] [stderr] 176 | pub(crate) fn recover_last_data_file(path: &str, cfg: &config::Config) -> Result { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cfg` [INFO] [stderr] --> src/data_file.rs:225:5 [INFO] [stderr] | [INFO] [stderr] 225 | cfg: config::Config, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offset` [INFO] [stderr] --> src/data_file.rs:136:13 [INFO] [stderr] | [INFO] [stderr] 136 | let offset = fs.stream_len().unwrap(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/key_value.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | let mut v = vec![8; 0]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:201:13 [INFO] [stderr] | [INFO] [stderr] 201 | let mut bc = self.lc(); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `reopen` [INFO] [stderr] --> src/lib.rs:212:8 [INFO] [stderr] | [INFO] [stderr] 212 | fn reopen(&mut self) -> Result<()> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `base_name` [INFO] [stderr] --> src/data_file.rs:60:19 [INFO] [stderr] | [INFO] [stderr] 60 | pub(crate) fn base_name(&self) -> String { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `read_all` [INFO] [stderr] --> src/data_file.rs:115:19 [INFO] [stderr] | [INFO] [stderr] 115 | pub(crate) fn read_all(&mut self) -> Result> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `to_vec` [INFO] [stderr] --> src/entry.rs:81:19 [INFO] [stderr] | [INFO] [stderr] 81 | pub(crate) fn to_vec(&self) -> Result> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `sure_tmp_dir` [INFO] [stderr] --> src/tests_util.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn sure_tmp_dir(prefix: &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `expire_key` [INFO] [stderr] --> src/util.rs:66:15 [INFO] [stderr] | [INFO] [stderr] 66 | pub(crate) fn expire_key() -> impl FnMut(&Entry) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | tx.send(()); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: `bitcask-rs` (lib) generated 83 warnings [INFO] [stderr] warning: unused imports: `DataFile`, `Hint`, `Indexer`, `Persisted` [INFO] [stderr] --> src/tests.rs:3:34 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::{BitCask, Config, DataFile, Entry, Hint, Index, Indexer, Persisted}; [INFO] [stderr] | ^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crossbeam_channel::select` [INFO] [stderr] --> src/tests.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | use crossbeam_channel::select; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Target` [INFO] [stderr] --> src/tests.rs:5:27 [INFO] [stderr] | [INFO] [stderr] 5 | use env_logger::{Env, Target}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `log_enabled` [INFO] [stderr] --> src/tests.rs:6:28 [INFO] [stderr] | [INFO] [stderr] 6 | use log::{debug, info, log_enabled}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `OpenOptions` [INFO] [stderr] --> src/tests.rs:9:35 [INFO] [stderr] | [INFO] [stderr] 9 | use std::fs::{remove_dir_all, OpenOptions}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Cursor` [INFO] [stderr] --> src/tests.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | use std::io::Cursor; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::Chars` [INFO] [stderr] --> src/tests.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | use std::str::Chars; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AtomicBool`, `Ordering` [INFO] [stderr] --> src/tests.rs:13:29 [INFO] [stderr] | [INFO] [stderr] 13 | use std::sync::atomic::{AtomicBool, Ordering}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::channel` [INFO] [stderr] --> src/tests.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | use std::sync::mpsc::channel; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `spawn` [INFO] [stderr] --> src/tests.rs:15:30 [INFO] [stderr] | [INFO] [stderr] 15 | use std::thread::{sleep, spawn}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Instant` [INFO] [stderr] --> src/tests.rs:16:31 [INFO] [stderr] | [INFO] [stderr] 16 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `tempdir::TempDir` [INFO] [stderr] --> src/tests.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | use tempdir::TempDir; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Duration` [INFO] [stderr] --> src/tests.rs:117:25 [INFO] [stderr] | [INFO] [stderr] 117 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `env_logger::Builder` [INFO] [stderr] --> src/tests.rs:381:13 [INFO] [stderr] | [INFO] [stderr] 381 | use env_logger::Builder; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `log::LevelFilter` [INFO] [stderr] --> src/tests.rs:382:13 [INFO] [stderr] | [INFO] [stderr] 382 | use log::LevelFilter; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Write` [INFO] [stderr] --> src/tests.rs:383:13 [INFO] [stderr] | [INFO] [stderr] 383 | use std::io::Write; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/data_file.rs:266:9 [INFO] [stderr] | [INFO] [stderr] 266 | for i in 0..10 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/hint.rs:133:9 [INFO] [stderr] | [INFO] [stderr] 133 | for i in 0..100000 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `hint1` is never read [INFO] [stderr] --> src/tests.rs:163:17 [INFO] [stderr] | [INFO] [stderr] 163 | let mut hint1 = HashMap::new(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/tests.rs:167:17 [INFO] [stderr] | [INFO] [stderr] 167 | for i in 1..=n { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `hint2` is never read [INFO] [stderr] --> src/tests.rs:185:17 [INFO] [stderr] | [INFO] [stderr] 185 | let mut hint2 = HashMap::new(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/tests.rs:197:23 [INFO] [stderr] | [INFO] [stderr] 197 | for (key, value) in hint2 { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/tests.rs:221:17 [INFO] [stderr] | [INFO] [stderr] 221 | for i in 1..=1 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/tests.rs:245:13 [INFO] [stderr] | [INFO] [stderr] 245 | for i in 0..num { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num` [INFO] [stderr] --> src/tests.rs:261:13 [INFO] [stderr] | [INFO] [stderr] 261 | let num = entries.len(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_num` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num` [INFO] [stderr] --> src/tests.rs:279:13 [INFO] [stderr] | [INFO] [stderr] 279 | let num = entries.len(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_num` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/tests.rs:311:13 [INFO] [stderr] | [INFO] [stderr] 311 | for i in 0..num { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/tests.rs:318:13 [INFO] [stderr] | [INFO] [stderr] 318 | for i in 0..20 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/tests.rs:336:13 [INFO] [stderr] | [INFO] [stderr] 336 | for i in 0..50 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `final_entries` [INFO] [stderr] --> src/tests.rs:339:13 [INFO] [stderr] | [INFO] [stderr] 339 | let final_entries = bitcask.lc().entries(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_entries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/tests.rs:358:49 [INFO] [stderr] | [INFO] [stderr] 358 | bitcask.scan("A".as_bytes().to_vec(), |(key, value)| { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/tests.rs:358:54 [INFO] [stderr] | [INFO] [stderr] 358 | bitcask.scan("A".as_bytes().to_vec(), |(key, value)| { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/tests.rs:365:49 [INFO] [stderr] | [INFO] [stderr] 365 | bitcask.scan("B".as_bytes().to_vec(), |(key, value)| { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/tests.rs:365:54 [INFO] [stderr] | [INFO] [stderr] 365 | bitcask.scan("B".as_bytes().to_vec(), |(key, value)| { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/tests.rs:372:48 [INFO] [stderr] | [INFO] [stderr] 372 | bitcask.scan("".as_bytes().to_vec(), |(key, value)| { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/tests.rs:372:53 [INFO] [stderr] | [INFO] [stderr] 372 | bitcask.scan("".as_bytes().to_vec(), |(key, value)| { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tests.rs:436:13 [INFO] [stderr] | [INFO] [stderr] 436 | let mut cfg = Config::default().auto_sync(false); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/data_file.rs:257:13 [INFO] [stderr] | [INFO] [stderr] 257 | let mut entry = Entry::new( [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tests.rs:105:13 [INFO] [stderr] | [INFO] [stderr] 105 | let mut bitcask = generate_n(10000, 3); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tests.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | let mut cfg = Config::default().auto_sync(false); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tests.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | let mut bitcask = BitCask::open(Path::new(&tmp), cfg).unwrap(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tests.rs:144:17 [INFO] [stderr] | [INFO] [stderr] 144 | let mut cfg = Config::default().auto_sync(false).auto_merge(true); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tests.rs:145:17 [INFO] [stderr] | [INFO] [stderr] 145 | let mut bitcask = BitCask::open(Path::new(&tmp), cfg).unwrap(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tests.rs:148:21 [INFO] [stderr] | [INFO] [stderr] 148 | let mut value = generate_n_sz_buffer(1 << 10); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tests.rs:157:17 [INFO] [stderr] | [INFO] [stderr] 157 | let mut cfg = Config::default().auto_sync(false).auto_merge(true); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tests.rs:158:17 [INFO] [stderr] | [INFO] [stderr] 158 | let mut bitcask = BitCask::open(Path::new(&tmp), cfg).unwrap(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tests.rs:187:17 [INFO] [stderr] | [INFO] [stderr] 187 | let mut cfg = Config::default().auto_sync(false).auto_merge(true); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tests.rs:188:17 [INFO] [stderr] | [INFO] [stderr] 188 | let mut bitcask = BitCask::open(Path::new(&tmp), cfg).unwrap(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tests.rs:275:13 [INFO] [stderr] | [INFO] [stderr] 275 | let mut timout_n = 103; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `filter` [INFO] [stderr] --> src/radix_tree.rs:198:8 [INFO] [stderr] | [INFO] [stderr] 198 | fn filter(v: Vec, f: Option bool>) -> Vec { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mock2` [INFO] [stderr] --> src/tests.rs:398:8 [INFO] [stderr] | [INFO] [stderr] 398 | fn mock2(prefix: impl Into>, flag: String) -> String { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | bitcask.unwrap().close(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:170:17 [INFO] [stderr] | [INFO] [stderr] 170 | bitcask.delete(&del_key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:219:17 [INFO] [stderr] | [INFO] [stderr] 219 | bitcask.put_with_ttl(entry.key.clone(), entry.value.clone(), entry.expiry); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:222:17 [INFO] [stderr] | [INFO] [stderr] 222 | bitcask.merge(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:242:13 [INFO] [stderr] | [INFO] [stderr] 242 | bitcask.put_with_ttl(entry.key.clone(), entry.value.clone(), entry.expiry); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:248:13 [INFO] [stderr] | [INFO] [stderr] 248 | bitcask.delete(&key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:263:13 [INFO] [stderr] | [INFO] [stderr] 263 | bitcask.put_with_ttl(entry.key.clone(), entry.value.clone(), entry.expiry); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:266:9 [INFO] [stderr] | [INFO] [stderr] 266 | bitcask.close(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:281:13 [INFO] [stderr] | [INFO] [stderr] 281 | bitcask.put_with_ttl(entry.key.clone(), entry.value.clone(), entry.expiry); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:288:9 [INFO] [stderr] | [INFO] [stderr] 288 | bitcask.close(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:300:9 [INFO] [stderr] | [INFO] [stderr] 300 | remove_dir_all(Path::new(&tmp)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:358:9 [INFO] [stderr] | [INFO] [stderr] 358 | / bitcask.scan("A".as_bytes().to_vec(), |(key, value)| { [INFO] [stderr] 359 | | n += 1; [INFO] [stderr] 360 | | Ok(()) [INFO] [stderr] 361 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:365:9 [INFO] [stderr] | [INFO] [stderr] 365 | / bitcask.scan("B".as_bytes().to_vec(), |(key, value)| { [INFO] [stderr] 366 | | n += 1; [INFO] [stderr] 367 | | Ok(()) [INFO] [stderr] 368 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:372:9 [INFO] [stderr] | [INFO] [stderr] 372 | / bitcask.scan("".as_bytes().to_vec(), |(key, value)| { [INFO] [stderr] 373 | | n += 1; [INFO] [stderr] 374 | | Ok(()) [INFO] [stderr] 375 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:384:9 [INFO] [stderr] | [INFO] [stderr] 384 | env_logger::try_init_from_env(Env::new().default_filter_or("info")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/tests.rs:405:13 [INFO] [stderr] | [INFO] [stderr] 405 | / builder [INFO] [stderr] 406 | | .format(move |buf, record| { [INFO] [stderr] 407 | | writeln!( [INFO] [stderr] 408 | | buf, [INFO] [stderr] ... | [INFO] [stderr] 418 | | .filter(None, LevelFilter::Debug) [INFO] [stderr] 419 | | .try_init(); [INFO] [stderr] | |____________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: `bitcask-rs` (lib test) generated 147 warnings (80 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.40s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bitcask_rs-2416e44333a8b3a1) [INFO] [stdout] [INFO] [stdout] running 22 tests [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] auto merge at backend [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.krYjRNrFt41c/bitcask [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] wait merge job exit [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] exited succeed [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] receive a exit signer, exited merge at backend, tid: 17 [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.z1dVqErONlHc/bitcask [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.8lQtknGiuOLG/bitcask [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.DNEf0Eq9hTrQ/bitcask [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.siiDOcTcCXwZ/bitcask [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] auto merge at backend [INFO] [stdout] test data_file::data_file_core_samples ... ok [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stdout] test key_value::tests ... ok [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.HjEzNix6Ikcq/bitcask [INFO] [stdout] test data_file::data_file_write_and_read ... ok [INFO] [stdout] test radix_tree::radix_tree ... ok [INFO] [stdout] test tests::tests::bitcask ... ok [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.vmqlkZ3WaIHE/bitcask [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.qVlLozUGoJYd/bitcask [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.1knae7fQhqTi/bitcask [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.HDiCXothJSaL/bitcask [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.o0UaDR6MP1IB/bitcask [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.V02BzkQAONPz/bitcask [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs::tests::tests] start to recover test [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.kaogvBvxy7Tg/bitcask [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] auto merge at backend [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.emFbAT21bxHv/bitcask [INFO] [stderr] [2022-04-26T15:56:53Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.vqgCFNjclNhK/bitcask [INFO] [stdout] test tests::tests::generate_data ... ok [INFO] [stdout] test tests::tests::put_ttl ... ok [INFO] [stdout] test tests::tests::put ... ok [INFO] [stdout] test hint::hint_decode_encode ... ok [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] wait merge job exit [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] exited succeed [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] receive a exit signer, exited merge at backend, tid: 26 [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] auto merge at backend [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.emFbAT21bxHv/bitcask [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] wait merge job exit [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] exited succeed [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] receive a exit signer, exited merge at backend, tid: 27 [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] auto merge at backend [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.emFbAT21bxHv/bitcask [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] merge stats, 0000000000.data, total: 1024, dirty: 0, cost: 578ms [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] wait merge job exit [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] exited succeed [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] receive a exit signer, exited merge at backend, tid: 28 [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] ready to open a new db connection [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs::tests::tests] finished put [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] wait merge job exit [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] exited succeed [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] receive a exit signer, exited merge at backend, tid: 25 [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] auto merge at backend [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] welcome to use bitcask: /tmp/bitcask.emFbAT21bxHv/bitcask [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] wait merge job exit [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] exited succeed [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] receive a exit signer, exited merge at backend, tid: 29 [INFO] [stdout] test tests::tests::recover ... ok [INFO] [stderr] [2022-04-26T15:56:54Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stdout] test tests::tests::merge1 ... ok [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] merge stats, 0000000000.data, total: 1024, dirty: 655, cost: 98ms [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] merge stats, 0000000000.data, total: 1024, dirty: 653, cost: 116ms [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] merge stats, 0000000000.data, total: 1024, dirty: 0, cost: 209ms [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] remove current file: /tmp/bitcask.8lQtknGiuOLG/bitcask/0000000010.data [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] merge stats, 0000000001.data, total: 1024, dirty: 635, cost: 138ms [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] merge stats, 0000000002.data, total: 1024, dirty: 635, cost: 109ms [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] merge stats, 0000000001.data, total: 1024, dirty: 0, cost: 268ms [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stdout] test tests::tests::merge_auto ... ok [INFO] [stdout] test tests::tests::merge_with_delete ... ok [INFO] [stdout] test tests::tests::scan ... ok [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] merge stats, 0000000003.data, total: 1024, dirty: 622, cost: 144ms [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] remove data_file: /tmp/bitcask.8lQtknGiuOLG/bitcask/0000000007.data [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] remove data_file: /tmp/bitcask.8lQtknGiuOLG/bitcask/0000000004.data [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] remove data_file: /tmp/bitcask.8lQtknGiuOLG/bitcask/0000000008.data [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] remove data_file: /tmp/bitcask.8lQtknGiuOLG/bitcask/0000000000.data [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] remove data_file: /tmp/bitcask.8lQtknGiuOLG/bitcask/0000000006.data [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] remove data_file: /tmp/bitcask.8lQtknGiuOLG/bitcask/0000000005.data [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] remove data_file: /tmp/bitcask.8lQtknGiuOLG/bitcask/0000000001.data [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] remove data_file: /tmp/bitcask.8lQtknGiuOLG/bitcask/0000000009.data [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] remove data_file: /tmp/bitcask.8lQtknGiuOLG/bitcask/0000000002.data [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] remove data_file: /tmp/bitcask.8lQtknGiuOLG/bitcask/0000000003.data [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] remove hint file: /tmp/bitcask.8lQtknGiuOLG/bitcask/hint_index [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] remove metadata file: /tmp/bitcask.8lQtknGiuOLG/bitcask/metadata.toml [INFO] [stdout] test tests::tests::get_and_delete ... ok [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] merge stats, 0000000004.data, total: 1024, dirty: 645, cost: 213ms [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] merge stats, 0000000005.data, total: 1024, dirty: 629, cost: 38ms [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] merge stats, 0000000002.data, total: 1024, dirty: 0, cost: 278ms [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] merge stats, 0000000006.data, total: 1024, dirty: 671, cost: 34ms [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] merge stats, 0000000007.data, total: 1024, dirty: 661, cost: 99ms [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] merge stats, 0000000003.data, total: 1024, dirty: 0, cost: 180ms [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] merge stats, 0000000008.data, total: 1024, dirty: 638, cost: 47ms [INFO] [stderr] [2022-04-26T15:56:55Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000009.data, total: 1024, dirty: 649, cost: 51ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000004.data, total: 1024, dirty: 0, cost: 110ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000010.data, total: 684, dirty: 0, cost: 73ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000005.data, total: 1024, dirty: 0, cost: 200ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000011.data, total: 1024, dirty: 0, cost: 164ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000012.data, total: 1024, dirty: 0, cost: 66ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000006.data, total: 1024, dirty: 0, cost: 98ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000013.data, total: 1024, dirty: 0, cost: 101ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000007.data, total: 1024, dirty: 0, cost: 144ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000014.data, total: 1024, dirty: 0, cost: 78ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000015.data, total: 1024, dirty: 0, cost: 79ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000008.data, total: 1024, dirty: 0, cost: 177ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000016.data, total: 1024, dirty: 0, cost: 97ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000009.data, total: 1024, dirty: 0, cost: 109ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000017.data, total: 1024, dirty: 0, cost: 88ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] merge stats, 0000000018.data, total: 1024, dirty: 0, cost: 76ms [INFO] [stderr] [2022-04-26T15:56:56Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] merge stats, 0000000010.data, total: 1024, dirty: 0, cost: 139ms [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] merge stats, 0000000019.data, total: 1024, dirty: 0, cost: 106ms [INFO] [stdout] test tests::tests::delete_all ... ok [INFO] [stdout] test tests::tests::merge_random ... ok [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] merge stats, 0000000011.data, total: 1024, dirty: 0, cost: 176ms [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] merge stats, 0000000012.data, total: 1024, dirty: 0, cost: 124ms [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] merge stats, 0000000013.data, total: 1024, dirty: 0, cost: 128ms [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] merge stats, 0000000014.data, total: 1024, dirty: 0, cost: 129ms [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] merge stats, 0000000015.data, total: 1024, dirty: 0, cost: 122ms [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] merge stats, 0000000016.data, total: 1024, dirty: 0, cost: 124ms [INFO] [stderr] [2022-04-26T15:56:57Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:58Z INFO bitcask_rs] merge stats, 0000000017.data, total: 1024, dirty: 0, cost: 134ms [INFO] [stderr] [2022-04-26T15:56:58Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:58Z INFO bitcask_rs] merge stats, 0000000018.data, total: 1024, dirty: 0, cost: 150ms [INFO] [stderr] [2022-04-26T15:56:58Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:58Z INFO bitcask_rs] merge stats, 0000000019.data, total: 1024, dirty: 0, cost: 525ms [INFO] [stderr] [2022-04-26T15:56:58Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:56:59Z INFO bitcask_rs] start to merge process [INFO] [stdout] test tests::tests::exists ... ok [INFO] [stderr] [2022-04-26T15:57:10Z INFO bitcask_rs] merge stats, 0000000020.data, total: 1024, dirty: 0, cost: 12113ms [INFO] [stderr] [2022-04-26T15:57:10Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:10Z INFO bitcask_rs] merge stats, 0000000000.data, total: 1024, dirty: 103, cost: 4475ms [INFO] [stderr] [2022-04-26T15:57:10Z INFO bitcask_rs] wait merge job exit [INFO] [stderr] [2022-04-26T15:57:10Z INFO bitcask_rs] exited succeed [INFO] [stdout] test tests::tests::merge_timout_hint ... ok [INFO] [stderr] [2022-04-26T15:57:11Z INFO bitcask_rs] merge stats, 0000000021.data, total: 1024, dirty: 0, cost: 389ms [INFO] [stderr] [2022-04-26T15:57:11Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:11Z INFO bitcask_rs] merge stats, 0000000022.data, total: 1024, dirty: 0, cost: 247ms [INFO] [stderr] [2022-04-26T15:57:11Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:11Z INFO bitcask_rs] merge stats, 0000000023.data, total: 1024, dirty: 0, cost: 234ms [INFO] [stderr] [2022-04-26T15:57:11Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:11Z INFO bitcask_rs] merge stats, 0000000024.data, total: 1024, dirty: 0, cost: 165ms [INFO] [stderr] [2022-04-26T15:57:11Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:12Z INFO bitcask_rs] merge stats, 0000000025.data, total: 1024, dirty: 0, cost: 349ms [INFO] [stderr] [2022-04-26T15:57:12Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:12Z INFO bitcask_rs] merge stats, 0000000026.data, total: 1024, dirty: 0, cost: 194ms [INFO] [stderr] [2022-04-26T15:57:12Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:12Z INFO bitcask_rs] merge stats, 0000000027.data, total: 1024, dirty: 0, cost: 345ms [INFO] [stderr] [2022-04-26T15:57:12Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:13Z INFO bitcask_rs] merge stats, 0000000028.data, total: 1024, dirty: 0, cost: 282ms [INFO] [stderr] [2022-04-26T15:57:13Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:13Z INFO bitcask_rs] merge stats, 0000000029.data, total: 1024, dirty: 0, cost: 179ms [INFO] [stderr] [2022-04-26T15:57:13Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:13Z INFO bitcask_rs] merge stats, 0000000030.data, total: 1024, dirty: 0, cost: 234ms [INFO] [stderr] [2022-04-26T15:57:13Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:13Z INFO bitcask_rs] merge stats, 0000000031.data, total: 1024, dirty: 0, cost: 256ms [INFO] [stderr] [2022-04-26T15:57:13Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:14Z INFO bitcask_rs] merge stats, 0000000032.data, total: 1024, dirty: 0, cost: 402ms [INFO] [stderr] [2022-04-26T15:57:14Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:14Z INFO bitcask_rs] merge stats, 0000000033.data, total: 1024, dirty: 0, cost: 469ms [INFO] [stderr] [2022-04-26T15:57:14Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:15Z INFO bitcask_rs] merge stats, 0000000034.data, total: 1024, dirty: 0, cost: 406ms [INFO] [stderr] [2022-04-26T15:57:15Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:15Z INFO bitcask_rs] merge stats, 0000000035.data, total: 1024, dirty: 0, cost: 430ms [INFO] [stderr] [2022-04-26T15:57:15Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:15Z INFO bitcask_rs] merge stats, 0000000036.data, total: 1024, dirty: 0, cost: 371ms [INFO] [stderr] [2022-04-26T15:57:15Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:16Z INFO bitcask_rs] merge stats, 0000000037.data, total: 1024, dirty: 0, cost: 439ms [INFO] [stderr] [2022-04-26T15:57:16Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:16Z INFO bitcask_rs] merge stats, 0000000038.data, total: 1024, dirty: 0, cost: 385ms [INFO] [stderr] [2022-04-26T15:57:16Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:17Z INFO bitcask_rs] merge stats, 0000000039.data, total: 1024, dirty: 0, cost: 569ms [INFO] [stderr] [2022-04-26T15:57:17Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:17Z INFO bitcask_rs] merge stats, 0000000040.data, total: 1024, dirty: 0, cost: 213ms [INFO] [stderr] [2022-04-26T15:57:17Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:17Z INFO bitcask_rs] merge stats, 0000000041.data, total: 1024, dirty: 0, cost: 234ms [INFO] [stderr] [2022-04-26T15:57:17Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:18Z INFO bitcask_rs] merge stats, 0000000042.data, total: 1024, dirty: 0, cost: 403ms [INFO] [stderr] [2022-04-26T15:57:18Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:18Z INFO bitcask_rs] merge stats, 0000000043.data, total: 1024, dirty: 0, cost: 398ms [INFO] [stderr] [2022-04-26T15:57:18Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:18Z INFO bitcask_rs] merge stats, 0000000044.data, total: 1024, dirty: 0, cost: 304ms [INFO] [stderr] [2022-04-26T15:57:18Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:19Z INFO bitcask_rs] merge stats, 0000000045.data, total: 1024, dirty: 0, cost: 128ms [INFO] [stderr] [2022-04-26T15:57:19Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:19Z INFO bitcask_rs] merge stats, 0000000046.data, total: 1024, dirty: 0, cost: 226ms [INFO] [stderr] [2022-04-26T15:57:19Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:19Z INFO bitcask_rs] merge stats, 0000000047.data, total: 1024, dirty: 0, cost: 209ms [INFO] [stderr] [2022-04-26T15:57:19Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:19Z INFO bitcask_rs] merge stats, 0000000048.data, total: 1024, dirty: 0, cost: 247ms [INFO] [stderr] [2022-04-26T15:57:19Z INFO bitcask_rs] start to merge process [INFO] [stderr] [2022-04-26T15:57:19Z INFO bitcask_rs] merge stats, 0000000049.data, total: 1024, dirty: 0, cost: 286ms [INFO] [stdout] test tests::tests::merge_recycle ... ok [INFO] [stdout] test radix_tree::random_radix_tree ... ok [INFO] [stdout] test tests::tests::rate ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 47.10s [INFO] [stdout] [INFO] [stderr] Doc-tests bitcask-rs [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "bf3ba58be7764710b1bc2eb280039f58c5d8fc3f2160ec797f57777a77482b96", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bf3ba58be7764710b1bc2eb280039f58c5d8fc3f2160ec797f57777a77482b96", kill_on_drop: false }` [INFO] [stdout] bf3ba58be7764710b1bc2eb280039f58c5d8fc3f2160ec797f57777a77482b96