[INFO] cloning repository https://github.com/devsquared/PacaDB
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/devsquared/PacaDB" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdevsquared%2FPacaDB", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdevsquared%2FPacaDB'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 888f8f89be1ded7dad97faf1cb8bb2979de7a4f9
[INFO] checking devsquared/PacaDB/888f8f89be1ded7dad97faf1cb8bb2979de7a4f9 against master#01706e1a34c87656fcbfce198608f4cd2ac6461a for pr-135272
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdevsquared%2FPacaDB" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/devsquared/PacaDB on toolchain 01706e1a34c87656fcbfce198608f4cd2ac6461a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+01706e1a34c87656fcbfce198608f4cd2ac6461a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/devsquared/PacaDB
[INFO] finished tweaking git repo https://github.com/devsquared/PacaDB
[INFO] tweaked toml for git repo https://github.com/devsquared/PacaDB written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/devsquared/PacaDB already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+01706e1a34c87656fcbfce198608f4cd2ac6461a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+01706e1a34c87656fcbfce198608f4cd2ac6461a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5c087540fba443485ebe3e12302f99bac48aab37158c22fbe1fb9b13718065c2
[INFO] running `Command { std: "docker" "start" "-a" "5c087540fba443485ebe3e12302f99bac48aab37158c22fbe1fb9b13718065c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5c087540fba443485ebe3e12302f99bac48aab37158c22fbe1fb9b13718065c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5c087540fba443485ebe3e12302f99bac48aab37158c22fbe1fb9b13718065c2", kill_on_drop: false }`
[INFO] [stdout] 5c087540fba443485ebe3e12302f99bac48aab37158c22fbe1fb9b13718065c2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+01706e1a34c87656fcbfce198608f4cd2ac6461a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0f79533f6a0c43a71363c3264cbe530aec0f833289a87b744d3b170e11c29a7b
[INFO] running `Command { std: "docker" "start" "-a" "0f79533f6a0c43a71363c3264cbe530aec0f833289a87b744d3b170e11c29a7b", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.71
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling futures-core v0.3.29
[INFO] [stderr]    Compiling semver v1.0.20
[INFO] [stderr]    Compiling libc v0.2.151
[INFO] [stderr]    Compiling futures-task v0.3.29
[INFO] [stderr]    Compiling futures-channel v0.3.29
[INFO] [stderr]     Checking futures-sink v0.3.29
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling futures-util v0.3.29
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking futures-io v0.3.29
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling relative-path v1.9.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking futures-timer v3.0.2
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.42
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling rstest_macros v0.18.2
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling futures-macro v0.3.29
[INFO] [stderr]     Checking futures-executor v0.3.29
[INFO] [stderr]     Checking futures v0.3.29
[INFO] [stderr]     Checking rstest v0.18.2
[INFO] [stderr]     Checking paca-db v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/database.rs:40:23
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn get(&self, key: &[u8]) -> Option<DatabaseEntry> {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/database.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn set(&mut self, key: &[u8], value: &[u8]) -> bool {
[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/database.rs:50:39
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn set(&mut self, key: &[u8], value: &[u8]) -> bool {
[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/database.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn delete(&mut self, key: &[u8]) -> bool {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `high_key`
[INFO] [stdout]   --> src/database.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn scan(&self, high_key: &[u8], low_key: &[u8]) -> RecordIterator {
[INFO] [stdout]    |                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_high_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low_key`
[INFO] [stdout]   --> src/database.rs:66:41
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn scan(&self, high_key: &[u8], low_key: &[u8]) -> RecordIterator {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_low_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseEntry` is never constructed
[INFO] [stdout]  --> src/database.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct DatabaseEntry {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DatabaseEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `key`, `value`, and `timestamp` are never used
[INFO] [stdout]   --> src/database.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl DatabaseEntry {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 12 |     pub fn key(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn value(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn timestamp(&self) -> u128 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordIterator` is never constructed
[INFO] [stdout]   --> src/database.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct RecordIterator {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordIterator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Database` is never constructed
[INFO] [stdout]   --> src/database.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Database {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Database` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `set`, `delete`, and `scan` are never used
[INFO] [stdout]   --> src/database.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Database {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn get(&self, key: &[u8]) -> Option<DatabaseEntry> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn set(&mut self, key: &[u8], value: &[u8]) -> bool {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn delete(&mut self, key: &[u8]) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn scan(&self, high_key: &[u8], low_key: &[u8]) -> RecordIterator {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemTableEntry` is never constructed
[INFO] [stdout]   --> src/memtable.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct MemTableEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemTable` is never constructed
[INFO] [stdout]   --> src/memtable.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct MemTable {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/memtable.rs:35:12
[INFO] [stdout]     |
[INFO] [stdout] 33  | impl MemTable {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 34  |     /// Creates a new empty MemTable.
[INFO] [stdout] 35  |     pub fn new() -> MemTable {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47  |     fn get_index(&self, key: &[u8]) -> Result<usize, usize> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54  |     pub fn set(&mut self, key: &[u8], value: &[u8], timestamp: u128) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 89  |     pub fn delete(&mut self, key: &[u8], timestamp: u128) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn get(&self, key: &[u8]) -> Option<&MemTableEntry> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn entries(&self) -> &[MemTableEntry] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn size(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `key`, `value`, `timestamp`, and `deleted` are never read
[INFO] [stdout]   --> src/wal.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct WALEntry {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 48 |     pub key: Vec<u8>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 49 |     pub value: Option<Vec<u8>>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 50 |     pub timestamp: u128,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 51 |     pub deleted: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file` is never read
[INFO] [stdout]    --> src/wal.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct WAL {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] 148 |     path: PathBuf,
[INFO] [stdout] 149 |     file: BufWriter<File>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_path`, `load_from_dir_and_recover_mem`, `set`, `delete`, and `flush` are never used
[INFO] [stdout]    --> src/wal.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl WAL {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn new(dir: &Path) -> io::Result<WAL> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn from_path(path: &Path) -> io::Result<WAL> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn load_from_dir_and_recover_mem(dir: &Path) -> io::Result<(WAL, MemTable)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn set(&mut self, key: &[u8], value: &[u8], timestamp: u128) -> io::Result<()> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn delete(&mut self, key: &[u8], timestamp: u128) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn flush(&mut self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `files_with_ext` is never used
[INFO] [stdout]    --> src/wal.rs:263:4
[INFO] [stdout]     |
[INFO] [stdout] 263 | fn files_with_ext(dir: &Path, ext: &str) -> Vec<PathBuf> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/database.rs:40:23
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn get(&self, key: &[u8]) -> Option<DatabaseEntry> {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/database.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn set(&mut self, key: &[u8], value: &[u8]) -> bool {
[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/database.rs:50:39
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn set(&mut self, key: &[u8], value: &[u8]) -> bool {
[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/database.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn delete(&mut self, key: &[u8]) -> bool {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `high_key`
[INFO] [stdout]   --> src/database.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn scan(&self, high_key: &[u8], low_key: &[u8]) -> RecordIterator {
[INFO] [stdout]    |                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_high_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low_key`
[INFO] [stdout]   --> src/database.rs:66:41
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn scan(&self, high_key: &[u8], low_key: &[u8]) -> RecordIterator {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_low_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseEntry` is never constructed
[INFO] [stdout]  --> src/database.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct DatabaseEntry {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DatabaseEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `key`, `value`, and `timestamp` are never used
[INFO] [stdout]   --> src/database.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl DatabaseEntry {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 12 |     pub fn key(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn value(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn timestamp(&self) -> u128 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordIterator` is never constructed
[INFO] [stdout]   --> src/database.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct RecordIterator {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordIterator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Database` is never constructed
[INFO] [stdout]   --> src/database.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Database {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Database` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `set`, `delete`, and `scan` are never used
[INFO] [stdout]   --> src/database.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Database {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn get(&self, key: &[u8]) -> Option<DatabaseEntry> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn set(&mut self, key: &[u8], value: &[u8]) -> bool {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn delete(&mut self, key: &[u8]) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn scan(&self, high_key: &[u8], low_key: &[u8]) -> RecordIterator {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `entries` and `size` are never used
[INFO] [stdout]    --> src/memtable.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 33  | impl MemTable {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn entries(&self) -> &[MemTableEntry] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn size(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.43s
[INFO] running `Command { std: "docker" "inspect" "0f79533f6a0c43a71363c3264cbe530aec0f833289a87b744d3b170e11c29a7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f79533f6a0c43a71363c3264cbe530aec0f833289a87b744d3b170e11c29a7b", kill_on_drop: false }`
[INFO] [stdout] 0f79533f6a0c43a71363c3264cbe530aec0f833289a87b744d3b170e11c29a7b
