[INFO] cloning repository https://github.com/Myster987/carcinusdb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Myster987/carcinusdb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMyster987%2Fcarcinusdb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMyster987%2Fcarcinusdb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c501935d7cd4bdee257962ce65d5745df714f234
[INFO] testing Myster987/carcinusdb against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMyster987%2Fcarcinusdb" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Myster987/carcinusdb
[INFO] finished tweaking git repo https://github.com/Myster987/carcinusdb
[INFO] tweaked toml for git repo https://github.com/Myster987/carcinusdb written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Myster987/carcinusdb on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 117 packages to latest Rust 1.94.0-nightly compatible versions
[INFO] [stderr]       Adding criterion v0.5.1 (available: v0.8.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e53923f20c6bdfaf85252b2751a0359babb040f71dde743c19a5b432d8a8ba1e
[INFO] running `Command { std: "docker" "start" "-a" "e53923f20c6bdfaf85252b2751a0359babb040f71dde743c19a5b432d8a8ba1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e53923f20c6bdfaf85252b2751a0359babb040f71dde743c19a5b432d8a8ba1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e53923f20c6bdfaf85252b2751a0359babb040f71dde743c19a5b432d8a8ba1e", kill_on_drop: false }`
[INFO] [stdout] e53923f20c6bdfaf85252b2751a0359babb040f71dde743c19a5b432d8a8ba1e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 43c39f5743cae3e64ca532366010b73e3927910bd5168fe8199cce1414508273
[INFO] running `Command { std: "docker" "start" "-a" "43c39f5743cae3e64ca532366010b73e3927910bd5168fe8199cce1414508273", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.179
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling colored v3.0.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling syn v2.0.113
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling simple_logger v5.1.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling carcinusdb v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `cmp::Ordering` and `io`
[INFO] [stdout]  --> src/storage/btree.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, io};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SlotNumber`, `page::BTreeCell`, and `self`
[INFO] [stdout]  --> src/storage/btree.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     self, PageNumber, SlotNumber,
[INFO] [stdout]   |     ^^^^              ^^^^^^^^^^
[INFO] [stdout] 5 |     page::BTreeCell,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExclusivePageGuard`
[INFO] [stdout]   --> src/storage/wal/mod.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |         pager::{self, ExclusivePageGuard, MemPageRef},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::DatabaseResult`
[INFO] [stdout]  --> src/tcp/server/connection.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::error::DatabaseResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/utils/bytes.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> src/utils/io.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         Arc,
[INFO] [stdout]   |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/database/mod.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | /     loop {
[INFO] [stdout] 39 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 40 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 41 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 42 |
[INFO] [stdout] 43 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input` is never read
[INFO] [stdout]   --> src/sql/parser.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Parser<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 27 |     input: &'a str,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `previous`, `current`, `expect_one_of`, and `parse_constrains` are never used
[INFO] [stdout]    --> src/sql/parser.rs:62:8
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn previous(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     fn current(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> sql::Result<Keyword>
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     fn parse_constrains(&mut self) -> sql::Result<Constrains> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kind` is never read
[INFO] [stdout]   --> src/sql/types/text.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct TextRef<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 71 |     value: &'a str,
[INFO] [stdout] 72 |     kind: TextKind,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pin` and `payload` are never read
[INFO] [stdout]   --> src/storage/btree.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ProtectedPayload {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 15 |     pin: SharedPageGuard,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     payload: Payload<'static>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `root` and `pager` are never read
[INFO] [stdout]   --> src/storage/btree.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct BTree {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 80 |     root: PageNumber,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 81 |
[INFO] [stdout] 82 |     pager: Pager,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put` is never used
[INFO] [stdout]   --> src/storage/buffer_pool.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl LocalBufferPool {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn put(&mut self, mem: NonNull<u8>) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_u32_no_offset` and `write_u32` are never used
[INFO] [stdout]    --> src/storage/page.rs:560:8
[INFO] [stdout]     |
[INFO] [stdout] 523 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 560 |     fn write_u32_no_offset(&self, pos: usize, value: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 565 |     fn write_u32(&self, pos: usize, value: u32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Semaphore` is never constructed
[INFO] [stdout]   --> src/storage/wal/locks.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Semaphore {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `acquire`, and `release` are never used
[INFO] [stdout]   --> src/storage/wal/locks.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Semaphore {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new(initial: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn acquire(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn release(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `min_active_frame` is never used
[INFO] [stdout]   --> src/storage/wal/locks.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl<const READERS_NUM: usize> ReadersPool<READERS_NUM> {
[INFO] [stdout]    | ------------------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn min_active_frame(&self) -> FrameNumber {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:252:24
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn as_io_slice(&self) -> IoSlice {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn as_io_slice(&self) -> IoSlice<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:294:23
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn slot_array(&self) -> SlotArray {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn slot_array(&self) -> SlotArray<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:298:27
[INFO] [stdout]     |
[INFO] [stdout] 298 |     pub fn freeblock_list(&self) -> FreeblockList {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 298 |     pub fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/storage/page.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |             write_btree_cell(self.as_ptr(), offset, &new_cell);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 479 |             let _ = write_btree_cell(self.as_ptr(), offset, &new_cell);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/storage/page.rs:486:9
[INFO] [stdout]     |
[INFO] [stdout] 486 |         self.try_insert_cell(index, new_cell);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let _ = self.try_insert_cell(index, new_cell);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/wal/mod.rs:466:26
[INFO] [stdout]     |
[INFO] [stdout] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<READERS_NUM>> {
[INFO] [stdout]     |                          ^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<'_, READERS_NUM>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/wal/mod.rs:482:27
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard> {
[INFO] [stdout]     |                           ^^^^^^^^^                     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard<'_>> {
[INFO] [stdout]     |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::Ordering` and `io`
[INFO] [stdout]  --> src/storage/btree.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, io};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SlotNumber`, `page::BTreeCell`, and `self`
[INFO] [stdout]  --> src/storage/btree.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     self, PageNumber, SlotNumber,
[INFO] [stdout]   |     ^^^^              ^^^^^^^^^^
[INFO] [stdout] 5 |     page::BTreeCell,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExclusivePageGuard`
[INFO] [stdout]   --> src/storage/wal/mod.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |         pager::{self, ExclusivePageGuard, MemPageRef},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::DatabaseResult`
[INFO] [stdout]  --> src/tcp/server/connection.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::error::DatabaseResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/utils/bytes.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> src/utils/io.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         Arc,
[INFO] [stdout]   |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/database/mod.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | /     loop {
[INFO] [stdout] 39 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 40 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 41 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 42 |
[INFO] [stdout] 43 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLOBAL_INIT_POOL_SIZE` is never used
[INFO] [stdout]   --> src/database/mod.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const GLOBAL_INIT_POOL_SIZE: usize = 250;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOCAL_INIT_POOL_SIZE` is never used
[INFO] [stdout]   --> src/database/mod.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const LOCAL_INIT_POOL_SIZE: usize = 40;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemDatabaseHeader` is never constructed
[INFO] [stdout]   --> src/database/mod.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct MemDatabaseHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/database/mod.rs:64:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl MemDatabaseHeader {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout]  64 |     pub fn into_raw_header(&self) -> DatabaseHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn get_change_counter(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn get_database_size(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn get_freelist_trunk_page(&self) -> PageNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn get_freelist_pages(&self) -> PageNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn increment_change_counter(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn add_database_size(&self, add: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn set_freelist_trunk_page(&self, page_number: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn set_freelist_pages(&self, value: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Database` is never constructed
[INFO] [stdout]    --> src/database/mod.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub struct Database {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `pager` are never used
[INFO] [stdout]    --> src/database/mod.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Database {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 136 |     pub fn new(db_file_path: PathBuf) -> DatabaseResult<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn pager(&self) -> Pager {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidBytes`, `InvalidHostname`, `InvalidFilePath`, `InvalidPort`, and `Unknown` are never constructed
[INFO] [stdout]   --> src/error.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum DatabaseError {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout]  7 |     #[error("invalid bytes")]
[INFO] [stdout]  8 |     InvalidBytes,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     InvalidHostname { msg: String, hostname: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     #[error("provided path is not file: {0}")]
[INFO] [stdout] 14 |     InvalidFilePath(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     #[error("invalid port number: {0}")]
[INFO] [stdout] 16 |     InvalidPort(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DatabaseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DISK_BLOCK_SIZE` is never used
[INFO] [stdout]   --> src/os.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub static DISK_BLOCK_SIZE: LazyLock<usize> = LazyLock::new(|| {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileSystemBlockSize` is never used
[INFO] [stdout]   --> src/os.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait FileSystemBlockSize {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Open` is never used
[INFO] [stdout]   --> src/os.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub trait Open {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fs` is never constructed
[INFO] [stdout]   --> src/os.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Fs;
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenOptions` is never constructed
[INFO] [stdout]   --> src/os.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct OpenOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/os.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl OpenOptions {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 44 |     /// disable OS
[INFO] [stdout] 45 |     pub fn bypass_cache(mut self, bypass_cache: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn sync_on_write(mut self, sync_on_write: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn create(mut self, create: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn read(mut self, read: bool) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn write(mut self, write: bool) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn lock(mut self, lock: bool) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn truncate(mut self, truncate: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/sql/mod.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub type Result<T> = std::result::Result<T, Error>;
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Error` is never used
[INFO] [stdout]   --> src/sql/mod.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Error {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StatementParser` is never used
[INFO] [stdout]   --> src/sql/parser.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait StatementParser {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/sql/parser.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Parser<'a> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/sql/parser.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn new(input: &'a str) -> sql::Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     fn validate(token_stream: Vec<sql::Result<Token>>) -> sql::Result<Vec<Token>> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     fn token_at(&self, idx: usize) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn previous(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     fn current(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     fn peek(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     fn next(&mut self) -> Option<Token> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     fn prev_token(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     fn peek_token(&mut self) -> sql::Result<&Token> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn next_token(&mut self) -> sql::Result<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     fn next_keyword(&mut self) -> sql::Result<Keyword> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     fn expect_token(&mut self, expected: Token) -> sql::Result<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn expect_keyword(&mut self, expected: Keyword) -> sql::Result<Keyword> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     fn consume_optional_token(&mut self, optional: Token) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     fn consume_optional_keyword(&mut self, optional: Keyword) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn consume_one_of<'k, K>(&mut self, keywords: &'k K) -> Keyword
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> sql::Result<Keyword>
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn get_next_precedence(&mut self) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     fn parse_expression(&mut self) -> sql::Result<Expression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     fn parse_expr(&mut self, precedence: u8) -> sql::Result<Expression> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn parse_prefix(&mut self) -> sql::Result<Expression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     fn parse_infix(&mut self, left: Expression, precedence: u8) -> sql::Result<Expression> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     fn parse_identifier(&mut self) -> sql::Result<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     fn parse_comma_separeted<T>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     fn parse_comma_separeted_values(&mut self) -> sql::Result<Vec<Expression>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     fn parse_identifier_list(&mut self) -> sql::Result<Vec<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     fn parse_optional_identifier_list(&mut self) -> sql::Result<Option<Vec<String>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     fn parse_assignment(&mut self) -> sql::Result<Assignment> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn parse_data_type(&mut self) -> sql::Result<DataType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     fn parse_constrains(&mut self) -> sql::Result<Constrains> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     fn parse_column(&mut self) -> sql::Result<Column> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 415 |     fn parse_where(&mut self) -> sql::Result<Option<Expression>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 423 |     fn parse_order_by(&mut self) -> sql::Result<Option<Vec<Expression>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 432 |     pub fn parse_statement(&mut self) -> sql::Result<Statement> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_COLUMN_COUNT` is never used
[INFO] [stdout]   --> src/sql/record.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const MAX_COLUMN_COUNT: usize = 2000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Record` is never constructed
[INFO] [stdout]   --> src/sql/record.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Record<'a> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_value`, `try_get_value`, `count`, and `len` are never used
[INFO] [stdout]   --> src/sql/record.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl<'a> Record<'a> {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new(payload: &'a [u8]) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn get_value(&self, index: usize) -> ValueRef<'a> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn try_get_value(&self, index: usize) -> sql::Result<ValueRef<'a>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordCursor` is never constructed
[INFO] [stdout]   --> src/sql/record.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct RecordCursor<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_capacity`, `parse_up_to`, `full_parse`, `get_value`, and `len` are never used
[INFO] [stdout]    --> src/sql/record.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl<'a> RecordCursor<'a> {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout]  79 |     pub fn new(payload: &'a [u8]) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn with_capacity(payload: &'a [u8], capacity: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     fn parse_up_to(&mut self, index: usize) -> sql::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn full_parse(&mut self) -> sql::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn get_value(&mut self, index: usize) -> sql::Result<ValueRef<'a>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn len(&mut self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordBuilder` is never constructed
[INFO] [stdout]    --> src/sql/record.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub struct RecordBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add`, `calculate_header_size`, and `serialize` are never used
[INFO] [stdout]    --> src/sql/record.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl RecordBuilder {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 162 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn add(&mut self, value: Value) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     fn calculate_header_size(size_of_serial_types: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn serialize(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Statement` is never used
[INFO] [stdout]  --> src/sql/statement.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Statement {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expression` is never used
[INFO] [stdout]    --> src/sql/statement.rs:121:10
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub enum Expression {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BinaryOperator` is never used
[INFO] [stdout]    --> src/sql/statement.rs:158:10
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub enum BinaryOperator {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UnaryOperator` is never used
[INFO] [stdout]    --> src/sql/statement.rs:193:10
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub enum UnaryOperator {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DataType` is never used
[INFO] [stdout]    --> src/sql/statement.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub enum DataType {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Constrains` is never used
[INFO] [stdout]    --> src/sql/statement.rs:232:10
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub enum Constrains {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Assignment` is never constructed
[INFO] [stdout]    --> src/sql/statement.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub struct Assignment {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Column` is never constructed
[INFO] [stdout]    --> src/sql/statement.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct Column {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/sql/statement.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 267 | impl Column {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 268 |     pub fn new(name: &str, data_type: DataType) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Create` is never used
[INFO] [stdout]    --> src/sql/statement.rs:306:10
[INFO] [stdout]     |
[INFO] [stdout] 306 | pub enum Create {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Drop` is never used
[INFO] [stdout]    --> src/sql/statement.rs:342:10
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub enum Drop {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fmt_join` is never used
[INFO] [stdout]    --> src/sql/statement.rs:356:8
[INFO] [stdout]     |
[INFO] [stdout] 356 | pub fn fmt_join<'t, T: Display + 't>(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/sql/token.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_part_keyword_or_identifier` is never used
[INFO] [stdout]   --> src/sql/token.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Token {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 29 |     pub fn is_part_keyword_or_identifier(ch: &char) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Keyword` is never used
[INFO] [stdout]   --> src/sql/token.rs:68:10
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub enum Keyword {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Whitespace` is never used
[INFO] [stdout]    --> src/sql/token.rs:150:10
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub enum Whitespace {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Stream` is never constructed
[INFO] [stdout]  --> src/sql/tokenizer.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Stream<'a> {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `raw`, `position`, `next`, `peek`, and `peek_next` are never used
[INFO] [stdout]   --> src/sql/tokenizer.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<'a> Stream<'a> {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(input: &'a str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn raw(&self) -> &'a str {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn position(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn next(&mut self) -> Option<char> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn peek(&mut self) -> Option<&char> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn peek_next(&mut self) -> Option<&char> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tokenizer` is never constructed
[INFO] [stdout]   --> src/sql/tokenizer.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct Tokenizer<'a> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `consume`, `consume_number`, `consume_string`, `consume_keyword_or_identifier`, and `next_token` are never used
[INFO] [stdout]    --> src/sql/tokenizer.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl<'a> Tokenizer<'a> {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  52 |     pub fn new(input: &'a str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     fn consume(&mut self, token: Token) -> sql::Result<Token> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     fn consume_number(&mut self) -> sql::Result<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     fn consume_string(&mut self) -> sql::Result<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn consume_keyword_or_identifier(&mut self) -> sql::Result<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn next_token(&mut self) -> sql::Result<Token> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValueType` is never used
[INFO] [stdout]   --> src/sql/types/mod.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum ValueType {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Value` is never used
[INFO] [stdout]   --> src/sql/types/mod.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum Value {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValueRef` is never used
[INFO] [stdout]   --> src/sql/types/mod.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub enum ValueRef<'a> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_ref` and `value_type` are never used
[INFO] [stdout]   --> src/sql/types/mod.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl Value {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 44 |     pub fn as_ref<'a>(&'a self) -> ValueRef<'a> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn value_type(&self) -> ValueType {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AsValueRef` is never used
[INFO] [stdout]   --> src/sql/types/mod.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub trait AsValueRef {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_value` is never used
[INFO] [stdout]    --> src/sql/types/mod.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn parse_value<'a>(buffer: &'a [u8], serial_type: &SerialType) -> sql::Result<ValueRef<'a>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_owned` and `to_value_type` are never used
[INFO] [stdout]    --> src/sql/types/mod.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl<'a> ValueRef<'a> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 164 |     pub fn to_owned(&self) -> Value {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn to_value_type(&self) -> ValueType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AnyBlob` is never used
[INFO] [stdout]  --> src/sql/types/blob.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait AnyBlob {
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SerialType` is never constructed
[INFO] [stdout]   --> src/sql/types/serial.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SerialType(VarInt);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/sql/types/serial.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl SerialType {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 13 |     const NULL: Self = Self(0);
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 14 |     const BOOL_FALSE: Self = Self(1);
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 15 |     const BOOL_TRUE: Self = Self(2);
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 16 |     const I8: Self = Self(3);
[INFO] [stdout]    |           ^^
[INFO] [stdout] 17 |     const I16: Self = Self(4);
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 18 |     const I32: Self = Self(5);
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 19 |     const I64: Self = Self(6);
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 20 |
[INFO] [stdout] 21 |     pub fn null() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn bool_false() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn bool_true() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn int8() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn int16() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn int32() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn int64() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn blob(size: VarInt) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn text(size: VarInt) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn code(&self) -> VarInt {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn kind(&self) -> SerialTypeKind {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn size(&self) -> usize {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn to_varint(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SerialTypeKind` is never used
[INFO] [stdout]   --> src/sql/types/serial.rs:96:10
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub enum SerialTypeKind {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kind` is never read
[INFO] [stdout]   --> src/sql/types/text.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Text {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 11 |     value: String,
[INFO] [stdout] 12 |     kind: TextKind,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Text` 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 `TextRef` is never constructed
[INFO] [stdout]   --> src/sql/types/text.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct TextRef<'a> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `as_str` are never used
[INFO] [stdout]   --> src/sql/types/text.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl<'a> TextRef<'a> {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 76 |     pub fn new(value: &'a str, kind: TextKind) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn as_str(&self) -> &'a str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AnyText` is never used
[INFO] [stdout]    --> src/sql/types/text.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub trait AnyText: AsRef<str> {
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SlotNumber` is never used
[INFO] [stdout]   --> src/storage/mod.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub type SlotNumber = u16;
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FrameNumber` is never used
[INFO] [stdout]   --> src/storage/mod.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type FrameNumber = BlockNumber;
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAGE_NUMBER_SIZE` is never used
[INFO] [stdout]   --> src/storage/mod.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const PAGE_NUMBER_SIZE: usize = std::mem::size_of::<PageNumber>();
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLOT_SIZE` is never used
[INFO] [stdout]   --> src/storage/mod.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const SLOT_SIZE: usize = std::mem::size_of::<SlotNumber>();
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/storage/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub type Result<T> = std::result::Result<T, Error>;
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PageNotFound`, `InvalidPageType`, `PageNumberOutOfRange`, `InvalidChecksum`, `PageNotFoundInWal`, and `PartialRead` are never constructed
[INFO] [stdout]   --> src/storage/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 29 |     PageNotFound(PageNumber),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 30 |     #[error("invalid page type")]
[INFO] [stdout] 31 |     InvalidPageType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     #[error("page number must be grater than 0")]
[INFO] [stdout] 33 |     PageNumberOutOfRange,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     InvalidChecksum,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     #[error("page {0} not found in WAL")]
[INFO] [stdout] 39 |     PageNotFoundInWal(PageNumber),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     PartialRead { expected: usize, read: usize },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` 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 `Node` is never constructed
[INFO] [stdout]   --> src/storage/allocator.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Node<T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalStack` is never constructed
[INFO] [stdout]   --> src/storage/allocator.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct LocalStack<T> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `len`, `push`, and `pop` are never used
[INFO] [stdout]   --> src/storage/allocator.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl<T> LocalStack<T> {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn push(&mut self, value: T) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn pop(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_GLOBAL_BATCH_SIZE` is never used
[INFO] [stdout]   --> src/storage/allocator.rs:57:7
[INFO] [stdout]    |
[INFO] [stdout] 57 | const DEFAULT_GLOBAL_BATCH_SIZE: usize = 32;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_LOCAL_BATCH_SIZE` is never used
[INFO] [stdout]   --> src/storage/allocator.rs:58:7
[INFO] [stdout]    |
[INFO] [stdout] 58 | const DEFAULT_LOCAL_BATCH_SIZE: usize = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_LOCAL_MIN_PAGES` is never used
[INFO] [stdout]   --> src/storage/allocator.rs:59:7
[INFO] [stdout]    |
[INFO] [stdout] 59 | const DEFAULT_LOCAL_MIN_PAGES: usize = 8;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_LOCAL_MAX_PAGES` is never used
[INFO] [stdout]   --> src/storage/allocator.rs:60:7
[INFO] [stdout]    |
[INFO] [stdout] 60 | const DEFAULT_LOCAL_MAX_PAGES: usize = 64;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlobalPageAllocator` is never constructed
[INFO] [stdout]   --> src/storage/allocator.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct GlobalPageAllocator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/allocator.rs:77:12
[INFO] [stdout]     |
[INFO] [stdout]  76 | impl GlobalPageAllocator {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout]  77 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn default(page_size: usize, page_count: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn max_size(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn try_alloc(&self) -> Option<NonNull<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn alloc_batch(&self, to_alloc: usize) -> Vec<NonNull<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn dealloc_batch(&self, mut mem: Vec<NonNull<u8>>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn dealloc(&self, mem: NonNull<u8>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalPageAllocator` is never constructed
[INFO] [stdout]    --> src/storage/allocator.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct LocalPageAllocator {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `default`, `len`, `alloc`, `dealloc`, and `drain` are never used
[INFO] [stdout]    --> src/storage/allocator.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 199 | impl LocalPageAllocator {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 200 |     pub fn new(global_allocator: Arc<GlobalPageAllocator>, page_count: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn default(global_allocator: Arc<GlobalPageAllocator>) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn alloc(&mut self) -> NonNull<u8> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn dealloc(&mut self, mem: NonNull<u8>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn drain(&mut self) -> Vec<NonNull<u8>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProtectedPayload` is never constructed
[INFO] [stdout]   --> src/storage/btree.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ProtectedPayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage/btree.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ProtectedPayload {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 20 |     pub fn new(pin: SharedPageGuard, payload: Payload<'static>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Payload` is never used
[INFO] [stdout]   --> src/storage/btree.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum Payload<'a> {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BTree` is never constructed
[INFO] [stdout]   --> src/storage/btree.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct BTree {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage/btree.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl BTree {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 86 |     pub fn new(pager: Pager, root: PageNumber) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlobalBufferPool` is never constructed
[INFO] [stdout]   --> src/storage/buffer_pool.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct GlobalBufferPool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `default`, `local_pool`, and `len` are never used
[INFO] [stdout]   --> src/storage/buffer_pool.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl GlobalBufferPool {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn default(page_size: usize, init_size: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn local_pool(&self, init_size: usize) -> LocalBufferPool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalBufferPool` is never constructed
[INFO] [stdout]   --> src/storage/buffer_pool.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct LocalBufferPool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `len`, `get`, and `put` are never used
[INFO] [stdout]   --> src/storage/buffer_pool.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl LocalBufferPool {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 67 |     pub fn new(global_allocator: Arc<GlobalPageAllocator>, init_size: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn get(&self) -> Buffer {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn put(&mut self, mem: NonNull<u8>) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/storage/cache.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type Result<T> = std::result::Result<T, Error>;
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `KeyExists`, `PageLocked`, `Dirty`, `Full`, and `Internal` are never constructed
[INFO] [stdout]   --> src/storage/cache.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 17 |     #[error("key already exists in cache.")]
[INFO] [stdout] 18 |     KeyExists,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     #[error("page is currently locked.")]
[INFO] [stdout] 20 |     PageLocked,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 21 |     #[error("page {id} is dirty.")]
[INFO] [stdout] 22 |     Dirty { id: PageNumber },
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     #[error("cache is already full.")]
[INFO] [stdout] 24 |     Full,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 25 |     #[error("{0}")]
[INFO] [stdout] 26 |     Internal(String),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PageCacheKey` is never used
[INFO] [stdout]   --> src/storage/cache.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type PageCacheKey = PageNumber;
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PageCacheEntry` is never constructed
[INFO] [stdout]   --> src/storage/cache.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct PageCacheEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage/cache.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl PageCacheEntry {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 44 |     pub fn new(key: PageCacheKey, page: MemPageRef) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShardedLruCache` is never constructed
[INFO] [stdout]   --> src/storage/cache.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct ShardedLruCache<S: BuildHasher = RandomState> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_SHARD_COUNT` is never used
[INFO] [stdout]   --> src/storage/cache.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 | const DEFAULT_SHARD_COUNT: usize = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage/cache.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl ShardedLruCache {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 65 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_shard`, `get`, `insert`, `delete`, and `clear` are never used
[INFO] [stdout]    --> src/storage/cache.rs:78:8
[INFO] [stdout]     |
[INFO] [stdout]  77 | impl<S: BuildHasher> ShardedLruCache<S> {
[INFO] [stdout]     | --------------------------------------- methods in this implementation
[INFO] [stdout]  78 |     fn get_shard(&self, key: &PageCacheKey) -> &Shard {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn get(&self, key: &PageCacheKey) -> Option<MemPageRef> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn insert(&self, key: PageCacheKey, page: MemPageRef) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn delete(&self, key: PageCacheKey) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn clear(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Shard` is never used
[INFO] [stdout]    --> src/storage/cache.rs:131:6
[INFO] [stdout]     |
[INFO] [stdout] 131 | type Shard = Mutex<LruPageCache>;
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LruPageCache` is never constructed
[INFO] [stdout]    --> src/storage/cache.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | struct LruPageCache {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/cache.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl LruPageCache {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 146 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn contains_key(&self, key: &PageCacheKey) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn get_ptr(&self, key: &PageCacheKey) -> Option<NonNull<PageCacheEntry>> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn peek(&mut self, key: &PageCacheKey, touch: bool) -> Option<MemPageRef> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn get(&mut self, key: &PageCacheKey) -> Option<MemPageRef> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn insert(&mut self, key: PageCacheKey, page: MemPageRef) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     fn try_insert(&mut self, key: PageCacheKey, page: MemPageRef) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn delete(&mut self, key: PageCacheKey) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     fn try_delete(&mut self, key: PageCacheKey, clean_page: bool) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     fn detach(&mut self, mut entry: NonNull<PageCacheEntry>, clean_page: bool) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     fn unlink(&mut self, mut entry: NonNull<PageCacheEntry>) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     fn touch(&mut self, mut entry: NonNull<PageCacheEntry>) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     fn make_room_for(&mut self, entries_num: usize) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub fn clear(&mut self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATABASE_HEADER_SIZE` is never used
[INFO] [stdout]   --> src/storage/page.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const DATABASE_HEADER_SIZE: usize = size_of::<DatabaseHeader>();
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_PAGE_SIZE` is never used
[INFO] [stdout]   --> src/storage/page.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const DEFAULT_PAGE_SIZE: u32 = 4096;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_CACHE_SIZE` is never used
[INFO] [stdout]   --> src/storage/page.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const DEFAULT_CACHE_SIZE: u32 = 2000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_PAGE_SIZE` is never used
[INFO] [stdout]   --> src/storage/page.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const MIN_PAGE_SIZE: usize = 512;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PAGE_SIZE` is never used
[INFO] [stdout]   --> src/storage/page.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const MAX_PAGE_SIZE: usize = 64 << 10;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `usable_space` is never used
[INFO] [stdout]   --> src/storage/page.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn usable_space(page_size: usize, reserved: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `min_cell_size` is never used
[INFO] [stdout]   --> src/storage/page.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn min_cell_size(usable_space: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_cell_size` is never used
[INFO] [stdout]   --> src/storage/page.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn max_cell_size(usable_space: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseHeader` is never constructed
[INFO] [stdout]   --> src/storage/page.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct DatabaseHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_page_size`, `from_bytes`, `to_bytes`, and `write_to_buffer` are never used
[INFO] [stdout]   --> src/storage/page.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl DatabaseHeader {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 62 |     pub fn get_page_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn from_bytes(buffer: &[u8]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn write_to_buffer(&self, buffer: &mut [u8]) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PageType` is never used
[INFO] [stdout]    --> src/storage/page.rs:127:10
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub enum PageType {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Page` is never constructed
[INFO] [stdout]    --> src/storage/page.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct Page {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/page.rs:194:11
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Page {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 194 |     const PAGE_TYPE_OFFSET: usize = 0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 195 |     const FIRST_FREEBLOCK_OFFSET: usize = Self::PAGE_TYPE_OFFSET + size_of::<PageType>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 196 |     const LENGTH_OFFSET: usize = Self::FIRST_FREEBLOCK_OFFSET + size_of::<SlotNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 197 |     const LAST_USED_OFFSET: usize = Self::LENGTH_OFFSET + size_of::<SlotNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 198 |     const FREE_FRAGMENTS_OFFSET: usize = Self::LAST_USED_OFFSET + size_of::<SlotNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 199 |     const RIGTH_SIBLING_OFFSET: usize = Self::FREE_FRAGMENTS_OFFSET + 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 200 |     const RIGTH_CHILD_OFFSET: usize = Self::RIGTH_SIBLING_OFFSET + size_of::<PageNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 201 |
[INFO] [stdout] 202 |     const INDEX_PAGE_HEADER_SIZE: usize = 12;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 203 |     const TABLE_PAGE_HEADER_SIZE: usize = 16;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 204 |
[INFO] [stdout] 205 |     pub fn new(buffer: Buffer) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn alloc(size: usize, drop: Option<DropFn>) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn as_ptr(&self) -> &mut [u8] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     fn usable_space(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     fn min_cell_size(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     fn max_cell_size(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     fn total_free_space(&self) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub fn as_io_slice(&self) -> IoSlice {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     fn overflow_map(&self) -> &mut HashMap<SlotNumber, BTreeCell> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub fn is_overflow(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn cell_overflows(&self, index: SlotNumber) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn header_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn storage_space(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn storage_size(&self, cell_size: u16) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn free_space(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn slot_array(&self) -> SlotArray {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn freeblock_list(&self) -> FreeblockList {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     fn defragment(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     fn get_cell_size(&self, offset: u16) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     pub fn get_cell(&self, index: SlotNumber) -> storage::Result<BTreeCell> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     pub fn insert_cell(&self, index: SlotNumber, cell: BTreeCell) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     fn try_insert_cell(&self, index: SlotNumber, cell: BTreeCell) -> Result<SlotNumber, BTreeCell> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 452 |     pub fn try_replace(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 493 |     pub fn remove(&self, index: SlotNumber) -> BTreeCell {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     pub fn child(&self, index: SlotNumber) -> PageNumber {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/page.rs:524:8
[INFO] [stdout]     |
[INFO] [stdout] 523 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 524 |     fn read_u8(&self, pos: usize) -> u8 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 528 |     fn read_u16_no_offset(&self, pos: usize) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 533 |     fn read_u16(&self, pos: usize) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 537 |     fn read_u32_no_offset(&self, pos: usize) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     fn read_u32(&self, pos: usize) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 546 |     fn write_u8(&self, pos: usize, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 551 |     fn write_u16_no_offset(&self, pos: usize, value: u16) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     fn write_u16(&self, pos: usize, value: u16) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 560 |     fn write_u32_no_offset(&self, pos: usize, value: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 565 |     fn write_u32(&self, pos: usize, value: u32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/page.rs:571:12
[INFO] [stdout]     |
[INFO] [stdout] 570 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 571 |     pub fn try_page_type(&self) -> Option<PageType> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 575 |     pub fn page_type(&self) -> PageType {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 579 |     pub fn first_freeblock(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 583 |     pub fn set_first_freeblock(&self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 587 |     pub fn last_used_offset(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 591 |     pub fn set_last_used_offset(&self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 595 |     pub fn free_fragments(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 599 |     pub fn set_free_fragments(&self, value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 603 |     pub fn add_free_fragment(&self, value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 608 |     pub fn try_rigth_child(&self) -> Option<PageNumber> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 618 |     pub fn len(&self) -> u16 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |     pub fn set_len(&self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SlotArray` is never constructed
[INFO] [stdout]    --> src/storage/page.rs:651:12
[INFO] [stdout]     |
[INFO] [stdout] 651 | pub struct SlotArray<'a> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/page.rs:661:12
[INFO] [stdout]     |
[INFO] [stdout] 660 | impl<'a> SlotArray<'a> {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 661 |     pub fn new(mem: &'a mut [u8], length_offset: usize, slot_array_offset: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 669 |     fn read_u16(&self, pos: usize) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 673 |     fn write_u16(&mut self, pos: usize, value: u16) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 677 |     pub fn len(&self) -> u16 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 681 |     pub fn set_len(&mut self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 685 |     pub fn increment_len(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 690 |     pub fn decrement_len(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 696 |     fn slot_array(&self) -> &[u16] {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 705 |     fn slot_array_mut(&mut self) -> &mut [u16] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 714 |     pub fn get(&self, index: SlotNumber) -> u16 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 722 |     pub fn set(&mut self, index: SlotNumber, value: u16) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 734 |     pub fn insert(&mut self, index: SlotNumber, value: u16) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 748 |     pub fn push(&mut self, value: u16) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 752 |     pub fn remove(&mut self, index: SlotNumber) -> u16 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FreeblockList` is never constructed
[INFO] [stdout]    --> src/storage/page.rs:778:12
[INFO] [stdout]     |
[INFO] [stdout] 778 | pub struct FreeblockList<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/page.rs:784:12
[INFO] [stdout]     |
[INFO] [stdout] 783 | impl<'a> FreeblockList<'a> {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 784 |     pub fn new(mem: &'a mut [u8]) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 788 |     fn read_u8(&self, pos: usize) -> u8 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 792 |     fn read_u16(&self, pos: usize) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 796 |     fn write_u8(&mut self, pos: usize, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 800 |     fn write_u16(&mut self, pos: usize, value: u16) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 804 |     pub fn first_freeblock(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 808 |     pub fn set_first_freeblock(&mut self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 812 |     pub fn free_fragments(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 816 |     pub fn set_free_fragments(&mut self, value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 820 |     pub fn add_free_fragment(&mut self, value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 825 |     fn get_freeblock(&self, offset: u16) -> (u16, u16) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 831 |     fn set_freeblock(&mut self, offset: u16, next: u16, size: u16) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 839 |     fn take_freeblock(&mut self, cell_size: u16) -> Option<u16> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 873 |     fn push_freeblock(&mut self, offset: u16, size: u16) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 890 |     fn iter(&self) -> FreeblockIterator<'_> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FreeblockIterator` is never constructed
[INFO] [stdout]    --> src/storage/page.rs:898:8
[INFO] [stdout]     |
[INFO] [stdout] 898 | struct FreeblockIterator<'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BTreeCell` is never used
[INFO] [stdout]    --> src/storage/page.rs:920:10
[INFO] [stdout]     |
[INFO] [stdout] 920 | pub enum BTreeCell {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `local_cell_size` and `as_ref` are never used
[INFO] [stdout]    --> src/storage/page.rs:929:12
[INFO] [stdout]     |
[INFO] [stdout] 927 | impl BTreeCell {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 928 |     /// Returns local size of cell. **No overflow pages included**.
[INFO] [stdout] 929 |     pub fn local_cell_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 938 |     pub fn as_ref(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CellOps` is never used
[INFO] [stdout]     --> src/storage/page.rs:1002:11
[INFO] [stdout]      |
[INFO] [stdout] 1002 | pub trait CellOps {
[INFO] [stdout]      |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PayloadRef` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1014:12
[INFO] [stdout]      |
[INFO] [stdout] 1014 | pub struct PayloadRef {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_slice` is never used
[INFO] [stdout]     --> src/storage/page.rs:1020:12
[INFO] [stdout]      |
[INFO] [stdout] 1019 | impl PayloadRef {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] 1020 |     pub fn as_slice<'a>(&self, raw: &'a [u8]) -> &'a [u8] {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndexInternalCell` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1026:12
[INFO] [stdout]      |
[INFO] [stdout] 1026 | pub struct IndexInternalCell {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `payload` is never used
[INFO] [stdout]     --> src/storage/page.rs:1041:12
[INFO] [stdout]      |
[INFO] [stdout] 1040 | impl IndexInternalCell {
[INFO] [stdout]      | ---------------------- method in this implementation
[INFO] [stdout] 1041 |     pub fn payload(&self) -> &[u8] {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndexLeafCell` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1062:12
[INFO] [stdout]      |
[INFO] [stdout] 1062 | pub struct IndexLeafCell {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `payload` is never used
[INFO] [stdout]     --> src/storage/page.rs:1075:12
[INFO] [stdout]      |
[INFO] [stdout] 1074 | impl IndexLeafCell {
[INFO] [stdout]      | ------------------ method in this implementation
[INFO] [stdout] 1075 |     pub fn payload(&self) -> &[u8] {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableInternalCell` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1096:12
[INFO] [stdout]      |
[INFO] [stdout] 1096 | pub struct TableInternalCell {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableLeafCell` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1121:12
[INFO] [stdout]      |
[INFO] [stdout] 1121 | pub struct TableLeafCell {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `payload` is never used
[INFO] [stdout]     --> src/storage/page.rs:1136:12
[INFO] [stdout]      |
[INFO] [stdout] 1135 | impl TableLeafCell {
[INFO] [stdout]      | ------------------ method in this implementation
[INFO] [stdout] 1136 |     pub fn payload(&self) -> &[u8] {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `local_btree_cell_size` is never used
[INFO] [stdout]     --> src/storage/page.rs:1156:8
[INFO] [stdout]      |
[INFO] [stdout] 1156 | pub fn local_btree_cell_size(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_btree_cell` is never used
[INFO] [stdout]     --> src/storage/page.rs:1233:8
[INFO] [stdout]      |
[INFO] [stdout] 1233 | pub fn read_btree_cell(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_btree_cell` is never used
[INFO] [stdout]     --> src/storage/page.rs:1355:8
[INFO] [stdout]      |
[INFO] [stdout] 1355 | pub fn write_btree_cell(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_local_payload` is never used
[INFO] [stdout]     --> src/storage/page.rs:1374:8
[INFO] [stdout]      |
[INFO] [stdout] 1374 | pub fn read_local_payload(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cell_overflows` is never used
[INFO] [stdout]     --> src/storage/page.rs:1397:8
[INFO] [stdout]      |
[INFO] [stdout] 1397 | pub fn cell_overflows(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MemPageRef` is never used
[INFO] [stdout]   --> src/storage/pager.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub type MemPageRef = Arc<MemPage>;
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemPage` is never constructed
[INFO] [stdout]   --> src/storage/pager.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct MemPage {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `inner`, and `id` are never used
[INFO] [stdout]   --> src/storage/pager.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl MemPage {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 33 |     pub fn new(id: PageNumber) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn inner(&self) -> &mut MemPageInner {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn id(&self) -> PageNumber {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/storage/pager.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl MemPage {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 58 |     /// Page is in I/O error state.
[INFO] [stdout] 59 |     const PAGE_ERROR: usize = 1 << 0;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 60 |     /// Page needs to be flushed to disk.
[INFO] [stdout] 61 |     const PAGE_DIRTY: usize = 1 << 1;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 62 |     /// Page is loaded into memory.
[INFO] [stdout] 63 |     const PAGE_LOADED: usize = 1 << 2;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 64 |
[INFO] [stdout] 65 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn is_dirty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn is_loaded(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn set_error(&self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn set_dirty(&self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn set_loaded(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn clear_error(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn clear_dirty(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn clear_loaded(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/pager.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl MemPage {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 104 |     // Locking state
[INFO] [stdout] 105 |     const LOCKED_EXCLUSIVE: usize = 1 << 3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 106 |     const SEEKS_LOCK: usize = 1 << 4;
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 107 |
[INFO] [stdout] 108 |     const SHARED_LOCKS_SHIFT: usize = 5;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     const SHARED_LOCK_ONE: usize = 1 << Self::SHARED_LOCKS_SHIFT;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 110 |
[INFO] [stdout] 111 |     pub fn is_locked(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn pin_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn lock_shared(self: &Arc<Self>) -> SharedPageGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn lock_seek(self: &Arc<Self>) -> SharedPageGuard {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn lock_exclusive(self: &Arc<Self>) -> ExclusivePageGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn unlock_shared(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn unlock_exclusive(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemPageInner` is never constructed
[INFO] [stdout]    --> src/storage/pager.rs:211:12
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub struct MemPageInner {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SharedPageGuard` is never constructed
[INFO] [stdout]    --> src/storage/pager.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub struct SharedPageGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/pager.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 220 | impl SharedPageGuard {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 221 |     pub fn get(&self) -> &Page {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn id(&self) -> PageNumber {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn is_dirty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn is_loaded(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn set_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn set_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn set_loaded(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub fn clear_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     pub fn clear_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn clear_loaded(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExclusivePageGuard` is never constructed
[INFO] [stdout]    --> src/storage/pager.rs:284:12
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub struct ExclusivePageGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/pager.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 288 | impl ExclusivePageGuard {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 289 |     pub fn get(&self) -> &Page {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn get_mut(&mut self) -> &mut Page {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn replace(&mut self, page: Page) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn take(&mut self) -> Option<Page> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn id(&self) -> PageNumber {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn is_dirty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub fn is_loaded(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn set_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub fn set_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn set_loaded(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn clear_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub fn clear_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn clear_loaded(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pager` is never constructed
[INFO] [stdout]    --> src/storage/pager.rs:458:12
[INFO] [stdout]     |
[INFO] [stdout] 458 | pub struct Pager {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/pager.rs:472:12
[INFO] [stdout]     |
[INFO] [stdout] 471 | impl Pager {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 472 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 488 |     pub fn write_header(&mut self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 496 |     pub fn read_page(&mut self, page_number: PageNumber) -> storage::Result<MemPageRef> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 529 |     fn read_page_from_disk(&mut self, page_number: PageNumber) -> storage::Result<Page> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 550 |     pub fn write_page(&mut self, page: MemPageRef) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 557 |     pub fn flush(&mut self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 561 |     pub fn sync(&self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_write_page` is never used
[INFO] [stdout]    --> src/storage/pager.rs:606:8
[INFO] [stdout]     |
[INFO] [stdout] 606 | pub fn complete_write_page(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WAL_HEADER_SIZE` is never used
[INFO] [stdout]   --> src/storage/wal/mod.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const WAL_HEADER_SIZE: usize = size_of::<WalHeader>();
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WAL_HEADER_SIZE_NO_CHECKSUM` is never used
[INFO] [stdout]   --> src/storage/wal/mod.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const WAL_HEADER_SIZE_NO_CHECKSUM: usize = WAL_HEADER_SIZE - size_of::<[u32; 2]>();
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAME_HEADER_SIZE` is never used
[INFO] [stdout]   --> src/storage/wal/mod.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 | const FRAME_HEADER_SIZE: usize = size_of::<FrameHeader>();
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `READERS_NUM` is never used
[INFO] [stdout]   --> src/storage/wal/mod.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const READERS_NUM: usize = 5;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_CHECKPOINT_SIZE` is never used
[INFO] [stdout]   --> src/storage/wal/mod.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const DEFAULT_CHECKPOINT_SIZE: FrameNumber = 1000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Checksum` is never used
[INFO] [stdout]   --> src/storage/wal/mod.rs:41:6
[INFO] [stdout]    |
[INFO] [stdout] 41 | type Checksum = (u32, u32);
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WalHeader` is never constructed
[INFO] [stdout]   --> src/storage/wal/mod.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct WalHeader {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `update_checksum`, `default`, `from_bytes`, `to_bytes`, `write_to_buffer`, and `checksum_self` are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:62:12
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl WalHeader {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  61 |     /// Recalculates checksum of all fields except `checksum`.
[INFO] [stdout]  62 |     pub fn update_checksum(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn default(page_size: u32, db_size: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn from_bytes(buffer: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn write_to_buffer(&self, buffer: &mut [u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn checksum_self(&self, seed: Option<Checksum>) -> Checksum {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemWalHeader` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct MemWalHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl MemWalHeader {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 132 |     pub fn into_raw_header(&self) -> WalHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn update_checksum(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn get_checkpoint_seq_num(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn get_last_checkpointed(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn get_db_size(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn get_backfilled_number(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn get_checksum(&self) -> Checksum {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn increment_checkpoint_seq_num(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn set_last_checkpointed(&self, value: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn set_db_size(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn set_backfilled_number(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn set_checksum(&self, (val_1, val_2): Checksum) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FrameHeader` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct FrameHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_bytes` and `to_bytes` are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl FrameHeader {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 215 |     pub fn from_bytes(buffer: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn to_bytes(&self, buffer: &mut [u8]) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WalManager` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:238:12
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub struct WalManager {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `local_wal` are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:243:12
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl WalManager {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 243 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub fn local_wal(&self) -> LocalWal {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlobalWal` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:293:12
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub struct GlobalWal {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:329:12
[INFO] [stdout]     |
[INFO] [stdout] 328 | impl GlobalWal {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 329 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub fn write_header(&self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |     pub fn get_min_frame(&self) -> FrameNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub fn get_max_frame(&self) -> FrameNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 400 |     pub fn get_last_checksum(&self) -> Checksum {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     pub fn get_backfilled_number(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 408 |     pub fn get_checkpoint_seq_num(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     pub fn set_min_frame(&self, value: FrameNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub fn set_max_frame(&self, value: FrameNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn set_last_checksum(&self, value: Checksum) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     pub fn set_backfilled_number(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 429 |     pub fn increment_checkpoint_seq_num(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalWal` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:434:12
[INFO] [stdout]     |
[INFO] [stdout] 434 | pub struct LocalWal {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:446:12
[INFO] [stdout]     |
[INFO] [stdout] 445 | impl LocalWal {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 446 |     pub fn new(global_wal: Arc<GlobalWal>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 455 |     fn calculate_frame_offset(&self, frame_number: FrameNumber) -> storage::Result<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |     pub fn is_in_wal(&self, page_number: &PageNumber) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<READERS_NUM>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 495 |     pub fn end_read_tx(&mut self, guard: ReadGuard<READERS_NUM>) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 505 |     pub fn end_write_tx(&mut self, guard: WriteGuard) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 522 |     fn read_raw(&self, frame_number: FrameNumber, buffer: &mut [u8]) -> storage::Result<usize> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 532 |     pub fn read_frame(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 571 |     pub fn append_frame(&mut self, page: MemPageRef, db_size: u32) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 575 |     pub fn append_vectored(&mut self, pages: Vec<MemPageRef>, db_size: u32) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 633 |     fn should_checkpoint(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 641 |     pub fn checkpoint(&mut self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WalIndex` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:700:12
[INFO] [stdout]     |
[INFO] [stdout] 700 | pub struct WalIndex {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:705:12
[INFO] [stdout]     |
[INFO] [stdout] 704 | impl WalIndex {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 705 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 717 |     fn insert_latest(&self, page_number: PageNumber, frame_number: FrameNumber) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 724 |     pub fn insert(&self, page_number: PageNumber, frame_number: FrameNumber) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 732 |     pub fn latest_frames_sorted(&self, max_frame: FrameNumber) -> Vec<(PageNumber, FrameNumber)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 753 |     pub fn contains(&self, page_number: &PageNumber) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 757 |     pub fn get(&self, page_number: &PageNumber, max_frame: FrameNumber) -> Option<FrameNumber> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 763 |     pub fn clear(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_frame` is never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:777:4
[INFO] [stdout]     |
[INFO] [stdout] 777 | fn validate_frame(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checksum_bytes` is never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:803:8
[INFO] [stdout]     |
[INFO] [stdout] 803 | pub fn checksum_bytes(data: &[u8], seed: Option<Checksum>) -> Checksum {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Semaphore` is never constructed
[INFO] [stdout]   --> src/storage/wal/locks.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Semaphore {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `acquire`, and `release` are never used
[INFO] [stdout]   --> src/storage/wal/locks.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Semaphore {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new(initial: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn acquire(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn release(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReadersPool` is never constructed
[INFO] [stdout]   --> src/storage/wal/locks.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ReadersPool<const READERS_NUM: usize> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `FREE_SLOT`, `new`, `min_active_frame`, `get_min_frame`, `acquire`, and `release` are never used
[INFO] [stdout]    --> src/storage/wal/locks.rs:56:11
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl<const READERS_NUM: usize> ReadersPool<READERS_NUM> {
[INFO] [stdout]     | ------------------------------------------------------- associated items in this implementation
[INFO] [stdout]  56 |     const FREE_SLOT: FrameNumber = 0;
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout]  57 |
[INFO] [stdout]  58 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn min_active_frame(&self) -> FrameNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn get_min_frame(&self, slot_id: usize) -> FrameNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn acquire<'a, F>(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn release(&self, slot_id: usize) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReadGuard` is never constructed
[INFO] [stdout]    --> src/storage/wal/locks.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct ReadGuard<'a, const READERS_NUM: usize> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `min_frame` is never used
[INFO] [stdout]    --> src/storage/wal/locks.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<'a, const READERS_NUM: usize> ReadGuard<'a, READERS_NUM> {
[INFO] [stdout]     | ------------------------------------------------------------- method in this implementation
[INFO] [stdout] 138 |     pub fn min_frame(&self) -> FrameNumber {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteGuard` is never constructed
[INFO] [stdout]    --> src/storage/wal/locks.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct WriteGuard<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/storage/wal/locks.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<'a> WriteGuard<'a> {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] 156 |     pub fn new(checkpoint_guard: RwLockReadGuard<'a, ()>, mutex_guard: MutexGuard<'a, ()>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PackedU64` is never used
[INFO] [stdout]    --> src/storage/wal/locks.rs:166:11
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait PackedU64 {
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/utils/mod.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub type Result<T> = std::result::Result<T, Error>;
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/utils/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     InvalidAligment,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     #[error("size mismatch")]
[INFO] [stdout] 19 |     SizeMismatch,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 20 |     #[error("invalid bytes")]
[INFO] [stdout] 21 |     InvalidBytes,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 22 |     #[error("varint is invalid, either overflowed or incompleted")]
[INFO] [stdout] 23 |     InvalidVarInt,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 24 |     #[error("attempted to access outside buffer. buffer overflow")]
[INFO] [stdout] 25 |     OutOfSpace,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     InvalidAllocation(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `BufferData` is never used
[INFO] [stdout]   --> src/utils/buffer.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub type BufferData = NonNull<u8>;
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DropFn` is never used
[INFO] [stdout]   --> src/utils/buffer.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub type DropFn = Rc<dyn Fn(BufferData)>;
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUFFER_ALIGNMENT` is never used
[INFO] [stdout]   --> src/utils/buffer.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const BUFFER_ALIGNMENT: usize = align_of::<u8>();
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Buffer` is never constructed
[INFO] [stdout]   --> src/utils/buffer.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Buffer {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/utils/buffer.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Buffer {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn alloc(size: usize, drop: Option<DropFn>) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn alloc_page(size: usize, drop: Option<DropFn>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn from_ptr(ptr: NonNull<u8>, size: usize, drop: Option<DropFn>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn size(&self) -> usize {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn as_ptr(&self) -> *const u8 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn as_mut_ptr(&self) -> *mut u8 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn as_non_null(&self) -> NonNull<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn as_slice(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn as_mut_slice(&self) -> &mut [u8] {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alloc_heap` is never used
[INFO] [stdout]    --> src/utils/buffer.rs:125:15
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub unsafe fn alloc_heap(size: usize, align: usize) -> NonNull<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dealloc_heap` is never used
[INFO] [stdout]    --> src/utils/buffer.rs:130:15
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub unsafe fn dealloc_heap(ptr: NonNull<u8>, size: usize, align: usize) {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VarInt` is never used
[INFO] [stdout]  --> src/utils/bytes.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type VarInt = u64;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAYLOAD_MASK` is never used
[INFO] [stdout]   --> src/utils/bytes.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const PAYLOAD_MASK: u8 = 0x7F;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOST_SIGNIFICANT_BIT_MASK` is never used
[INFO] [stdout]   --> src/utils/bytes.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const MOST_SIGNIFICANT_BIT_MASK: u8 = 0x80;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_varint` is never used
[INFO] [stdout]   --> src/utils/bytes.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn read_varint(buf: &[u8]) -> Result<(VarInt, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_to_varint` is never used
[INFO] [stdout]   --> src/utils/bytes.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn encode_to_varint(mut value: VarInt) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_varint` is never used
[INFO] [stdout]   --> src/utils/bytes.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn write_varint(buf: &mut [u8], mut value: VarInt) -> Result<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BytesCursor` is never constructed
[INFO] [stdout]    --> src/utils/bytes.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub struct BytesCursor<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `into_inner`, `advance`, `position`, `set_position`, and `reset` are never used
[INFO] [stdout]    --> src/utils/bytes.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl<T> BytesCursor<T> {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 122 |     pub fn new(buffer: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn into_inner(self) -> T {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn advance(&mut self, by: usize) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn position(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn set_position(&mut self, pos: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/utils/bytes.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<T: AsRef<[u8]>> BytesCursor<T> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] 156 |     /// Returns length of buffer.
[INFO] [stdout] 157 |     fn len(&self) -> usize {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn remaining(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn chunk(&self) -> &[u8] {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn read_u8(&mut self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn try_read_u8(&mut self) -> Result<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn read_u16_le(&mut self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn try_read_u16_le(&mut self) -> Result<u16> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub fn read_u32_le(&mut self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn try_read_u32_le(&mut self) -> Result<u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn read_u64_le(&mut self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn try_read_u64_le(&mut self) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn read_varint(&mut self) -> (VarInt, usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn try_read_varint(&mut self) -> Result<(VarInt, usize)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/utils/bytes.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl<T: AsRef<[u8]> + AsMut<[u8]>> BytesCursor<T> {
[INFO] [stdout]     | ------------------------------------------------- methods in this implementation
[INFO] [stdout] 264 |     /// Returns mutable slice of internal buffer from current `position` to end.
[INFO] [stdout] 265 |     fn chunk_mut(&mut self) -> &mut [u8] {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn write_u8(&mut self, value: u8) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn try_write_u8(&mut self, value: u8) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn write_u16_le(&mut self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     pub fn try_write_u16_le(&mut self, value: u16) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub fn write_u32_le(&mut self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub fn try_write_u32_le(&mut self, value: u32) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn write_u64_le(&mut self, value: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn try_write_u64_le(&mut self, value: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     pub fn write_varint(&mut self, value: VarInt) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn try_write_varint(&mut self, value: VarInt) -> Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn write_bytes(&mut self, bytes: &[u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn try_write_bytes(&mut self, bytes: &[u8]) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `varint_size` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:386:8
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub fn varint_size(value: VarInt) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `zigzag_encode` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:390:8
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub fn zigzag_encode(value: i64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `zigzag_decode` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub fn zigzag_decode(value: u64) -> i64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checksum_crc32` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:399:8
[INFO] [stdout]     |
[INFO] [stdout] 399 | pub fn checksum_crc32(bytes: &[u8]) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `flip_n_bits` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:420:8
[INFO] [stdout]     |
[INFO] [stdout] 420 | pub fn flip_n_bits(value: &mut u64, mut n: usize, positions: &mut Vec<usize>, offset: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `byte_swap_u32` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:434:8
[INFO] [stdout]     |
[INFO] [stdout] 434 | pub fn byte_swap_u32(value: u32) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pack_u64` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:439:8
[INFO] [stdout]     |
[INFO] [stdout] 439 | pub fn pack_u64(a: u32, b: u32) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unpack_u64` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:444:8
[INFO] [stdout]     |
[INFO] [stdout] 444 | pub fn unpack_u64(packed: u64) -> (u32, u32) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_aligned_to` is never used
[INFO] [stdout]   --> src/utils/cast.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn is_aligned_to(ptr: *const (), align: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cast` is never used
[INFO] [stdout]   --> src/utils/cast.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn cast<A: Copy, B: Copy>(a: A) -> B {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cast_slice` is never used
[INFO] [stdout]   --> src/utils/cast.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn cast_slice<A, B>(a: &[A]) -> &[B] {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cast_slice_mut` is never used
[INFO] [stdout]   --> src/utils/cast.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn cast_slice_mut<A, B>(a: &mut [A]) -> &mut [B] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_bytes` is never used
[INFO] [stdout]   --> src/utils/cast.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn from_bytes<T: Copy>(src: &[u8]) -> &T {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_bytes_mut` is never used
[INFO] [stdout]   --> src/utils/cast.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn from_bytes_mut<T: Copy>(src: &mut [u8]) -> &mut T {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_of` is never used
[INFO] [stdout]   --> src/utils/cast.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn bytes_of<T>(src: &T) -> &[u8] {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_of_mut` is never used
[INFO] [stdout]   --> src/utils/cast.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn bytes_of_mut<T>(src: &mut T) -> &mut [u8] {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_cast` is never used
[INFO] [stdout]   --> src/utils/cast.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub unsafe fn try_cast<A: Copy, B: Copy>(a: A) -> Result<B> {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_cast_slice` is never used
[INFO] [stdout]   --> src/utils/cast.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub unsafe fn try_cast_slice<A, B>(a: &[A]) -> Result<&[B]> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_cast_slice_mut` is never used
[INFO] [stdout]    --> src/utils/cast.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub unsafe fn try_cast_slice_mut<A, B>(a: &mut [A]) -> Result<&mut [B]> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_from_bytes` is never used
[INFO] [stdout]    --> src/utils/cast.rs:143:15
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub unsafe fn try_from_bytes<T: Copy>(src: &[u8]) -> Result<&T> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_from_bytes_mut` is never used
[INFO] [stdout]    --> src/utils/cast.rs:159:15
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub unsafe fn try_from_bytes_mut<T: Copy>(src: &mut [u8]) -> Result<&mut T> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_bytes_of` is never used
[INFO] [stdout]    --> src/utils/cast.rs:170:15
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub unsafe fn try_bytes_of<T>(src: &T) -> Result<&[u8]> {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_bytes_of_mut` is never used
[INFO] [stdout]    --> src/utils/cast.rs:175:15
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn try_bytes_of_mut<T>(src: &mut T) -> Result<&mut [u8]> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cast_static` is never used
[INFO] [stdout]    --> src/utils/cast.rs:180:15
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub unsafe fn cast_static<T>(src: &[T]) -> &'static [T] {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trim_if_to_long` is never used
[INFO] [stdout]  --> src/utils/debug_table.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn trim_if_to_long(value: String, len: usize) -> String {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugTable` is never constructed
[INFO] [stdout]   --> src/utils/debug_table.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct DebugTable<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/utils/debug_table.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl<'a> DebugTable<'a> {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] 27 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn add_column(&mut self, name: &'a dyn Debug) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn insert_row(&mut self, row: Vec<&'a dyn Debug>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn column_len(&self, index: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn columns_width(&self) -> VecDeque<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     fn separator(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     fn print_header(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn printable_row(&self, index: usize) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileOps` is never used
[INFO] [stdout]   --> src/utils/io.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub trait FileOps {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IO` is never used
[INFO] [stdout]   --> src/utils/io.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub trait IO {
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockIO` is never constructed
[INFO] [stdout]    --> src/utils/io.rs:265:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub struct BlockIO<I> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_io`, `increment_block_count`, `decrement_block_count`, `get_block_count`, and `calculate_offset` are never used
[INFO] [stdout]    --> src/utils/io.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 276 | impl<I> BlockIO<I> {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 277 |     pub fn new(io: I, block_size: usize, block_count: usize, header_size: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     fn get_io(&self) -> &mut I {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     fn increment_block_count(&self, add: BlockNumber) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     fn decrement_block_count(&self, sub: BlockNumber) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn get_block_count(&self) -> BlockNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     pub fn calculate_offset(&self, block_number: BlockNumber) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/utils/io.rs:312:12
[INFO] [stdout]     |
[INFO] [stdout] 311 | impl<I: IO> BlockIO<I> {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] 312 |     pub fn raw_read(&self, offset: usize, buffer: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn read_header(&self, buffer: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub fn read(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn raw_write(&self, offset: usize, buffer: &[u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn write_header(&self, buffer: &[u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |     pub fn write(
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn write_vectored(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub fn truncate(&self, to_block_len: BlockNumber) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     pub fn truncate_beginning(&self, up_to_block_number: BlockNumber) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flush` is never used
[INFO] [stdout]    --> src/utils/io.rs:420:12
[INFO] [stdout]     |
[INFO] [stdout] 415 | impl<I: Write> BlockIO<I> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn flush(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sync` is never used
[INFO] [stdout]    --> src/utils/io.rs:427:12
[INFO] [stdout]     |
[INFO] [stdout] 425 | impl<I: FileOps> BlockIO<I> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 426 |     /// Makes syscall to kernel to write **flushed** buffers to disk.
[INFO] [stdout] 427 |     pub fn sync(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `persist` are never used
[INFO] [stdout]    --> src/utils/io.rs:434:12
[INFO] [stdout]     |
[INFO] [stdout] 432 | impl BlockIO<File> {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 433 |     /// Returns size of file inside wrapper in **bytes**.
[INFO] [stdout] 434 |     pub fn size(&self) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub fn persist(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:252:24
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn as_io_slice(&self) -> IoSlice {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn as_io_slice(&self) -> IoSlice<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:294:23
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn slot_array(&self) -> SlotArray {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn slot_array(&self) -> SlotArray<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:298:27
[INFO] [stdout]     |
[INFO] [stdout] 298 |     pub fn freeblock_list(&self) -> FreeblockList {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 298 |     pub fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/storage/page.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |             write_btree_cell(self.as_ptr(), offset, &new_cell);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 479 |             let _ = write_btree_cell(self.as_ptr(), offset, &new_cell);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/storage/page.rs:486:9
[INFO] [stdout]     |
[INFO] [stdout] 486 |         self.try_insert_cell(index, new_cell);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let _ = self.try_insert_cell(index, new_cell);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/wal/mod.rs:466:26
[INFO] [stdout]     |
[INFO] [stdout] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<READERS_NUM>> {
[INFO] [stdout]     |                          ^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<'_, READERS_NUM>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/wal/mod.rs:482:27
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard> {
[INFO] [stdout]     |                           ^^^^^^^^^                     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard<'_>> {
[INFO] [stdout]     |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.18s
[INFO] running `Command { std: "docker" "inspect" "43c39f5743cae3e64ca532366010b73e3927910bd5168fe8199cce1414508273", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43c39f5743cae3e64ca532366010b73e3927910bd5168fe8199cce1414508273", kill_on_drop: false }`
[INFO] [stdout] 43c39f5743cae3e64ca532366010b73e3927910bd5168fe8199cce1414508273
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8a8121918aad9dcbd2508957ea7470d85577e635e00a3962e318a5fd51fef311
[INFO] running `Command { std: "docker" "start" "-a" "8a8121918aad9dcbd2508957ea7470d85577e635e00a3962e318a5fd51fef311", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zmij v1.0.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling serde_json v1.0.148
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling carcinusdb v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stdout] warning: unused imports: `cmp::Ordering` and `io`
[INFO] [stdout]  --> src/storage/btree.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, io};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SlotNumber`, `page::BTreeCell`, and `self`
[INFO] [stdout]  --> src/storage/btree.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     self, PageNumber, SlotNumber,
[INFO] [stdout]   |     ^^^^              ^^^^^^^^^^
[INFO] [stdout] 5 |     page::BTreeCell,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExclusivePageGuard`
[INFO] [stdout]   --> src/storage/wal/mod.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |         pager::{self, ExclusivePageGuard, MemPageRef},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::DatabaseResult`
[INFO] [stdout]  --> src/tcp/server/connection.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::error::DatabaseResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/utils/bytes.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> src/utils/io.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         Arc,
[INFO] [stdout]   |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/database/mod.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | /     loop {
[INFO] [stdout] 39 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 40 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 41 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 42 |
[INFO] [stdout] 43 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stdout] warning: field `input` is never read
[INFO] [stdout]   --> src/sql/parser.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Parser<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 27 |     input: &'a str,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `previous`, `current`, `expect_one_of`, and `parse_constrains` are never used
[INFO] [stdout]    --> src/sql/parser.rs:62:8
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn previous(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     fn current(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> sql::Result<Keyword>
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     fn parse_constrains(&mut self) -> sql::Result<Constrains> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kind` is never read
[INFO] [stdout]   --> src/sql/types/text.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct TextRef<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 71 |     value: &'a str,
[INFO] [stdout] 72 |     kind: TextKind,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pin` and `payload` are never read
[INFO] [stdout]   --> src/storage/btree.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ProtectedPayload {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 15 |     pin: SharedPageGuard,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     payload: Payload<'static>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `root` and `pager` are never read
[INFO] [stdout]   --> src/storage/btree.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct BTree {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 80 |     root: PageNumber,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 81 |
[INFO] [stdout] 82 |     pager: Pager,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put` is never used
[INFO] [stdout]   --> src/storage/buffer_pool.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl LocalBufferPool {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn put(&mut self, mem: NonNull<u8>) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_u32_no_offset` and `write_u32` are never used
[INFO] [stdout]    --> src/storage/page.rs:560:8
[INFO] [stdout]     |
[INFO] [stdout] 523 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 560 |     fn write_u32_no_offset(&self, pos: usize, value: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 565 |     fn write_u32(&self, pos: usize, value: u32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Semaphore` is never constructed
[INFO] [stdout]   --> src/storage/wal/locks.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Semaphore {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `acquire`, and `release` are never used
[INFO] [stdout]   --> src/storage/wal/locks.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Semaphore {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new(initial: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn acquire(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn release(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `min_active_frame` is never used
[INFO] [stdout]   --> src/storage/wal/locks.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl<const READERS_NUM: usize> ReadersPool<READERS_NUM> {
[INFO] [stdout]    | ------------------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn min_active_frame(&self) -> FrameNumber {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:252:24
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn as_io_slice(&self) -> IoSlice {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn as_io_slice(&self) -> IoSlice<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:294:23
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn slot_array(&self) -> SlotArray {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn slot_array(&self) -> SlotArray<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:298:27
[INFO] [stdout]     |
[INFO] [stdout] 298 |     pub fn freeblock_list(&self) -> FreeblockList {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 298 |     pub fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/storage/page.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |             write_btree_cell(self.as_ptr(), offset, &new_cell);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 479 |             let _ = write_btree_cell(self.as_ptr(), offset, &new_cell);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/storage/page.rs:486:9
[INFO] [stdout]     |
[INFO] [stdout] 486 |         self.try_insert_cell(index, new_cell);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let _ = self.try_insert_cell(index, new_cell);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/wal/mod.rs:466:26
[INFO] [stdout]     |
[INFO] [stdout] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<READERS_NUM>> {
[INFO] [stdout]     |                          ^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<'_, READERS_NUM>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/wal/mod.rs:482:27
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard> {
[INFO] [stdout]     |                           ^^^^^^^^^                     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard<'_>> {
[INFO] [stdout]     |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stdout] warning: unused imports: `cmp::Ordering` and `io`
[INFO] [stdout]  --> src/storage/btree.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, io};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SlotNumber`, `page::BTreeCell`, and `self`
[INFO] [stdout]  --> src/storage/btree.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     self, PageNumber, SlotNumber,
[INFO] [stdout]   |     ^^^^              ^^^^^^^^^^
[INFO] [stdout] 5 |     page::BTreeCell,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExclusivePageGuard`
[INFO] [stdout]   --> src/storage/wal/mod.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |         pager::{self, ExclusivePageGuard, MemPageRef},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/storage/wal/mod.rs:836:9
[INFO] [stdout]     |
[INFO] [stdout] 836 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::DatabaseResult`
[INFO] [stdout]  --> src/tcp/server/connection.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::error::DatabaseResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/utils/bytes.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> src/utils/io.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         Arc,
[INFO] [stdout]   |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/database/mod.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | /     loop {
[INFO] [stdout] 39 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 40 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 41 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 42 |
[INFO] [stdout] 43 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::Ordering` and `io`
[INFO] [stdout]  --> src/storage/btree.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, io};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SlotNumber`, `page::BTreeCell`, and `self`
[INFO] [stdout]  --> src/storage/btree.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     self, PageNumber, SlotNumber,
[INFO] [stdout]   |     ^^^^              ^^^^^^^^^^
[INFO] [stdout] 5 |     page::BTreeCell,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExclusivePageGuard`
[INFO] [stdout]   --> src/storage/wal/mod.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |         pager::{self, ExclusivePageGuard, MemPageRef},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/storage/wal/mod.rs:836:9
[INFO] [stdout]     |
[INFO] [stdout] 836 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::DatabaseResult`
[INFO] [stdout]  --> src/tcp/server/connection.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::error::DatabaseResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/utils/bytes.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> src/utils/io.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         Arc,
[INFO] [stdout]   |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/database/mod.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | /     loop {
[INFO] [stdout] 39 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 40 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 41 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 42 |
[INFO] [stdout] 43 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/utils/bytes.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let n: u32 = 0;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/utils/bytes.rs:508:13
[INFO] [stdout]     |
[INFO] [stdout] 508 |         let mut n = 100;
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input` is never read
[INFO] [stdout]   --> src/sql/parser.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Parser<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 27 |     input: &'a str,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `previous`, `current`, `expect_one_of`, and `parse_constrains` are never used
[INFO] [stdout]    --> src/sql/parser.rs:62:8
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn previous(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     fn current(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> sql::Result<Keyword>
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     fn parse_constrains(&mut self) -> sql::Result<Constrains> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kind` is never read
[INFO] [stdout]   --> src/sql/types/text.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct TextRef<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 71 |     value: &'a str,
[INFO] [stdout] 72 |     kind: TextKind,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pin` and `payload` are never read
[INFO] [stdout]   --> src/storage/btree.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ProtectedPayload {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 15 |     pin: SharedPageGuard,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     payload: Payload<'static>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `root` and `pager` are never read
[INFO] [stdout]   --> src/storage/btree.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct BTree {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 80 |     root: PageNumber,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 81 |
[INFO] [stdout] 82 |     pager: Pager,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put` is never used
[INFO] [stdout]   --> src/storage/buffer_pool.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl LocalBufferPool {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn put(&mut self, mem: NonNull<u8>) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_u32_no_offset` and `write_u32` are never used
[INFO] [stdout]    --> src/storage/page.rs:560:8
[INFO] [stdout]     |
[INFO] [stdout] 523 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 560 |     fn write_u32_no_offset(&self, pos: usize, value: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 565 |     fn write_u32(&self, pos: usize, value: u32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Semaphore` is never constructed
[INFO] [stdout]   --> src/storage/wal/locks.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Semaphore {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `acquire`, and `release` are never used
[INFO] [stdout]   --> src/storage/wal/locks.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Semaphore {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new(initial: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn acquire(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn release(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `min_active_frame` is never used
[INFO] [stdout]   --> src/storage/wal/locks.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl<const READERS_NUM: usize> ReadersPool<READERS_NUM> {
[INFO] [stdout]    | ------------------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn min_active_frame(&self) -> FrameNumber {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:252:24
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn as_io_slice(&self) -> IoSlice {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn as_io_slice(&self) -> IoSlice<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:294:23
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn slot_array(&self) -> SlotArray {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn slot_array(&self) -> SlotArray<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:298:27
[INFO] [stdout]     |
[INFO] [stdout] 298 |     pub fn freeblock_list(&self) -> FreeblockList {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 298 |     pub fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/storage/page.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |             write_btree_cell(self.as_ptr(), offset, &new_cell);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 479 |             let _ = write_btree_cell(self.as_ptr(), offset, &new_cell);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/storage/page.rs:486:9
[INFO] [stdout]     |
[INFO] [stdout] 486 |         self.try_insert_cell(index, new_cell);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let _ = self.try_insert_cell(index, new_cell);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/wal/mod.rs:466:26
[INFO] [stdout]     |
[INFO] [stdout] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<READERS_NUM>> {
[INFO] [stdout]     |                          ^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<'_, READERS_NUM>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/wal/mod.rs:482:27
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard> {
[INFO] [stdout]     |                           ^^^^^^^^^                     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard<'_>> {
[INFO] [stdout]     |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/utils/bytes.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let n: u32 = 0;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/utils/bytes.rs:508:13
[INFO] [stdout]     |
[INFO] [stdout] 508 |         let mut n = 100;
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLOBAL_INIT_POOL_SIZE` is never used
[INFO] [stdout]   --> src/database/mod.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const GLOBAL_INIT_POOL_SIZE: usize = 250;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOCAL_INIT_POOL_SIZE` is never used
[INFO] [stdout]   --> src/database/mod.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const LOCAL_INIT_POOL_SIZE: usize = 40;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemDatabaseHeader` is never constructed
[INFO] [stdout]   --> src/database/mod.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct MemDatabaseHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/database/mod.rs:64:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl MemDatabaseHeader {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout]  64 |     pub fn into_raw_header(&self) -> DatabaseHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn get_change_counter(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn get_database_size(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn get_freelist_trunk_page(&self) -> PageNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn get_freelist_pages(&self) -> PageNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn increment_change_counter(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn add_database_size(&self, add: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn set_freelist_trunk_page(&self, page_number: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn set_freelist_pages(&self, value: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Database` is never constructed
[INFO] [stdout]    --> src/database/mod.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub struct Database {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `pager` are never used
[INFO] [stdout]    --> src/database/mod.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Database {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 136 |     pub fn new(db_file_path: PathBuf) -> DatabaseResult<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn pager(&self) -> Pager {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidBytes`, `InvalidHostname`, `InvalidFilePath`, `InvalidPort`, and `Unknown` are never constructed
[INFO] [stdout]   --> src/error.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum DatabaseError {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout]  7 |     #[error("invalid bytes")]
[INFO] [stdout]  8 |     InvalidBytes,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     InvalidHostname { msg: String, hostname: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     #[error("provided path is not file: {0}")]
[INFO] [stdout] 14 |     InvalidFilePath(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     #[error("invalid port number: {0}")]
[INFO] [stdout] 16 |     InvalidPort(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DatabaseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DISK_BLOCK_SIZE` is never used
[INFO] [stdout]   --> src/os.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub static DISK_BLOCK_SIZE: LazyLock<usize> = LazyLock::new(|| {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileSystemBlockSize` is never used
[INFO] [stdout]   --> src/os.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait FileSystemBlockSize {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Open` is never used
[INFO] [stdout]   --> src/os.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub trait Open {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fs` is never constructed
[INFO] [stdout]   --> src/os.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Fs;
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenOptions` is never constructed
[INFO] [stdout]   --> src/os.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct OpenOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/os.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl OpenOptions {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 44 |     /// disable OS
[INFO] [stdout] 45 |     pub fn bypass_cache(mut self, bypass_cache: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn sync_on_write(mut self, sync_on_write: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn create(mut self, create: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn read(mut self, read: bool) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn write(mut self, write: bool) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn lock(mut self, lock: bool) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn truncate(mut self, truncate: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse_explain`, `parse_begin`, and `parse_commit` are never used
[INFO] [stdout]   --> src/sql/parser.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait StatementParser {
[INFO] [stdout]    |           --------------- methods in this trait
[INFO] [stdout] 14 |     fn parse_explain(&mut self) -> sql::Result<Statement>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn parse_begin(&mut self) -> sql::Result<Statement>;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 22 |     fn parse_commit(&mut self) -> sql::Result<Statement>;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input` is never read
[INFO] [stdout]   --> src/sql/parser.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Parser<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 27 |     input: &'a str,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `previous`, `current`, `expect_one_of`, and `parse_constrains` are never used
[INFO] [stdout]    --> src/sql/parser.rs:62:8
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn previous(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     fn current(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> sql::Result<Keyword>
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     fn parse_constrains(&mut self) -> sql::Result<Constrains> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `count` is never used
[INFO] [stdout]   --> src/sql/record.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl<'a> Record<'a> {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_capacity` is never used
[INFO] [stdout]   --> src/sql/record.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl<'a> RecordCursor<'a> {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn with_capacity(payload: &'a [u8], capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/sql/statement.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 267 | impl Column {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 268 |     pub fn new(name: &str, data_type: DataType) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Commit` is never constructed
[INFO] [stdout]    --> src/sql/token.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout]  68 | pub enum Keyword {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 101 |     Commit,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Keyword` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input` is never read
[INFO] [stdout]  --> src/sql/tokenizer.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Stream<'a> {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] 9 |     input: &'a str,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `raw` is never used
[INFO] [stdout]   --> src/sql/tokenizer.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<'a> Stream<'a> {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn raw(&self) -> &'a str {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValueType` is never used
[INFO] [stdout]   --> src/sql/types/mod.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum ValueType {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Blob` is never constructed
[INFO] [stdout]   --> src/sql/types/mod.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum Value {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 30 |     Blob(Vec<u8>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Value` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `value_type` is never used
[INFO] [stdout]   --> src/sql/types/mod.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl Value {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn value_type(&self) -> ValueType {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_owned` and `to_value_type` are never used
[INFO] [stdout]    --> src/sql/types/mod.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl<'a> ValueRef<'a> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 164 |     pub fn to_owned(&self) -> Value {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn to_value_type(&self) -> ValueType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AnyBlob` is never used
[INFO] [stdout]  --> src/sql/types/blob.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait AnyBlob {
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kind` is never read
[INFO] [stdout]   --> src/sql/types/text.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct TextRef<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 71 |     value: &'a str,
[INFO] [stdout] 72 |     kind: TextKind,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FrameNumber` is never used
[INFO] [stdout]   --> src/storage/mod.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type FrameNumber = BlockNumber;
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAGE_NUMBER_SIZE` is never used
[INFO] [stdout]   --> src/storage/mod.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const PAGE_NUMBER_SIZE: usize = std::mem::size_of::<PageNumber>();
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PageNotFound`, `PageNumberOutOfRange`, `InvalidChecksum`, `PageNotFoundInWal`, and `PartialRead` are never constructed
[INFO] [stdout]   --> src/storage/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 29 |     PageNotFound(PageNumber),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     PageNumberOutOfRange,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     InvalidChecksum,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     #[error("page {0} not found in WAL")]
[INFO] [stdout] 39 |     PageNotFoundInWal(PageNumber),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     PartialRead { expected: usize, read: usize },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_alloc` is never used
[INFO] [stdout]    --> src/storage/allocator.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout]  76 | impl GlobalPageAllocator {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn try_alloc(&self) -> Option<NonNull<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default` is never used
[INFO] [stdout]    --> src/storage/allocator.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 199 | impl LocalPageAllocator {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn default(global_allocator: Arc<GlobalPageAllocator>) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProtectedPayload` is never constructed
[INFO] [stdout]   --> src/storage/btree.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ProtectedPayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage/btree.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ProtectedPayload {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 20 |     pub fn new(pin: SharedPageGuard, payload: Payload<'static>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Payload` is never used
[INFO] [stdout]   --> src/storage/btree.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum Payload<'a> {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BTree` is never constructed
[INFO] [stdout]   --> src/storage/btree.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct BTree {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage/btree.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl BTree {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 86 |     pub fn new(pager: Pager, root: PageNumber) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage/buffer_pool.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl GlobalBufferPool {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put` is never used
[INFO] [stdout]   --> src/storage/buffer_pool.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl LocalBufferPool {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn put(&mut self, mem: NonNull<u8>) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PageLocked` is never constructed
[INFO] [stdout]   --> src/storage/cache.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum Error {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 20 |     PageLocked,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` 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` and `delete` are never used
[INFO] [stdout]   --> src/storage/cache.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl<S: BuildHasher> ShardedLruCache<S> {
[INFO] [stdout]    | --------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn get(&self, key: &PageCacheKey) -> Option<MemPageRef> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn delete(&self, key: PageCacheKey) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATABASE_HEADER_SIZE` is never used
[INFO] [stdout]   --> src/storage/page.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const DATABASE_HEADER_SIZE: usize = size_of::<DatabaseHeader>();
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_PAGE_SIZE` is never used
[INFO] [stdout]   --> src/storage/page.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const DEFAULT_PAGE_SIZE: u32 = 4096;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_CACHE_SIZE` is never used
[INFO] [stdout]   --> src/storage/page.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const DEFAULT_CACHE_SIZE: u32 = 2000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_PAGE_SIZE` is never used
[INFO] [stdout]   --> src/storage/page.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const MIN_PAGE_SIZE: usize = 512;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PAGE_SIZE` is never used
[INFO] [stdout]   --> src/storage/page.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const MAX_PAGE_SIZE: usize = 64 << 10;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `usable_space` is never used
[INFO] [stdout]   --> src/storage/page.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn usable_space(page_size: usize, reserved: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseHeader` is never constructed
[INFO] [stdout]   --> src/storage/page.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct DatabaseHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_page_size`, `from_bytes`, `to_bytes`, and `write_to_buffer` are never used
[INFO] [stdout]   --> src/storage/page.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl DatabaseHeader {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 62 |     pub fn get_page_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn from_bytes(buffer: &[u8]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn write_to_buffer(&self, buffer: &mut [u8]) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/page.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub fn as_io_slice(&self) -> IoSlice {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn cell_overflows(&self, index: SlotNumber) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn storage_space(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn storage_size(&self, cell_size: u16) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 452 |     pub fn try_replace(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     pub fn child(&self, index: SlotNumber) -> PageNumber {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_u8`, `write_u32_no_offset`, and `write_u32` are never used
[INFO] [stdout]    --> src/storage/page.rs:546:8
[INFO] [stdout]     |
[INFO] [stdout] 523 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 546 |     fn write_u8(&self, pos: usize, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 560 |     fn write_u32_no_offset(&self, pos: usize, value: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 565 |     fn write_u32(&self, pos: usize, value: u32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_free_fragments`, `add_free_fragment`, and `set_len` are never used
[INFO] [stdout]    --> src/storage/page.rs:599:12
[INFO] [stdout]     |
[INFO] [stdout] 570 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 599 |     pub fn set_free_fragments(&self, value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 603 |     pub fn add_free_fragment(&self, value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |     pub fn set_len(&self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `offset` is never read
[INFO] [stdout]     --> src/storage/page.rs:1015:5
[INFO] [stdout]      |
[INFO] [stdout] 1014 | pub struct PayloadRef {
[INFO] [stdout]      |            ---------- field in this struct
[INFO] [stdout] 1015 |     offset: usize,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PayloadRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_slice` is never used
[INFO] [stdout]     --> src/storage/page.rs:1020:12
[INFO] [stdout]      |
[INFO] [stdout] 1019 | impl PayloadRef {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] 1020 |     pub fn as_slice<'a>(&self, raw: &'a [u8]) -> &'a [u8] {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `payload` is never used
[INFO] [stdout]     --> src/storage/page.rs:1041:12
[INFO] [stdout]      |
[INFO] [stdout] 1040 | impl IndexInternalCell {
[INFO] [stdout]      | ---------------------- method in this implementation
[INFO] [stdout] 1041 |     pub fn payload(&self) -> &[u8] {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `payload` is never used
[INFO] [stdout]     --> src/storage/page.rs:1075:12
[INFO] [stdout]      |
[INFO] [stdout] 1074 | impl IndexLeafCell {
[INFO] [stdout]      | ------------------ method in this implementation
[INFO] [stdout] 1075 |     pub fn payload(&self) -> &[u8] {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `payload` is never used
[INFO] [stdout]     --> src/storage/page.rs:1136:12
[INFO] [stdout]      |
[INFO] [stdout] 1135 | impl TableLeafCell {
[INFO] [stdout]      | ------------------ method in this implementation
[INFO] [stdout] 1136 |     pub fn payload(&self) -> &[u8] {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/storage/pager.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl MemPage {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 58 |     /// Page is in I/O error state.
[INFO] [stdout] 59 |     const PAGE_ERROR: usize = 1 << 0;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     const PAGE_LOADED: usize = 1 << 2;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 64 |
[INFO] [stdout] 65 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn is_loaded(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn set_error(&self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn set_dirty(&self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn set_loaded(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn clear_error(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn clear_dirty(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn clear_loaded(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_locked`, `pin_count`, and `lock_shared` are never used
[INFO] [stdout]    --> src/storage/pager.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl MemPage {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn is_locked(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn pin_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn lock_shared(self: &Arc<Self>) -> SharedPageGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/pager.rs:229:12
[INFO] [stdout]     |
[INFO] [stdout] 220 | impl SharedPageGuard {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn id(&self) -> PageNumber {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn is_dirty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn is_loaded(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn set_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn set_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn set_loaded(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub fn clear_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     pub fn clear_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn clear_loaded(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/pager.rs:305:12
[INFO] [stdout]     |
[INFO] [stdout] 288 | impl ExclusivePageGuard {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn replace(&mut self, page: Page) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn id(&self) -> PageNumber {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn is_dirty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub fn is_loaded(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn set_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub fn set_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn set_loaded(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn clear_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub fn clear_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn clear_loaded(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pager` is never constructed
[INFO] [stdout]    --> src/storage/pager.rs:458:12
[INFO] [stdout]     |
[INFO] [stdout] 458 | pub struct Pager {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/pager.rs:472:12
[INFO] [stdout]     |
[INFO] [stdout] 471 | impl Pager {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 472 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 488 |     pub fn write_header(&mut self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 496 |     pub fn read_page(&mut self, page_number: PageNumber) -> storage::Result<MemPageRef> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 529 |     fn read_page_from_disk(&mut self, page_number: PageNumber) -> storage::Result<Page> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 550 |     pub fn write_page(&mut self, page: MemPageRef) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 557 |     pub fn flush(&mut self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 561 |     pub fn sync(&self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_write_page` is never used
[INFO] [stdout]    --> src/storage/pager.rs:606:8
[INFO] [stdout]     |
[INFO] [stdout] 606 | pub fn complete_write_page(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WAL_HEADER_SIZE` is never used
[INFO] [stdout]   --> src/storage/wal/mod.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const WAL_HEADER_SIZE: usize = size_of::<WalHeader>();
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WAL_HEADER_SIZE_NO_CHECKSUM` is never used
[INFO] [stdout]   --> src/storage/wal/mod.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const WAL_HEADER_SIZE_NO_CHECKSUM: usize = WAL_HEADER_SIZE - size_of::<[u32; 2]>();
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAME_HEADER_SIZE` is never used
[INFO] [stdout]   --> src/storage/wal/mod.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 | const FRAME_HEADER_SIZE: usize = size_of::<FrameHeader>();
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `READERS_NUM` is never used
[INFO] [stdout]   --> src/storage/wal/mod.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const READERS_NUM: usize = 5;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_CHECKPOINT_SIZE` is never used
[INFO] [stdout]   --> src/storage/wal/mod.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const DEFAULT_CHECKPOINT_SIZE: FrameNumber = 1000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Checksum` is never used
[INFO] [stdout]   --> src/storage/wal/mod.rs:41:6
[INFO] [stdout]    |
[INFO] [stdout] 41 | type Checksum = (u32, u32);
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WalHeader` is never constructed
[INFO] [stdout]   --> src/storage/wal/mod.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct WalHeader {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `update_checksum`, `default`, `from_bytes`, `to_bytes`, `write_to_buffer`, and `checksum_self` are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:62:12
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl WalHeader {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  61 |     /// Recalculates checksum of all fields except `checksum`.
[INFO] [stdout]  62 |     pub fn update_checksum(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn default(page_size: u32, db_size: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn from_bytes(buffer: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn write_to_buffer(&self, buffer: &mut [u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn checksum_self(&self, seed: Option<Checksum>) -> Checksum {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemWalHeader` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct MemWalHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl MemWalHeader {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 132 |     pub fn into_raw_header(&self) -> WalHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn update_checksum(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn get_checkpoint_seq_num(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn get_last_checkpointed(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn get_db_size(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn get_backfilled_number(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn get_checksum(&self) -> Checksum {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn increment_checkpoint_seq_num(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn set_last_checkpointed(&self, value: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn set_db_size(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn set_backfilled_number(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn set_checksum(&self, (val_1, val_2): Checksum) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FrameHeader` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct FrameHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_bytes` and `to_bytes` are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl FrameHeader {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 215 |     pub fn from_bytes(buffer: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn to_bytes(&self, buffer: &mut [u8]) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WalManager` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:238:12
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub struct WalManager {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `local_wal` are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:243:12
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl WalManager {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 243 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub fn local_wal(&self) -> LocalWal {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlobalWal` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:293:12
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub struct GlobalWal {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:329:12
[INFO] [stdout]     |
[INFO] [stdout] 328 | impl GlobalWal {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 329 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub fn write_header(&self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |     pub fn get_min_frame(&self) -> FrameNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub fn get_max_frame(&self) -> FrameNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 400 |     pub fn get_last_checksum(&self) -> Checksum {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     pub fn get_backfilled_number(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 408 |     pub fn get_checkpoint_seq_num(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     pub fn set_min_frame(&self, value: FrameNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub fn set_max_frame(&self, value: FrameNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn set_last_checksum(&self, value: Checksum) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     pub fn set_backfilled_number(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 429 |     pub fn increment_checkpoint_seq_num(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalWal` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:434:12
[INFO] [stdout]     |
[INFO] [stdout] 434 | pub struct LocalWal {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:446:12
[INFO] [stdout]     |
[INFO] [stdout] 445 | impl LocalWal {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 446 |     pub fn new(global_wal: Arc<GlobalWal>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 455 |     fn calculate_frame_offset(&self, frame_number: FrameNumber) -> storage::Result<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |     pub fn is_in_wal(&self, page_number: &PageNumber) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<READERS_NUM>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 495 |     pub fn end_read_tx(&mut self, guard: ReadGuard<READERS_NUM>) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 505 |     pub fn end_write_tx(&mut self, guard: WriteGuard) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 522 |     fn read_raw(&self, frame_number: FrameNumber, buffer: &mut [u8]) -> storage::Result<usize> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 532 |     pub fn read_frame(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 571 |     pub fn append_frame(&mut self, page: MemPageRef, db_size: u32) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 575 |     pub fn append_vectored(&mut self, pages: Vec<MemPageRef>, db_size: u32) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 633 |     fn should_checkpoint(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 641 |     pub fn checkpoint(&mut self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WalIndex` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:700:12
[INFO] [stdout]     |
[INFO] [stdout] 700 | pub struct WalIndex {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:705:12
[INFO] [stdout]     |
[INFO] [stdout] 704 | impl WalIndex {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 705 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 717 |     fn insert_latest(&self, page_number: PageNumber, frame_number: FrameNumber) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 724 |     pub fn insert(&self, page_number: PageNumber, frame_number: FrameNumber) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 732 |     pub fn latest_frames_sorted(&self, max_frame: FrameNumber) -> Vec<(PageNumber, FrameNumber)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 753 |     pub fn contains(&self, page_number: &PageNumber) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 757 |     pub fn get(&self, page_number: &PageNumber, max_frame: FrameNumber) -> Option<FrameNumber> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 763 |     pub fn clear(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_frame` is never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:777:4
[INFO] [stdout]     |
[INFO] [stdout] 777 | fn validate_frame(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checksum_bytes` is never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:803:8
[INFO] [stdout]     |
[INFO] [stdout] 803 | pub fn checksum_bytes(data: &[u8], seed: Option<Checksum>) -> Checksum {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Semaphore` is never constructed
[INFO] [stdout]   --> src/storage/wal/locks.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Semaphore {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `acquire`, and `release` are never used
[INFO] [stdout]   --> src/storage/wal/locks.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Semaphore {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new(initial: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn acquire(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn release(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReadersPool` is never constructed
[INFO] [stdout]   --> src/storage/wal/locks.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ReadersPool<const READERS_NUM: usize> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `FREE_SLOT`, `new`, `min_active_frame`, `get_min_frame`, `acquire`, and `release` are never used
[INFO] [stdout]    --> src/storage/wal/locks.rs:56:11
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl<const READERS_NUM: usize> ReadersPool<READERS_NUM> {
[INFO] [stdout]     | ------------------------------------------------------- associated items in this implementation
[INFO] [stdout]  56 |     const FREE_SLOT: FrameNumber = 0;
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout]  57 |
[INFO] [stdout]  58 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn min_active_frame(&self) -> FrameNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn get_min_frame(&self, slot_id: usize) -> FrameNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn acquire<'a, F>(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn release(&self, slot_id: usize) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReadGuard` is never constructed
[INFO] [stdout]    --> src/storage/wal/locks.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct ReadGuard<'a, const READERS_NUM: usize> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `min_frame` is never used
[INFO] [stdout]    --> src/storage/wal/locks.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl<'a, const READERS_NUM: usize> ReadGuard<'a, READERS_NUM> {
[INFO] [stdout]     | ------------------------------------------------------------- method in this implementation
[INFO] [stdout] 138 |     pub fn min_frame(&self) -> FrameNumber {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteGuard` is never constructed
[INFO] [stdout]    --> src/storage/wal/locks.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct WriteGuard<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/storage/wal/locks.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<'a> WriteGuard<'a> {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] 156 |     pub fn new(checkpoint_guard: RwLockReadGuard<'a, ()>, mutex_guard: MutexGuard<'a, ()>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PackedU64` is never used
[INFO] [stdout]    --> src/storage/wal/locks.rs:166:11
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub trait PackedU64 {
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidBytes` and `InvalidAllocation` are never constructed
[INFO] [stdout]   --> src/utils/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     InvalidBytes,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     InvalidAllocation(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `alloc_page` and `as_non_null` are never used
[INFO] [stdout]   --> src/utils/buffer.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Buffer {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn alloc_page(size: usize, drop: Option<DropFn>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn as_non_null(&self) -> NonNull<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_u8`, `try_read_u8`, `read_u16_le`, `try_read_u16_le`, `read_u64_le`, and `try_read_u64_le` are never used
[INFO] [stdout]    --> src/utils/bytes.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl<T: AsRef<[u8]>> BytesCursor<T> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn read_u8(&mut self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn try_read_u8(&mut self) -> Result<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn read_u16_le(&mut self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn try_read_u16_le(&mut self) -> Result<u16> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn read_u64_le(&mut self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn try_read_u64_le(&mut self) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_u16_le`, `try_write_u16_le`, `write_u32_le`, `try_write_u32_le`, `write_u64_le`, and `try_write_u64_le` are never used
[INFO] [stdout]    --> src/utils/bytes.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl<T: AsRef<[u8]> + AsMut<[u8]>> BytesCursor<T> {
[INFO] [stdout]     | ------------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn write_u16_le(&mut self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     pub fn try_write_u16_le(&mut self, value: u16) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub fn write_u32_le(&mut self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub fn try_write_u32_le(&mut self, value: u32) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn write_u64_le(&mut self, value: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn try_write_u64_le(&mut self, value: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `flip_n_bits` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:420:8
[INFO] [stdout]     |
[INFO] [stdout] 420 | pub fn flip_n_bits(value: &mut u64, mut n: usize, positions: &mut Vec<usize>, offset: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `byte_swap_u32` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:434:8
[INFO] [stdout]     |
[INFO] [stdout] 434 | pub fn byte_swap_u32(value: u32) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pack_u64` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:439:8
[INFO] [stdout]     |
[INFO] [stdout] 439 | pub fn pack_u64(a: u32, b: u32) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unpack_u64` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:444:8
[INFO] [stdout]     |
[INFO] [stdout] 444 | pub fn unpack_u64(packed: u64) -> (u32, u32) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cast` is never used
[INFO] [stdout]   --> src/utils/cast.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn cast<A: Copy, B: Copy>(a: A) -> B {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_bytes_mut` is never used
[INFO] [stdout]   --> src/utils/cast.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn from_bytes_mut<T: Copy>(src: &mut [u8]) -> &mut T {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_of_mut` is never used
[INFO] [stdout]   --> src/utils/cast.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn bytes_of_mut<T>(src: &mut T) -> &mut [u8] {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_cast` is never used
[INFO] [stdout]   --> src/utils/cast.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub unsafe fn try_cast<A: Copy, B: Copy>(a: A) -> Result<B> {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_from_bytes_mut` is never used
[INFO] [stdout]    --> src/utils/cast.rs:159:15
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub unsafe fn try_from_bytes_mut<T: Copy>(src: &mut [u8]) -> Result<&mut T> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_bytes_of_mut` is never used
[INFO] [stdout]    --> src/utils/cast.rs:175:15
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn try_bytes_of_mut<T>(src: &mut T) -> Result<&mut [u8]> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileOps` is never used
[INFO] [stdout]   --> src/utils/io.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub trait FileOps {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IO` is never used
[INFO] [stdout]   --> src/utils/io.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub trait IO {
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockIO` is never constructed
[INFO] [stdout]    --> src/utils/io.rs:265:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub struct BlockIO<I> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_io`, `increment_block_count`, `decrement_block_count`, `get_block_count`, and `calculate_offset` are never used
[INFO] [stdout]    --> src/utils/io.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 276 | impl<I> BlockIO<I> {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 277 |     pub fn new(io: I, block_size: usize, block_count: usize, header_size: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     fn get_io(&self) -> &mut I {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     fn increment_block_count(&self, add: BlockNumber) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     fn decrement_block_count(&self, sub: BlockNumber) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn get_block_count(&self) -> BlockNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     pub fn calculate_offset(&self, block_number: BlockNumber) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/utils/io.rs:312:12
[INFO] [stdout]     |
[INFO] [stdout] 311 | impl<I: IO> BlockIO<I> {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] 312 |     pub fn raw_read(&self, offset: usize, buffer: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn read_header(&self, buffer: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub fn read(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn raw_write(&self, offset: usize, buffer: &[u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn write_header(&self, buffer: &[u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |     pub fn write(
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn write_vectored(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub fn truncate(&self, to_block_len: BlockNumber) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     pub fn truncate_beginning(&self, up_to_block_number: BlockNumber) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flush` is never used
[INFO] [stdout]    --> src/utils/io.rs:420:12
[INFO] [stdout]     |
[INFO] [stdout] 415 | impl<I: Write> BlockIO<I> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn flush(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sync` is never used
[INFO] [stdout]    --> src/utils/io.rs:427:12
[INFO] [stdout]     |
[INFO] [stdout] 425 | impl<I: FileOps> BlockIO<I> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 426 |     /// Makes syscall to kernel to write **flushed** buffers to disk.
[INFO] [stdout] 427 |     pub fn sync(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `persist` are never used
[INFO] [stdout]    --> src/utils/io.rs:434:12
[INFO] [stdout]     |
[INFO] [stdout] 432 | impl BlockIO<File> {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 433 |     /// Returns size of file inside wrapper in **bytes**.
[INFO] [stdout] 434 |     pub fn size(&self) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub fn persist(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:252:24
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn as_io_slice(&self) -> IoSlice {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn as_io_slice(&self) -> IoSlice<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:294:23
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn slot_array(&self) -> SlotArray {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn slot_array(&self) -> SlotArray<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:298:27
[INFO] [stdout]     |
[INFO] [stdout] 298 |     pub fn freeblock_list(&self) -> FreeblockList {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 298 |     pub fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/storage/page.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |             write_btree_cell(self.as_ptr(), offset, &new_cell);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 479 |             let _ = write_btree_cell(self.as_ptr(), offset, &new_cell);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/storage/page.rs:486:9
[INFO] [stdout]     |
[INFO] [stdout] 486 |         self.try_insert_cell(index, new_cell);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let _ = self.try_insert_cell(index, new_cell);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/wal/mod.rs:466:26
[INFO] [stdout]     |
[INFO] [stdout] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<READERS_NUM>> {
[INFO] [stdout]     |                          ^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<'_, READERS_NUM>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/wal/mod.rs:482:27
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard> {
[INFO] [stdout]     |                           ^^^^^^^^^                     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard<'_>> {
[INFO] [stdout]     |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 19.56s
[INFO] running `Command { std: "docker" "inspect" "8a8121918aad9dcbd2508957ea7470d85577e635e00a3962e318a5fd51fef311", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8a8121918aad9dcbd2508957ea7470d85577e635e00a3962e318a5fd51fef311", kill_on_drop: false }`
[INFO] [stdout] 8a8121918aad9dcbd2508957ea7470d85577e635e00a3962e318a5fd51fef311
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] dfe9db3feb2d11577ca37234d3c141e41189f7bb913a30650279d43ed7208419
[INFO] running `Command { std: "docker" "start" "-a" "dfe9db3feb2d11577ca37234d3c141e41189f7bb913a30650279d43ed7208419", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `cmp::Ordering` and `io`
[INFO] [stderr]  --> src/storage/btree.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{cmp::Ordering, io};
[INFO] [stderr]   |           ^^^^^^^^^^^^^  ^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SlotNumber`, `page::BTreeCell`, and `self`
[INFO] [stderr]  --> src/storage/btree.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 |     self, PageNumber, SlotNumber,
[INFO] [stderr]   |     ^^^^              ^^^^^^^^^^
[INFO] [stderr] 5 |     page::BTreeCell,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ExclusivePageGuard`
[INFO] [stderr]   --> src/storage/wal/mod.rs:22:23
[INFO] [stderr]    |
[INFO] [stderr] 22 |         pager::{self, ExclusivePageGuard, MemPageRef},
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::error::DatabaseResult`
[INFO] [stderr]  --> src/tcp/server/connection.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::error::DatabaseResult;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stderr]  --> src/utils/bytes.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::borrow::BorrowMut;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Arc`
[INFO] [stderr]  --> src/utils/io.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 8 |         Arc,
[INFO] [stderr]   |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]   --> src/database/mod.rs:43:5
[INFO] [stderr]    |
[INFO] [stderr] 38 | /     loop {
[INFO] [stderr] 39 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stderr] 40 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stderr] 41 | |     }
[INFO] [stderr]    | |_____- any code following this expression is unreachable
[INFO] [stderr] 42 |
[INFO] [stderr] 43 |       Ok(())
[INFO] [stderr]    |       ^^^^^^ unreachable expression
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `input` is never read
[INFO] [stderr]   --> src/sql/parser.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct Parser<'a> {
[INFO] [stderr]    |            ------ field in this struct
[INFO] [stderr] 27 |     input: &'a str,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `previous`, `current`, `expect_one_of`, and `parse_constrains` are never used
[INFO] [stderr]    --> src/sql/parser.rs:62:8
[INFO] [stderr]     |
[INFO] [stderr]  37 | impl<'a> Parser<'a> {
[INFO] [stderr]     | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  62 |     fn previous(&self) -> Option<&Token> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  66 |     fn current(&self) -> Option<&Token> {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 173 |     fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> sql::Result<Keyword>
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 371 |     fn parse_constrains(&mut self) -> sql::Result<Constrains> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `kind` is never read
[INFO] [stderr]   --> src/sql/types/text.rs:72:5
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub struct TextRef<'a> {
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] 71 |     value: &'a str,
[INFO] [stderr] 72 |     kind: TextKind,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TextRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `pin` and `payload` are never read
[INFO] [stderr]   --> src/storage/btree.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct ProtectedPayload {
[INFO] [stderr]    |            ---------------- fields in this struct
[INFO] [stderr] 15 |     pin: SharedPageGuard,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 16 |     payload: Payload<'static>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `root` and `pager` are never read
[INFO] [stderr]   --> src/storage/btree.rs:80:5
[INFO] [stderr]    |
[INFO] [stderr] 79 | pub struct BTree {
[INFO] [stderr]    |            ----- fields in this struct
[INFO] [stderr] 80 |     root: PageNumber,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 81 |
[INFO] [stderr] 82 |     pager: Pager,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `put` is never used
[INFO] [stderr]   --> src/storage/buffer_pool.rs:96:8
[INFO] [stderr]    |
[INFO] [stderr] 66 | impl LocalBufferPool {
[INFO] [stderr]    | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 96 |     fn put(&mut self, mem: NonNull<u8>) {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `write_u32_no_offset` and `write_u32` are never used
[INFO] [stderr]    --> src/storage/page.rs:560:8
[INFO] [stderr]     |
[INFO] [stderr] 523 | impl Page {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 560 |     fn write_u32_no_offset(&self, pos: usize, value: u32) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 565 |     fn write_u32(&self, pos: usize, value: u32) {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Semaphore` is never constructed
[INFO] [stderr]   --> src/storage/wal/locks.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct Semaphore {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `acquire`, and `release` are never used
[INFO] [stderr]   --> src/storage/wal/locks.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl Semaphore {
[INFO] [stderr]    | -------------- associated items in this implementation
[INFO] [stderr] 21 |     pub fn new(initial: usize) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 29 |     pub fn acquire(&self) {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn release(&self) {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `min_active_frame` is never used
[INFO] [stderr]   --> src/storage/wal/locks.rs:67:12
[INFO] [stderr]    |
[INFO] [stderr] 55 | impl<const READERS_NUM: usize> ReadersPool<READERS_NUM> {
[INFO] [stderr]    | ------------------------------------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 67 |     pub fn min_active_frame(&self) -> FrameNumber {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/storage/page.rs:252:24
[INFO] [stderr]     |
[INFO] [stderr] 252 |     pub fn as_io_slice(&self) -> IoSlice {
[INFO] [stderr]     |                        ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 252 |     pub fn as_io_slice(&self) -> IoSlice<'_> {
[INFO] [stderr]     |                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/storage/page.rs:294:23
[INFO] [stderr]     |
[INFO] [stderr] 294 |     pub fn slot_array(&self) -> SlotArray {
[INFO] [stderr]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 294 |     pub fn slot_array(&self) -> SlotArray<'_> {
[INFO] [stderr]     |                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/storage/page.rs:298:27
[INFO] [stderr]     |
[INFO] [stderr] 298 |     pub fn freeblock_list(&self) -> FreeblockList {
[INFO] [stderr]     |                           ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 298 |     pub fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stderr]     |                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/storage/page.rs:479:13
[INFO] [stderr]     |
[INFO] [stderr] 479 |             write_btree_cell(self.as_ptr(), offset, &new_cell);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 479 |             let _ = write_btree_cell(self.as_ptr(), offset, &new_cell);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/storage/page.rs:486:9
[INFO] [stderr]     |
[INFO] [stderr] 486 |         self.try_insert_cell(index, new_cell);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 486 |         let _ = self.try_insert_cell(index, new_cell);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/storage/wal/mod.rs:466:26
[INFO] [stderr]     |
[INFO] [stderr] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<READERS_NUM>> {
[INFO] [stderr]     |                          ^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<'_, READERS_NUM>> {
[INFO] [stderr]     |                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/storage/wal/mod.rs:482:27
[INFO] [stderr]     |
[INFO] [stderr] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard> {
[INFO] [stderr]     |                           ^^^^^^^^^                     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard<'_>> {
[INFO] [stderr]     |                                                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `carcinusdb` (lib) generated 24 warnings (run `cargo fix --lib -p carcinusdb` to apply 11 suggestions)
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/storage/wal/mod.rs:836:9
[INFO] [stderr]     |
[INFO] [stderr] 836 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]    --> src/utils/bytes.rs:479:13
[INFO] [stderr]     |
[INFO] [stderr] 479 |         let n: u32 = 0;
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/utils/bytes.rs:508:13
[INFO] [stderr]     |
[INFO] [stderr] 508 |         let mut n = 100;
[INFO] [stderr]     |             ----^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `GLOBAL_INIT_POOL_SIZE` is never used
[INFO] [stderr]   --> src/database/mod.rs:25:11
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub const GLOBAL_INIT_POOL_SIZE: usize = 250;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LOCAL_INIT_POOL_SIZE` is never used
[INFO] [stderr]   --> src/database/mod.rs:26:11
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub const LOCAL_INIT_POOL_SIZE: usize = 40;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MemDatabaseHeader` is never constructed
[INFO] [stderr]   --> src/database/mod.rs:52:12
[INFO] [stderr]    |
[INFO] [stderr] 52 | pub struct MemDatabaseHeader {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/database/mod.rs:64:12
[INFO] [stderr]     |
[INFO] [stderr]  63 | impl MemDatabaseHeader {
[INFO] [stderr]     | ---------------------- methods in this implementation
[INFO] [stderr]  64 |     pub fn into_raw_header(&self) -> DatabaseHeader {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  77 |     pub fn get_change_counter(&self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  81 |     pub fn get_database_size(&self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  85 |     pub fn get_freelist_trunk_page(&self) -> PageNumber {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  89 |     pub fn get_freelist_pages(&self) -> PageNumber {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  93 |     pub fn increment_change_counter(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  97 |     pub fn add_database_size(&self, add: u32) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 101 |     pub fn set_freelist_trunk_page(&self, page_number: PageNumber) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 106 |     pub fn set_freelist_pages(&self, value: PageNumber) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Database` is never constructed
[INFO] [stderr]    --> src/database/mod.rs:126:12
[INFO] [stderr]     |
[INFO] [stderr] 126 | pub struct Database {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `pager` are never used
[INFO] [stderr]    --> src/database/mod.rs:136:12
[INFO] [stderr]     |
[INFO] [stderr] 135 | impl Database {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] 136 |     pub fn new(db_file_path: PathBuf) -> DatabaseResult<Self> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 197 |     pub fn pager(&self) -> Pager {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `InvalidBytes`, `InvalidHostname`, `InvalidFilePath`, `InvalidPort`, and `Unknown` are never constructed
[INFO] [stderr]   --> src/error.rs:8:5
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub enum DatabaseError {
[INFO] [stderr]    |          ------------- variants in this enum
[INFO] [stderr]  7 |     #[error("invalid bytes")]
[INFO] [stderr]  8 |     InvalidBytes,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 12 |     InvalidHostname { msg: String, hostname: String },
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 13 |     #[error("provided path is not file: {0}")]
[INFO] [stderr] 14 |     InvalidFilePath(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 15 |     #[error("invalid port number: {0}")]
[INFO] [stderr] 16 |     InvalidPort(String),
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 35 |     Unknown,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DatabaseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: static `DISK_BLOCK_SIZE` is never used
[INFO] [stderr]   --> src/os.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub static DISK_BLOCK_SIZE: LazyLock<usize> = LazyLock::new(|| {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FileSystemBlockSize` is never used
[INFO] [stderr]   --> src/os.rs:15:11
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub trait FileSystemBlockSize {
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Open` is never used
[INFO] [stderr]   --> src/os.rs:19:11
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub trait Open {
[INFO] [stderr]    |           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Fs` is never constructed
[INFO] [stderr]   --> src/os.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct Fs;
[INFO] [stderr]    |            ^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `OpenOptions` is never constructed
[INFO] [stderr]   --> src/os.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub struct OpenOptions {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]   --> src/os.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 43 | impl OpenOptions {
[INFO] [stderr]    | ---------------- methods in this implementation
[INFO] [stderr] 44 |     /// disable OS
[INFO] [stderr] 45 |     pub fn bypass_cache(mut self, bypass_cache: bool) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 51 |     pub fn sync_on_write(mut self, sync_on_write: bool) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |     pub fn create(mut self, create: bool) -> Self {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     pub fn read(mut self, read: bool) -> Self {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 69 |     pub fn write(mut self, write: bool) -> Self {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 77 |     pub fn lock(mut self, lock: bool) -> Self {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 83 |     pub fn truncate(mut self, truncate: bool) -> Self {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `parse_explain`, `parse_begin`, and `parse_commit` are never used
[INFO] [stderr]   --> src/sql/parser.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub trait StatementParser {
[INFO] [stderr]    |           --------------- methods in this trait
[INFO] [stderr] 14 |     fn parse_explain(&mut self) -> sql::Result<Statement>;
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 21 |     fn parse_begin(&mut self) -> sql::Result<Statement>;
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 22 |     fn parse_commit(&mut self) -> sql::Result<Statement>;
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `input` is never read
[INFO] [stderr]   --> src/sql/parser.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct Parser<'a> {
[INFO] [stderr]    |            ------ field in this struct
[INFO] [stderr] 27 |     input: &'a str,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `count` is never used
[INFO] [stderr]   --> src/sql/record.rs:35:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | impl<'a> Record<'a> {
[INFO] [stderr]    | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 35 |     pub fn count(&self) -> usize {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `with_capacity` is never used
[INFO] [stderr]   --> src/sql/record.rs:89:12
[INFO] [stderr]    |
[INFO] [stderr] 78 | impl<'a> RecordCursor<'a> {
[INFO] [stderr]    | ------------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 89 |     pub fn with_capacity(payload: &'a [u8], capacity: usize) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/sql/statement.rs:268:12
[INFO] [stderr]     |
[INFO] [stderr] 267 | impl Column {
[INFO] [stderr]     | ----------- associated function in this implementation
[INFO] [stderr] 268 |     pub fn new(name: &str, data_type: DataType) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Commit` is never constructed
[INFO] [stderr]    --> src/sql/token.rs:101:5
[INFO] [stderr]     |
[INFO] [stderr]  68 | pub enum Keyword {
[INFO] [stderr]     |          ------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 101 |     Commit,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Keyword` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `input` is never read
[INFO] [stderr]  --> src/sql/tokenizer.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct Stream<'a> {
[INFO] [stderr]   |            ------ field in this struct
[INFO] [stderr] 9 |     input: &'a str,
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `raw` is never used
[INFO] [stderr]   --> src/sql/tokenizer.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl<'a> Stream<'a> {
[INFO] [stderr]    | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub fn raw(&self) -> &'a str {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ValueType` is never used
[INFO] [stderr]   --> src/sql/types/mod.rs:16:10
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub enum ValueType {
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Blob` is never constructed
[INFO] [stderr]   --> src/sql/types/mod.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub enum Value {
[INFO] [stderr]    |          ----- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 30 |     Blob(Vec<u8>),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Value` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `value_type` is never used
[INFO] [stderr]   --> src/sql/types/mod.rs:54:12
[INFO] [stderr]    |
[INFO] [stderr] 43 | impl Value {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 54 |     pub fn value_type(&self) -> ValueType {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `to_owned` and `to_value_type` are never used
[INFO] [stderr]    --> src/sql/types/mod.rs:164:12
[INFO] [stderr]     |
[INFO] [stderr] 163 | impl<'a> ValueRef<'a> {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr] 164 |     pub fn to_owned(&self) -> Value {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 174 |     pub fn to_value_type(&self) -> ValueType {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `AnyBlob` is never used
[INFO] [stderr]  --> src/sql/types/blob.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub trait AnyBlob {
[INFO] [stderr]   |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `FrameNumber` is never used
[INFO] [stderr]   --> src/storage/mod.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub type FrameNumber = BlockNumber;
[INFO] [stderr]    |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PAGE_NUMBER_SIZE` is never used
[INFO] [stderr]   --> src/storage/mod.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub const PAGE_NUMBER_SIZE: usize = std::mem::size_of::<PageNumber>();
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `PageNotFound`, `PageNumberOutOfRange`, `InvalidChecksum`, `PageNotFoundInWal`, and `PartialRead` are never constructed
[INFO] [stderr]   --> src/storage/mod.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub enum Error {
[INFO] [stderr]    |          ----- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 29 |     PageNotFound(PageNumber),
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 33 |     PageNumberOutOfRange,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     InvalidChecksum,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 38 |     #[error("page {0} not found in WAL")]
[INFO] [stderr] 39 |     PageNotFoundInWal(PageNumber),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 53 |     PartialRead { expected: usize, read: usize },
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `try_alloc` is never used
[INFO] [stderr]    --> src/storage/allocator.rs:125:12
[INFO] [stderr]     |
[INFO] [stderr]  76 | impl GlobalPageAllocator {
[INFO] [stderr]     | ------------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 125 |     pub fn try_alloc(&self) -> Option<NonNull<u8>> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `default` is never used
[INFO] [stderr]    --> src/storage/allocator.rs:214:12
[INFO] [stderr]     |
[INFO] [stderr] 199 | impl LocalPageAllocator {
[INFO] [stderr]     | ----------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 214 |     pub fn default(global_allocator: Arc<GlobalPageAllocator>) -> Self {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProtectedPayload` is never constructed
[INFO] [stderr]   --> src/storage/btree.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct ProtectedPayload {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/storage/btree.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl ProtectedPayload {
[INFO] [stderr]    | --------------------- associated function in this implementation
[INFO] [stderr] 20 |     pub fn new(pin: SharedPageGuard, payload: Payload<'static>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Payload` is never used
[INFO] [stderr]   --> src/storage/btree.rs:26:10
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub enum Payload<'a> {
[INFO] [stderr]    |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BTree` is never constructed
[INFO] [stderr]   --> src/storage/btree.rs:79:12
[INFO] [stderr]    |
[INFO] [stderr] 79 | pub struct BTree {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/storage/btree.rs:86:12
[INFO] [stderr]    |
[INFO] [stderr] 85 | impl BTree {
[INFO] [stderr]    | ---------- associated function in this implementation
[INFO] [stderr] 86 |     pub fn new(pager: Pager, root: PageNumber) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/storage/buffer_pool.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl GlobalBufferPool {
[INFO] [stderr]    | --------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub fn new(
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PageLocked` is never constructed
[INFO] [stderr]   --> src/storage/cache.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub enum Error {
[INFO] [stderr]    |          ----- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 20 |     PageLocked,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get` and `delete` are never used
[INFO] [stderr]   --> src/storage/cache.rs:89:12
[INFO] [stderr]    |
[INFO] [stderr] 77 | impl<S: BuildHasher> ShardedLruCache<S> {
[INFO] [stderr]    | --------------------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 89 |     pub fn get(&self, key: &PageCacheKey) -> Option<MemPageRef> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 97 |     pub fn delete(&self, key: PageCacheKey) -> Result<()> {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DATABASE_HEADER_SIZE` is never used
[INFO] [stderr]   --> src/storage/page.rs:18:11
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub const DATABASE_HEADER_SIZE: usize = size_of::<DatabaseHeader>();
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEFAULT_PAGE_SIZE` is never used
[INFO] [stderr]   --> src/storage/page.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub const DEFAULT_PAGE_SIZE: u32 = 4096;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEFAULT_CACHE_SIZE` is never used
[INFO] [stderr]   --> src/storage/page.rs:22:7
[INFO] [stderr]    |
[INFO] [stderr] 22 | const DEFAULT_CACHE_SIZE: u32 = 2000;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MIN_PAGE_SIZE` is never used
[INFO] [stderr]   --> src/storage/page.rs:24:11
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub const MIN_PAGE_SIZE: usize = 512;
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MAX_PAGE_SIZE` is never used
[INFO] [stderr]   --> src/storage/page.rs:25:11
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub const MAX_PAGE_SIZE: usize = 64 << 10;
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `usable_space` is never used
[INFO] [stderr]   --> src/storage/page.rs:28:8
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn usable_space(page_size: usize, reserved: usize) -> usize {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DatabaseHeader` is never constructed
[INFO] [stderr]   --> src/storage/page.rs:42:12
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub struct DatabaseHeader {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `get_page_size`, `from_bytes`, `to_bytes`, and `write_to_buffer` are never used
[INFO] [stderr]   --> src/storage/page.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 61 | impl DatabaseHeader {
[INFO] [stderr]    | ------------------- associated items in this implementation
[INFO] [stderr] 62 |     pub fn get_page_size(&self) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70 |     pub fn from_bytes(buffer: &[u8]) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 92 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 98 |     pub fn write_to_buffer(&self, buffer: &mut [u8]) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/storage/page.rs:252:12
[INFO] [stderr]     |
[INFO] [stderr] 193 | impl Page {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 252 |     pub fn as_io_slice(&self) -> IoSlice {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 255 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 267 |     pub fn cell_overflows(&self, index: SlotNumber) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 280 |     pub fn storage_space(&self) -> u16 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 285 |     pub fn storage_size(&self, cell_size: u16) -> u16 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 452 |     pub fn try_replace(
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 503 |     pub fn child(&self, index: SlotNumber) -> PageNumber {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `write_u8`, `write_u32_no_offset`, and `write_u32` are never used
[INFO] [stderr]    --> src/storage/page.rs:546:8
[INFO] [stderr]     |
[INFO] [stderr] 523 | impl Page {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 546 |     fn write_u8(&self, pos: usize, value: u8) {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 560 |     fn write_u32_no_offset(&self, pos: usize, value: u32) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 565 |     fn write_u32(&self, pos: usize, value: u32) {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_free_fragments`, `add_free_fragment`, and `set_len` are never used
[INFO] [stderr]    --> src/storage/page.rs:599:12
[INFO] [stderr]     |
[INFO] [stderr] 570 | impl Page {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 599 |     pub fn set_free_fragments(&self, value: u8) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 603 |     pub fn add_free_fragment(&self, value: u8) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 622 |     pub fn set_len(&self, value: u16) {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `offset` is never read
[INFO] [stderr]     --> src/storage/page.rs:1015:5
[INFO] [stderr]      |
[INFO] [stderr] 1014 | pub struct PayloadRef {
[INFO] [stderr]      |            ---------- field in this struct
[INFO] [stderr] 1015 |     offset: usize,
[INFO] [stderr]      |     ^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `PayloadRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `as_slice` is never used
[INFO] [stderr]     --> src/storage/page.rs:1020:12
[INFO] [stderr]      |
[INFO] [stderr] 1019 | impl PayloadRef {
[INFO] [stderr]      | --------------- method in this implementation
[INFO] [stderr] 1020 |     pub fn as_slice<'a>(&self, raw: &'a [u8]) -> &'a [u8] {
[INFO] [stderr]      |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `payload` is never used
[INFO] [stderr]     --> src/storage/page.rs:1041:12
[INFO] [stderr]      |
[INFO] [stderr] 1040 | impl IndexInternalCell {
[INFO] [stderr]      | ---------------------- method in this implementation
[INFO] [stderr] 1041 |     pub fn payload(&self) -> &[u8] {
[INFO] [stderr]      |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `payload` is never used
[INFO] [stderr]     --> src/storage/page.rs:1075:12
[INFO] [stderr]      |
[INFO] [stderr] 1074 | impl IndexLeafCell {
[INFO] [stderr]      | ------------------ method in this implementation
[INFO] [stderr] 1075 |     pub fn payload(&self) -> &[u8] {
[INFO] [stderr]      |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `payload` is never used
[INFO] [stderr]     --> src/storage/page.rs:1136:12
[INFO] [stderr]      |
[INFO] [stderr] 1135 | impl TableLeafCell {
[INFO] [stderr]      | ------------------ method in this implementation
[INFO] [stderr] 1136 |     pub fn payload(&self) -> &[u8] {
[INFO] [stderr]      |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/storage/pager.rs:59:11
[INFO] [stderr]    |
[INFO] [stderr] 57 | impl MemPage {
[INFO] [stderr]    | ------------ associated items in this implementation
[INFO] [stderr] 58 |     /// Page is in I/O error state.
[INFO] [stderr] 59 |     const PAGE_ERROR: usize = 1 << 0;
[INFO] [stderr]    |           ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     const PAGE_LOADED: usize = 1 << 2;
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 64 |
[INFO] [stderr] 65 |     pub fn is_error(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 |     pub fn is_loaded(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 77 |     pub fn set_error(&self) {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 81 |     pub fn set_dirty(&self) {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 85 |     pub fn set_loaded(&self) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 89 |     pub fn clear_error(&self) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 93 |     pub fn clear_dirty(&self) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 97 |     pub fn clear_loaded(&self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_locked`, `pin_count`, and `lock_shared` are never used
[INFO] [stderr]    --> src/storage/pager.rs:111:12
[INFO] [stderr]     |
[INFO] [stderr] 103 | impl MemPage {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 111 |     pub fn is_locked(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 117 |     pub fn pin_count(&self) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 123 |     pub fn lock_shared(self: &Arc<Self>) -> SharedPageGuard {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/storage/pager.rs:229:12
[INFO] [stderr]     |
[INFO] [stderr] 220 | impl SharedPageGuard {
[INFO] [stderr]     | -------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 229 |     pub fn id(&self) -> PageNumber {
[INFO] [stderr]     |            ^^
[INFO] [stderr] ...
[INFO] [stderr] 233 |     pub fn is_error(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 237 |     pub fn is_dirty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 241 |     pub fn is_loaded(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 245 |     pub fn set_error(&self) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 249 |     pub fn set_dirty(&self) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 253 |     pub fn set_loaded(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 257 |     pub fn clear_error(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 261 |     pub fn clear_dirty(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 265 |     pub fn clear_loaded(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/storage/pager.rs:305:12
[INFO] [stderr]     |
[INFO] [stderr] 288 | impl ExclusivePageGuard {
[INFO] [stderr]     | ----------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 305 |     pub fn replace(&mut self, page: Page) {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 313 |     pub fn id(&self) -> PageNumber {
[INFO] [stderr]     |            ^^
[INFO] [stderr] ...
[INFO] [stderr] 317 |     pub fn is_error(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 321 |     pub fn is_dirty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 325 |     pub fn is_loaded(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 329 |     pub fn set_error(&self) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 333 |     pub fn set_dirty(&self) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 337 |     pub fn set_loaded(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 341 |     pub fn clear_error(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 345 |     pub fn clear_dirty(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 349 |     pub fn clear_loaded(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Pager` is never constructed
[INFO] [stderr]    --> src/storage/pager.rs:458:12
[INFO] [stderr]     |
[INFO] [stderr] 458 | pub struct Pager {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/storage/pager.rs:472:12
[INFO] [stderr]     |
[INFO] [stderr] 471 | impl Pager {
[INFO] [stderr]     | ---------- associated items in this implementation
[INFO] [stderr] 472 |     pub fn new(
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 488 |     pub fn write_header(&mut self) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 496 |     pub fn read_page(&mut self, page_number: PageNumber) -> storage::Result<MemPageRef> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 529 |     fn read_page_from_disk(&mut self, page_number: PageNumber) -> storage::Result<Page> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 550 |     pub fn write_page(&mut self, page: MemPageRef) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 557 |     pub fn flush(&mut self) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 561 |     pub fn sync(&self) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `complete_write_page` is never used
[INFO] [stderr]    --> src/storage/pager.rs:606:8
[INFO] [stderr]     |
[INFO] [stderr] 606 | pub fn complete_write_page(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WAL_HEADER_SIZE` is never used
[INFO] [stderr]   --> src/storage/wal/mod.rs:34:7
[INFO] [stderr]    |
[INFO] [stderr] 34 | const WAL_HEADER_SIZE: usize = size_of::<WalHeader>();
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WAL_HEADER_SIZE_NO_CHECKSUM` is never used
[INFO] [stderr]   --> src/storage/wal/mod.rs:35:7
[INFO] [stderr]    |
[INFO] [stderr] 35 | const WAL_HEADER_SIZE_NO_CHECKSUM: usize = WAL_HEADER_SIZE - size_of::<[u32; 2]>();
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FRAME_HEADER_SIZE` is never used
[INFO] [stderr]   --> src/storage/wal/mod.rs:36:7
[INFO] [stderr]    |
[INFO] [stderr] 36 | const FRAME_HEADER_SIZE: usize = size_of::<FrameHeader>();
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `READERS_NUM` is never used
[INFO] [stderr]   --> src/storage/wal/mod.rs:37:7
[INFO] [stderr]    |
[INFO] [stderr] 37 | const READERS_NUM: usize = 5;
[INFO] [stderr]    |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEFAULT_CHECKPOINT_SIZE` is never used
[INFO] [stderr]   --> src/storage/wal/mod.rs:39:7
[INFO] [stderr]    |
[INFO] [stderr] 39 | const DEFAULT_CHECKPOINT_SIZE: FrameNumber = 1000;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Checksum` is never used
[INFO] [stderr]   --> src/storage/wal/mod.rs:41:6
[INFO] [stderr]    |
[INFO] [stderr] 41 | type Checksum = (u32, u32);
[INFO] [stderr]    |      ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WalHeader` is never constructed
[INFO] [stderr]   --> src/storage/wal/mod.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub struct WalHeader {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `update_checksum`, `default`, `from_bytes`, `to_bytes`, `write_to_buffer`, and `checksum_self` are never used
[INFO] [stderr]    --> src/storage/wal/mod.rs:62:12
[INFO] [stderr]     |
[INFO] [stderr]  60 | impl WalHeader {
[INFO] [stderr]     | -------------- associated items in this implementation
[INFO] [stderr]  61 |     /// Recalculates checksum of all fields except `checksum`.
[INFO] [stderr]  62 |     pub fn update_checksum(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  66 |     pub fn default(page_size: u32, db_size: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  79 |     pub fn from_bytes(buffer: &[u8]) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 106 |     pub fn write_to_buffer(&self, buffer: &mut [u8]) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |     fn checksum_self(&self, seed: Option<Checksum>) -> Checksum {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MemWalHeader` is never constructed
[INFO] [stderr]    --> src/storage/wal/mod.rs:122:12
[INFO] [stderr]     |
[INFO] [stderr] 122 | pub struct MemWalHeader {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/storage/wal/mod.rs:132:12
[INFO] [stderr]     |
[INFO] [stderr] 131 | impl MemWalHeader {
[INFO] [stderr]     | ----------------- methods in this implementation
[INFO] [stderr] 132 |     pub fn into_raw_header(&self) -> WalHeader {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 143 |     pub fn update_checksum(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 148 |     pub fn get_checkpoint_seq_num(&self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 152 |     pub fn get_last_checkpointed(&self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 156 |     pub fn get_db_size(&self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 160 |     pub fn get_backfilled_number(&self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 164 |     pub fn get_checksum(&self) -> Checksum {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 168 |     pub fn increment_checkpoint_seq_num(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |     pub fn set_last_checkpointed(&self, value: PageNumber) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 176 |     pub fn set_db_size(&self, value: u32) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 180 |     pub fn set_backfilled_number(&self, value: u32) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 184 |     pub fn set_checksum(&self, (val_1, val_2): Checksum) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FrameHeader` is never constructed
[INFO] [stderr]    --> src/storage/wal/mod.rs:204:12
[INFO] [stderr]     |
[INFO] [stderr] 204 | pub struct FrameHeader {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_bytes` and `to_bytes` are never used
[INFO] [stderr]    --> src/storage/wal/mod.rs:215:12
[INFO] [stderr]     |
[INFO] [stderr] 214 | impl FrameHeader {
[INFO] [stderr]     | ---------------- associated items in this implementation
[INFO] [stderr] 215 |     pub fn from_bytes(buffer: &[u8]) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 230 |     pub fn to_bytes(&self, buffer: &mut [u8]) {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WalManager` is never constructed
[INFO] [stderr]    --> src/storage/wal/mod.rs:238:12
[INFO] [stderr]     |
[INFO] [stderr] 238 | pub struct WalManager {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `local_wal` are never used
[INFO] [stderr]    --> src/storage/wal/mod.rs:243:12
[INFO] [stderr]     |
[INFO] [stderr] 242 | impl WalManager {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] 243 |     pub fn new(
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 288 |     pub fn local_wal(&self) -> LocalWal {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GlobalWal` is never constructed
[INFO] [stderr]    --> src/storage/wal/mod.rs:293:12
[INFO] [stderr]     |
[INFO] [stderr] 293 | pub struct GlobalWal {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/storage/wal/mod.rs:329:12
[INFO] [stderr]     |
[INFO] [stderr] 328 | impl GlobalWal {
[INFO] [stderr]     | -------------- associated items in this implementation
[INFO] [stderr] 329 |     pub fn new(
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 384 |     pub fn write_header(&self) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 392 |     pub fn get_min_frame(&self) -> FrameNumber {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 396 |     pub fn get_max_frame(&self) -> FrameNumber {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 400 |     pub fn get_last_checksum(&self) -> Checksum {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 404 |     pub fn get_backfilled_number(&self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 408 |     pub fn get_checkpoint_seq_num(&self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 412 |     pub fn set_min_frame(&self, value: FrameNumber) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 416 |     pub fn set_max_frame(&self, value: FrameNumber) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 420 |     pub fn set_last_checksum(&self, value: Checksum) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 425 |     pub fn set_backfilled_number(&self, value: u32) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 429 |     pub fn increment_checkpoint_seq_num(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LocalWal` is never constructed
[INFO] [stderr]    --> src/storage/wal/mod.rs:434:12
[INFO] [stderr]     |
[INFO] [stderr] 434 | pub struct LocalWal {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/storage/wal/mod.rs:446:12
[INFO] [stderr]     |
[INFO] [stderr] 445 | impl LocalWal {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] 446 |     pub fn new(global_wal: Arc<GlobalWal>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 455 |     fn calculate_frame_offset(&self, frame_number: FrameNumber) -> storage::Result<usize> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 462 |     pub fn is_in_wal(&self, page_number: &PageNumber) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 466 |     pub fn begin_read_tx(&mut self) -> storage::Result<ReadGuard<READERS_NUM>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 482 |     pub fn begin_write_tx(&mut self) -> storage::Result<WriteGuard> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 495 |     pub fn end_read_tx(&mut self, guard: ReadGuard<READERS_NUM>) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 505 |     pub fn end_write_tx(&mut self, guard: WriteGuard) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 522 |     fn read_raw(&self, frame_number: FrameNumber, buffer: &mut [u8]) -> storage::Result<usize> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 532 |     pub fn read_frame(
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 571 |     pub fn append_frame(&mut self, page: MemPageRef, db_size: u32) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 575 |     pub fn append_vectored(&mut self, pages: Vec<MemPageRef>, db_size: u32) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 633 |     fn should_checkpoint(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 641 |     pub fn checkpoint(&mut self) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WalIndex` is never constructed
[INFO] [stderr]    --> src/storage/wal/mod.rs:700:12
[INFO] [stderr]     |
[INFO] [stderr] 700 | pub struct WalIndex {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/storage/wal/mod.rs:705:12
[INFO] [stderr]     |
[INFO] [stderr] 704 | impl WalIndex {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] 705 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 717 |     fn insert_latest(&self, page_number: PageNumber, frame_number: FrameNumber) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 724 |     pub fn insert(&self, page_number: PageNumber, frame_number: FrameNumber) {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 732 |     pub fn latest_frames_sorted(&self, max_frame: FrameNumber) -> Vec<(PageNumber, FrameNumber)> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 753 |     pub fn contains(&self, page_number: &PageNumber) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 757 |     pub fn get(&self, page_number: &PageNumber, max_frame: FrameNumber) -> Option<FrameNumber> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 763 |     pub fn clear(&self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `validate_frame` is never used
[INFO] [stderr]    --> src/storage/wal/mod.rs:777:4
[INFO] [stderr]     |
[INFO] [stderr] 777 | fn validate_frame(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `checksum_bytes` is never used
[INFO] [stderr]    --> src/storage/wal/mod.rs:803:8
[INFO] [stderr]     |
[INFO] [stderr] 803 | pub fn checksum_bytes(data: &[u8], seed: Option<Checksum>) -> Checksum {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReadersPool` is never constructed
[INFO] [stderr]   --> src/storage/wal/locks.rs:48:12
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub struct ReadersPool<const READERS_NUM: usize> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `FREE_SLOT`, `new`, `min_active_frame`, `get_min_frame`, `acquire`, and `release` are never used
[INFO] [stderr]    --> src/storage/wal/locks.rs:56:11
[INFO] [stderr]     |
[INFO] [stderr]  55 | impl<const READERS_NUM: usize> ReadersPool<READERS_NUM> {
[INFO] [stderr]     | ------------------------------------------------------- associated items in this implementation
[INFO] [stderr]  56 |     const FREE_SLOT: FrameNumber = 0;
[INFO] [stderr]     |           ^^^^^^^^^
[INFO] [stderr]  57 |
[INFO] [stderr]  58 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  67 |     pub fn min_active_frame(&self) -> FrameNumber {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  81 |     pub fn get_min_frame(&self, slot_id: usize) -> FrameNumber {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  88 |     pub fn acquire<'a, F>(
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 125 |     pub fn release(&self, slot_id: usize) {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReadGuard` is never constructed
[INFO] [stderr]    --> src/storage/wal/locks.rs:131:12
[INFO] [stderr]     |
[INFO] [stderr] 131 | pub struct ReadGuard<'a, const READERS_NUM: usize> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `min_frame` is never used
[INFO] [stderr]    --> src/storage/wal/locks.rs:138:12
[INFO] [stderr]     |
[INFO] [stderr] 137 | impl<'a, const READERS_NUM: usize> ReadGuard<'a, READERS_NUM> {
[INFO] [stderr]     | ------------------------------------------------------------- method in this implementation
[INFO] [stderr] 138 |     pub fn min_frame(&self) -> FrameNumber {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WriteGuard` is never constructed
[INFO] [stderr]    --> src/storage/wal/locks.rs:150:12
[INFO] [stderr]     |
[INFO] [stderr] 150 | pub struct WriteGuard<'a> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/storage/wal/locks.rs:156:12
[INFO] [stderr]     |
[INFO] [stderr] 155 | impl<'a> WriteGuard<'a> {
[INFO] [stderr]     | ----------------------- associated function in this implementation
[INFO] [stderr] 156 |     pub fn new(checkpoint_guard: RwLockReadGuard<'a, ()>, mutex_guard: MutexGuard<'a, ()>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `PackedU64` is never used
[INFO] [stderr]    --> src/storage/wal/locks.rs:166:11
[INFO] [stderr]     |
[INFO] [stderr] 166 | pub trait PackedU64 {
[INFO] [stderr]     |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `InvalidBytes` and `InvalidAllocation` are never constructed
[INFO] [stderr]   --> src/utils/mod.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub enum Error {
[INFO] [stderr]    |          ----- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 21 |     InvalidBytes,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 29 |     InvalidAllocation(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `alloc_page` and `as_non_null` are never used
[INFO] [stderr]   --> src/utils/buffer.rs:28:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | impl Buffer {
[INFO] [stderr]    | ----------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub fn alloc_page(size: usize, drop: Option<DropFn>) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 58 |     pub fn as_non_null(&self) -> NonNull<u8> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `read_u8`, `try_read_u8`, `read_u16_le`, `try_read_u16_le`, `read_u64_le`, and `try_read_u64_le` are never used
[INFO] [stderr]    --> src/utils/bytes.rs:176:12
[INFO] [stderr]     |
[INFO] [stderr] 155 | impl<T: AsRef<[u8]>> BytesCursor<T> {
[INFO] [stderr]     | ----------------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 176 |     pub fn read_u8(&mut self) -> u8 {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 182 |     pub fn try_read_u8(&mut self) -> Result<u8> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 198 |     pub fn read_u16_le(&mut self) -> u16 {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 204 |     pub fn try_read_u16_le(&mut self) -> Result<u16> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 232 |     pub fn read_u64_le(&mut self) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 238 |     pub fn try_read_u64_le(&mut self) -> Result<u64> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `write_u16_le`, `try_write_u16_le`, `write_u32_le`, `try_write_u32_le`, `write_u64_le`, and `try_write_u64_le` are never used
[INFO] [stderr]    --> src/utils/bytes.rs:297:12
[INFO] [stderr]     |
[INFO] [stderr] 263 | impl<T: AsRef<[u8]> + AsMut<[u8]>> BytesCursor<T> {
[INFO] [stderr]     | ------------------------------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 297 |     pub fn write_u16_le(&mut self, value: u16) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 303 |     pub fn try_write_u16_le(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 314 |     pub fn write_u32_le(&mut self, value: u32) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 320 |     pub fn try_write_u32_le(&mut self, value: u32) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 331 |     pub fn write_u64_le(&mut self, value: u64) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 337 |     pub fn try_write_u64_le(&mut self, value: u64) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `flip_n_bits` is never used
[INFO] [stderr]    --> src/utils/bytes.rs:420:8
[INFO] [stderr]     |
[INFO] [stderr] 420 | pub fn flip_n_bits(value: &mut u64, mut n: usize, positions: &mut Vec<usize>, offset: usize) {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `byte_swap_u32` is never used
[INFO] [stderr]    --> src/utils/bytes.rs:434:8
[INFO] [stderr]     |
[INFO] [stderr] 434 | pub fn byte_swap_u32(value: u32) -> u32 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `pack_u64` is never used
[INFO] [stderr]    --> src/utils/bytes.rs:439:8
[INFO] [stderr]     |
[INFO] [stderr] 439 | pub fn pack_u64(a: u32, b: u32) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `unpack_u64` is never used
[INFO] [stderr]    --> src/utils/bytes.rs:444:8
[INFO] [stderr]     |
[INFO] [stderr] 444 | pub fn unpack_u64(packed: u64) -> (u32, u32) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `cast` is never used
[INFO] [stderr]   --> src/utils/cast.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn cast<A: Copy, B: Copy>(a: A) -> B {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `from_bytes_mut` is never used
[INFO] [stderr]   --> src/utils/cast.rs:58:8
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub fn from_bytes_mut<T: Copy>(src: &mut [u8]) -> &mut T {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bytes_of_mut` is never used
[INFO] [stderr]   --> src/utils/cast.rs:68:8
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub fn bytes_of_mut<T>(src: &mut T) -> &mut [u8] {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `try_cast` is never used
[INFO] [stderr]   --> src/utils/cast.rs:77:15
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub unsafe fn try_cast<A: Copy, B: Copy>(a: A) -> Result<B> {
[INFO] [stderr]    |               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `try_from_bytes_mut` is never used
[INFO] [stderr]    --> src/utils/cast.rs:159:15
[INFO] [stderr]     |
[INFO] [stderr] 159 | pub unsafe fn try_from_bytes_mut<T: Copy>(src: &mut [u8]) -> Result<&mut T> {
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `try_bytes_of_mut` is never used
[INFO] [stderr]    --> src/utils/cast.rs:175:15
[INFO] [stderr]     |
[INFO] [stderr] 175 | pub unsafe fn try_bytes_of_mut<T>(src: &mut T) -> Result<&mut [u8]> {
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `FileOps` is never used
[INFO] [stderr]   --> src/utils/io.rs:19:11
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub trait FileOps {
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `IO` is never used
[INFO] [stderr]   --> src/utils/io.rs:92:11
[INFO] [stderr]    |
[INFO] [stderr] 92 | pub trait IO {
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BlockIO` is never constructed
[INFO] [stderr]    --> src/utils/io.rs:265:12
[INFO] [stderr]     |
[INFO] [stderr] 265 | pub struct BlockIO<I> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `get_io`, `increment_block_count`, `decrement_block_count`, `get_block_count`, and `calculate_offset` are never used
[INFO] [stderr]    --> src/utils/io.rs:277:12
[INFO] [stderr]     |
[INFO] [stderr] 276 | impl<I> BlockIO<I> {
[INFO] [stderr]     | ------------------ associated items in this implementation
[INFO] [stderr] 277 |     pub fn new(io: I, block_size: usize, block_count: usize, header_size: usize) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 286 |     fn get_io(&self) -> &mut I {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 290 |     fn increment_block_count(&self, add: BlockNumber) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 294 |     fn decrement_block_count(&self, sub: BlockNumber) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 298 |     pub fn get_block_count(&self) -> BlockNumber {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 303 |     pub fn calculate_offset(&self, block_number: BlockNumber) -> io::Result<usize> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/utils/io.rs:312:12
[INFO] [stderr]     |
[INFO] [stderr] 311 | impl<I: IO> BlockIO<I> {
[INFO] [stderr]     | ---------------------- methods in this implementation
[INFO] [stderr] 312 |     pub fn raw_read(&self, offset: usize, buffer: &mut [u8]) -> io::Result<usize> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 318 |     pub fn read_header(&self, buffer: &mut [u8]) -> io::Result<usize> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 326 |     pub fn read(
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 337 |     pub fn raw_write(&self, offset: usize, buffer: &[u8]) -> io::Result<usize> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 343 |     pub fn write_header(&self, buffer: &[u8]) -> io::Result<usize> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 351 |     pub fn write(
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 366 |     pub fn write_vectored(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 384 |     pub fn truncate(&self, to_block_len: BlockNumber) -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 401 |     pub fn truncate_beginning(&self, up_to_block_number: BlockNumber) -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `flush` is never used
[INFO] [stderr]    --> src/utils/io.rs:420:12
[INFO] [stderr]     |
[INFO] [stderr] 415 | impl<I: Write> BlockIO<I> {
[INFO] [stderr]     | ------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 420 |     pub fn flush(&self) -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `sync` is never used
[INFO] [stderr]    --> src/utils/io.rs:427:12
[INFO] [stderr]     |
[INFO] [stderr] 425 | impl<I: FileOps> BlockIO<I> {
[INFO] [stderr]     | --------------------------- method in this implementation
[INFO] [stderr] 426 |     /// Makes syscall to kernel to write **flushed** buffers to disk.
[INFO] [stderr] 427 |     pub fn sync(&self) -> io::Result<()> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `size` and `persist` are never used
[INFO] [stderr]    --> src/utils/io.rs:434:12
[INFO] [stderr]     |
[INFO] [stderr] 432 | impl BlockIO<File> {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] 433 |     /// Returns size of file inside wrapper in **bytes**.
[INFO] [stderr] 434 |     pub fn size(&self) -> io::Result<usize> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 440 |     pub fn persist(&self) -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `carcinusdb` (bin "carcinusdb" test) generated 135 warnings (19 duplicates) (run `cargo fix --bin "carcinusdb" -p carcinusdb --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `carcinusdb` (lib test) generated 27 warnings (27 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/carcinusdb-8533ff9ca64a2a39)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test sql::tokenizer::tests::test_tokenize ... ok
[INFO] [stdout] test storage::allocator::tests::test_main ... ok
[INFO] [stdout] test sql::record::tests::test_record_builder ... ok
[INFO] [stdout] test sql::record::tests::test_record ... ok
[INFO] [stdout] test storage::page::tests::test_min_max ... ok
[INFO] [stdout] test utils::buffer::tests::test_drop_fn ... ok
[INFO] [stdout] test storage::page::tests::test_page ... ok
[INFO] [stdout] test utils::bytes::tests::test_crc ... ok
[INFO] [stdout] test storage::buffer_pool::tests::test_main ... ok
[INFO] [stdout] test utils::bytes::tests::test_flip_bits ... ok
[INFO] [stdout] test utils::buffer::tests::test_reset ... ok
[INFO] [stdout] test utils::bytes::tests::test_varint ... ok
[INFO] [stdout] test sql::parser::tests::main_test ... ok
[INFO] [stdout] test utils::bytes::tests::test_zigzag ... ok
[INFO] [stdout] test utils::cast::tests::test_bytes_of ... ok
[INFO] [stdout] test utils::cast::tests::test_cast_slice ... ok
[INFO] [stdout] test utils::debug_table::tests::test_debug_table ... ok
[INFO] [stdout] test utils::cast::tests::test_from_bytes ... ok
[INFO] [stdout] test storage::cache::tests::main_test has been running for over 60 seconds
[INFO] [stdout] test storage::cache::tests::test_sharded has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "dfe9db3feb2d11577ca37234d3c141e41189f7bb913a30650279d43ed7208419", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dfe9db3feb2d11577ca37234d3c141e41189f7bb913a30650279d43ed7208419", kill_on_drop: false }`
[INFO] [stdout] dfe9db3feb2d11577ca37234d3c141e41189f7bb913a30650279d43ed7208419
