[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] 88fb95cc8b652aa1c5d5a469c0eac5c78ea2d1ee
[INFO] testing Myster987/carcinusdb against 1.93.0 for beta-1.94-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMyster987%2Fcarcinusdb" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/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-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Myster987/carcinusdb on toolchain 1.93.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.93.0" "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" "+1.93.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 125 packages to latest Rust 1.93.0 compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.93.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded num-conv v0.2.0
[INFO] [stderr]   Downloaded time-core v0.1.8
[INFO] [stderr]   Downloaded colored v3.1.1
[INFO] [stderr]   Downloaded oorandom v11.1.5
[INFO] [stderr]   Downloaded simple_logger v5.1.0
[INFO] [stderr]   Downloaded alloca v0.4.0
[INFO] [stderr]   Downloaded criterion-plot v0.8.1
[INFO] [stderr]   Downloaded time-macros v0.2.26
[INFO] [stderr]   Downloaded socket2 v0.6.2
[INFO] [stderr]   Downloaded time v0.3.46
[INFO] [stderr]   Downloaded criterion v0.8.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 69b60a0aef03a8fad3dbe4e18e8b9cc2a8fe504d001c5740ed7084332794d05b
[INFO] running `Command { std: "docker" "start" "-a" "69b60a0aef03a8fad3dbe4e18e8b9cc2a8fe504d001c5740ed7084332794d05b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "69b60a0aef03a8fad3dbe4e18e8b9cc2a8fe504d001c5740ed7084332794d05b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69b60a0aef03a8fad3dbe4e18e8b9cc2a8fe504d001c5740ed7084332794d05b", kill_on_drop: false }`
[INFO] [stdout] 69b60a0aef03a8fad3dbe4e18e8b9cc2a8fe504d001c5740ed7084332794d05b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7a5cf8ebe6067a14ffc4e1b58e34fd1cb67872d4c3eba4689871a8f2c5cf8509
[INFO] running `Command { std: "docker" "start" "-a" "7a5cf8ebe6067a14ffc4e1b58e34fd1cb67872d4c3eba4689871a8f2c5cf8509", kill_on_drop: false }`
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling time-macros v0.2.26
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling time v0.3.46
[INFO] [stderr]    Compiling simple_logger v5.1.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling carcinusdb v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `DatabaseError`
[INFO] [stdout]   --> src/database/mod.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |     error::{DatabaseError, DatabaseResult},
[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 import: `DatabaseHeader`
[INFO] [stdout]   --> src/storage/pager.rs:12:56
[INFO] [stdout]    |
[INFO] [stdout] 12 |     DATABASE_HEADER_PAGE_NUMBER, DATABASE_HEADER_SIZE, DatabaseHeader, PageType,
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Checksum`
[INFO] [stdout]  --> src/storage/wal/transaction.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |         wal::{Checksum, READERS_NUM, WriteAheadLog},
[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: unreachable expression
[INFO] [stdout]   --> src/database/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | /     loop {
[INFO] [stdout] 43 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 44 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 45 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 46 |
[INFO] [stdout] 47 |       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 `CARCINUSDB_MASTER_TABLE` is never used
[INFO] [stdout]   --> src/database/mod.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const CARCINUSDB_MASTER_TABLE: &'static str = "carcinusdb_master";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_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] 
[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: field `capacity` is never read
[INFO] [stdout]   --> src/storage/buffer_pool.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct BufferPool {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BufferPool` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frame_size` is never read
[INFO] [stdout]    --> src/storage/wal/mod.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub struct WriteAheadLog {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 254 |     frame_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `checkpoint_guard` and `read_guard` are never read
[INFO] [stdout]   --> src/storage/wal/transaction.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ReadTransaction<'a> {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 33 |     /// Protects this transaction, so that checkpoint allows it to finish.
[INFO] [stdout] 34 |     checkpoint_guard: RwLockReadGuard<'a, ()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     read_guard: SlotGuard<READERS_NUM>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:313:24
[INFO] [stdout]     |
[INFO] [stdout] 313 |     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] 313 |     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:366:23
[INFO] [stdout]     |
[INFO] [stdout] 366 |     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] 366 |     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:370:27
[INFO] [stdout]     |
[INFO] [stdout] 370 |     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] 370 |     pub fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:441:27
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn get_cell_at_offset(&self, offset: u16) -> storage::Result<BTreeCellRef> {
[INFO] [stdout]     |                           ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^ the same lifetime is hidden 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] 441 |     fn get_cell_at_offset(&self, offset: u16) -> storage::Result<BTreeCellRef<'_>> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DatabaseError`
[INFO] [stdout]   --> src/database/mod.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |     error::{DatabaseError, DatabaseResult},
[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 import: `DatabaseHeader`
[INFO] [stdout]   --> src/storage/pager.rs:12:56
[INFO] [stdout]    |
[INFO] [stdout] 12 |     DATABASE_HEADER_PAGE_NUMBER, DATABASE_HEADER_SIZE, DatabaseHeader, PageType,
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Checksum`
[INFO] [stdout]  --> src/storage/wal/transaction.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |         wal::{Checksum, READERS_NUM, WriteAheadLog},
[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: unreachable expression
[INFO] [stdout]   --> src/database/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | /     loop {
[INFO] [stdout] 43 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 44 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 45 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 46 |
[INFO] [stdout] 47 |       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 `CARCINUSDB_MASTER_TABLE` is never used
[INFO] [stdout]   --> src/database/mod.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const CARCINUSDB_MASTER_TABLE: &'static str = "carcinusdb_master";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemDatabaseHeader` is never constructed
[INFO] [stdout]   --> src/database/mod.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct MemDatabaseHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/database/mod.rs:69:12
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl MemDatabaseHeader {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout]  69 |     pub fn into_raw_header(&self) -> DatabaseHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn get_change_counter(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn get_database_size(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn get_first_freelist_page(&self) -> PageNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn get_freelist_pages(&self) -> PageNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn increment_change_counter(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn add_database_size(&self, add: u32) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn set_first_freelist_page(&self, page_number: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn sub_freelist_pages(&self, sub: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn get_version_valid_for(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn set_version_valid_for(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn is_consistent(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Database` is never constructed
[INFO] [stdout]    --> src/database/mod.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct Database {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open`, `begin_read`, and `begin_write` are never used
[INFO] [stdout]    --> src/database/mod.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl Database {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 155 |     pub fn open(path: impl AsRef<Path>) -> DatabaseResult<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn begin_read<'a>(&'a self) -> DatabaseResult<DatabaseReadTransaction<'a>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn begin_write<'a>(&'a self) -> DatabaseResult<DatabaseWriteTransaction<'a>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseReadTransaction` is never constructed
[INFO] [stdout]    --> src/database/mod.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub struct DatabaseReadTransaction<'tx> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cursor` and `commit` are never used
[INFO] [stdout]    --> src/database/mod.rs:254:12
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl<'tx> DatabaseReadTransaction<'tx> {
[INFO] [stdout]     | -------------------------------------- methods in this implementation
[INFO] [stdout] 254 |     pub fn cursor(&self, root: PageNumber) -> BTreeCursor<'_, ReadTransaction<'tx>> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn commit(self) -> DatabaseResult<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseWriteTransaction` is never constructed
[INFO] [stdout]    --> src/database/mod.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub struct DatabaseWriteTransaction<'tx> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cursor` and `commit` are never used
[INFO] [stdout]    --> src/database/mod.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | impl<'tx> DatabaseWriteTransaction<'tx> {
[INFO] [stdout]     | --------------------------------------- methods in this implementation
[INFO] [stdout] 269 |     pub fn cursor(&self, root: PageNumber) -> BTreeCursor<'_, WriteTransaction<'tx>> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     pub fn commit(self) -> DatabaseResult<()> {
[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:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Record<'a> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/sql/record.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl<'a> Record<'a> {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 24 |     pub fn new(payload: Cow<'a, [u8]>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn from_borrowed(payload: &'a [u8]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn from_owned(payload: Vec<u8>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn raw(&'a self) -> &'a [u8] {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn get_value(&'a self, index: usize) -> ValueRef<'a> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn try_get_value(&'a self, index: usize) -> sql::Result<ValueRef<'a>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn values(&'a self) -> Vec<ValueRef<'a>> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn to_owned(&self) -> Record<'static> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordCursor` is never constructed
[INFO] [stdout]    --> src/sql/record.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct RecordCursor {
[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:111:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl RecordCursor {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 111 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn with_capacity(capacity: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn parse_up_to(&mut self, payload: &[u8], index: usize) -> sql::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn full_parse(&mut self, payload: &[u8]) -> sql::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn get_value<'a>(&mut self, payload: &'a [u8], index: usize) -> sql::Result<ValueRef<'a>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn len(&mut self, payload: &[u8]) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordBuilder` is never constructed
[INFO] [stdout]    --> src/sql/record.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub struct RecordBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add`, `calculate_header_size`, `serialize`, and `get` are never used
[INFO] [stdout]    --> src/sql/record.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 192 | impl RecordBuilder {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 193 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn add(&mut self, value: Value) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     fn calculate_header_size(size_of_serial_types: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn serialize(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn get(&self, index: usize) -> &Value {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `records_equal` is never used
[INFO] [stdout]    --> src/sql/record.rs:300:8
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn records_equal(r1: &Record, r2: &Record) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_records` is never used
[INFO] [stdout]    --> src/sql/record.rs:319:8
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub fn compare_records(r1: &Record, r2: &Record) -> std::cmp::Ordering {
[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:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 | 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:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | 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:184:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl<'a> ValueRef<'a> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 184 |     pub fn to_owned(&self) -> Value {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     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:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | 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:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | 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:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | 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:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | 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:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | 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/storage/mod.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     PageNotFound(PageNumber),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 29 |     #[error("invalid page type")]
[INFO] [stdout] 30 |     InvalidPageType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     #[error("page number must be grater than 0")]
[INFO] [stdout] 32 |     PageNumberOutOfRange,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     #[error("page is corrupted. Exptected state doesn't match")]
[INFO] [stdout] 34 |     Corruped,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 35 |     #[error("cell slot number is out of range")]
[INFO] [stdout] 36 |     CellIndexOutRange,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     InvalidChecksum,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     #[error("page {0} not found in WAL")]
[INFO] [stdout] 42 |     PageNotFoundInWal(PageNumber),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     #[error("could not begin transaction correctly. please try again")]
[INFO] [stdout] 44 |     RetryTransaction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     DuplicateKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     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: enum `BTreeKey` is never used
[INFO] [stdout]   --> src/storage/btree.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum BTreeKey<'a> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_table_key`, `new_index_key`, `get_record`, `row_id`, and `to_owned` are never used
[INFO] [stdout]   --> src/storage/btree.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'a> BTreeKey<'a> {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 23 |     pub fn new_table_key(row_id: i64, record: Option<Record<'a>>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn new_index_key(record: Record<'a>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn get_record(&self) -> Option<Record<'a>> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn row_id(&self) -> i64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn to_owned(&self) -> BTreeKey<'static> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SearchResult` is never used
[INFO] [stdout]   --> src/storage/btree.rs:95:10
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub enum SearchResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_found` is never used
[INFO] [stdout]    --> src/storage/btree.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl SearchResult {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 101 |     pub fn is_found(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BTreeType` is never used
[INFO] [stdout]    --> src/storage/btree.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub enum BTreeType {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DatabaseCursor` is never used
[INFO] [stdout]    --> src/storage/btree.rs:115:11
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub trait DatabaseCursor {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BTreeCursor` is never constructed
[INFO] [stdout]    --> src/storage/btree.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct BTreeCursor<'tx, Tx> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `binary_search`, `key_in_range`, `extract_high_key`, `extracty_key`, and `reassemble_payload` are never used
[INFO] [stdout]    --> src/storage/btree.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl<'tx, Tx: ReadTx> BTreeCursor<'tx, Tx> {
[INFO] [stdout]     | ------------------------------------------ associated items in this implementation
[INFO] [stdout] 155 |     pub fn new(tx: Rc<RefCell<Tx>>, pager: &'tx Arc<Pager>, root: PageNumber) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     fn binary_search(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn key_in_range(&self, page: &Page, key: &BTreeKey) -> storage::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     fn extract_high_key<'a>(&self, page: &'a Page) -> storage::Result<Option<BTreeKey<'a>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn extracty_key<'a>(&self, page: &'a Page, index: SlotNumber) -> storage::Result<BTreeKey<'a>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn reassemble_payload<'a>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert_leaf` is never used
[INFO] [stdout]    --> src/storage/btree.rs:434:12
[INFO] [stdout]     |
[INFO] [stdout] 433 | impl<'tx, Tx: WriteTx> BTreeCursor<'tx, Tx> {
[INFO] [stdout]     | ------------------------------------------- method in this implementation
[INFO] [stdout] 434 |     pub fn insert_leaf(&mut self, entry: BTreeKey<'_>) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_POOL_SIZE` is never used
[INFO] [stdout]  --> src/storage/buffer_pool.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const DEFAULT_POOL_SIZE: usize = 2000;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BufferPool` is never constructed
[INFO] [stdout]   --> src/storage/buffer_pool.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct BufferPool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `default`, `new`, and `get` are never used
[INFO] [stdout]   --> src/storage/buffer_pool.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl BufferPool {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn default(page_size: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn new(page_size: usize, capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn get(self: &Arc<Self>) -> Buffer {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AGGRESSIVE_THRESHOLD` is never used
[INFO] [stdout]   --> src/storage/cache.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const AGGRESSIVE_THRESHOLD: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_USAGE_COUNT` is never used
[INFO] [stdout]   --> src/storage/cache.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const MAX_USAGE_COUNT: u8 = 5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_SHARD_COUNT` is never used
[INFO] [stdout]   --> src/storage/cache.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const DEFAULT_SHARD_COUNT: usize = 8;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/storage/cache.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub type Result<T> = std::result::Result<T, Error>;
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AllPagesPinned` is never constructed
[INFO] [stdout]   --> src/storage/cache.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum Error {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] 20 |     #[error("all entires in cache are pinned. can't evict any entry now.")]
[INFO] [stdout] 21 |     AllPagesPinned,
[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 `ShardedClockCache` is never constructed
[INFO] [stdout]   --> src/storage/cache.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ShardedClockCache<S: BuildHasher = DefaultHashBuilder> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage/cache.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl ShardedClockCache {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 33 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_shard`, `get`, and `insert` are never used
[INFO] [stdout]   --> src/storage/cache.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl<S: BuildHasher> ShardedClockCache<S> {
[INFO] [stdout]    | ----------------------------------------- methods in this implementation
[INFO] [stdout] 46 |     fn get_shard(&self, key: &PageNumber) -> &Mutex<ClockCache> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn get(&self, key: &PageNumber) -> Option<Arc<MemPage>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn insert(&self, key: PageNumber, page: Arc<MemPage>) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClockEntry` is never constructed
[INFO] [stdout]   --> src/storage/cache.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | struct ClockEntry {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage/cache.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl ClockEntry {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 74 |     fn new(page: Arc<MemPage>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClockCache` is never constructed
[INFO] [stdout]   --> src/storage/cache.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct ClockCache {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `try_insert`, `get`, and `make_room` are never used
[INFO] [stdout]    --> src/storage/cache.rs:92:12
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl ClockCache {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  92 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn try_insert(&mut self, key: PageNumber, page: Arc<MemPage>) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn get(&mut self, key: &PageNumber) -> Option<Arc<MemPage>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     fn make_room(&mut self) -> Result<usize> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATABASE_HEADER_PAGE_NUMBER` is never used
[INFO] [stdout]   --> src/storage/page.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const DATABASE_HEADER_PAGE_NUMBER: PageNumber = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATABASE_HEADER_SIZE` is never used
[INFO] [stdout]   --> src/storage/page.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | 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:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | 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:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | 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:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | 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:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | 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:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | 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:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | 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:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | 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:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | 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]  94 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     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:131:10
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub enum PageType {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_leaf` and `is_internal` are never used
[INFO] [stdout]    --> src/storage/page.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl PageType {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 139 |     pub fn is_leaf(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn is_internal(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Page` is never constructed
[INFO] [stdout]    --> src/storage/page.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub struct Page {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/page.rs:223:11
[INFO] [stdout]     |
[INFO] [stdout] 222 | impl Page {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 223 |     const PAGE_TYPE_OFFSET: usize = 0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 224 |     const FIRST_FREEBLOCK_OFFSET: usize = Self::PAGE_TYPE_OFFSET + size_of::<PageType>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 225 |     const LENGTH_OFFSET: usize = Self::FIRST_FREEBLOCK_OFFSET + size_of::<SlotNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 226 |     const LAST_USED_OFFSET: usize = Self::LENGTH_OFFSET + size_of::<SlotNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 227 |     const FREE_FRAGMENTS_OFFSET: usize = Self::LAST_USED_OFFSET + size_of::<SlotNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 228 |     const RIGTH_SIBLING_OFFSET: usize = Self::FREE_FRAGMENTS_OFFSET + size_of::<u8>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 229 |     const RIGTH_CHILD_OFFSET: usize = Self::RIGTH_SIBLING_OFFSET + size_of::<PageNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 230 |
[INFO] [stdout] 231 |     pub const HIGH_KEY_SLOT: SlotNumber = 0;
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 232 |     const FIRST_DATA_KEY: SlotNumber = Self::HIGH_KEY_SLOT + 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     const NEXT_OVERFLOW_OFFSET: usize = 0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 236 |     const PAYLOAD_SIZE_OFFSET: usize = Self::NEXT_OVERFLOW_OFFSET + size_of::<PageNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 237 |     const PAYLOAD_OFFSET: usize = Self::PAYLOAD_SIZE_OFFSET + size_of::<SlotNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub const LEAF_PAGE_HEADER_SIZE: usize = 12;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 241 |     pub const INTERNAL_PAGE_HEADER_SIZE: usize = 16;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 242 |
[INFO] [stdout] 243 |     pub fn new(offset: usize, buffer: Buffer) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn alloc(size: usize, drop: Option<DropFn>) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn initialize(&self, page_type: PageType) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn raw(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn as_ptr(&self) -> &mut [u8] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub fn usable_space(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn min_cell_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn max_cell_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn can_fit_in_overflow(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     fn total_free_space(&self) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn as_io_slice(&self) -> IoSlice {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub fn is_leaf(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     fn overflow_map(&self) -> &mut HashMap<SlotNumber, BTreeCell> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn is_overflow(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn header_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn storage_space(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn storage_size(&self, cell_size: u16) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     pub fn free_space(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     pub fn first_data_offset(&self) -> SlotNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn slot_array(&self) -> SlotArray {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     pub fn freeblock_list(&self) -> FreeblockList {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 400 |     fn defragment(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 430 |     fn get_cell_size(&self, offset: u16) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 441 |     fn get_cell_at_offset(&self, offset: u16) -> storage::Result<BTreeCellRef> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 463 |     pub fn get_cell<'a>(&'a self, index: SlotNumber) -> storage::Result<BTreeCellRef<'a>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 472 |     pub fn insert_cell(&self, index: SlotNumber, cell: BTreeCell) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 487 |     fn try_insert_cell(&self, index: SlotNumber, cell: BTreeCell) -> Result<SlotNumber, BTreeCell> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 537 |     pub fn try_replace(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 578 |     pub fn remove(&self, index: SlotNumber) -> BTreeCell {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 588 |     pub fn child(&self, index: SlotNumber) -> PageNumber {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 608 |     pub fn has_high_key(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_u8`, `read_u16`, `read_u32`, `write_u8`, `write_u16`, and `write_u32` are never used
[INFO] [stdout]    --> src/storage/page.rs:614:8
[INFO] [stdout]     |
[INFO] [stdout] 613 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 614 |     fn read_u8(&self, pos: usize) -> u8 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 618 |     fn read_u16(&self, pos: usize) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 623 |     fn read_u32(&self, pos: usize) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 628 |     fn write_u8(&self, pos: usize, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 633 |     fn write_u16(&self, pos: usize, value: u16) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 638 |     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:645:12
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 645 |     pub fn try_page_type(&self) -> Option<PageType> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 649 |     pub fn page_type(&self) -> PageType {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 653 |     pub fn first_freeblock(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 657 |     pub fn set_first_freeblock(&self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 661 |     pub fn last_used_offset(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 665 |     pub fn set_last_used_offset(&self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 669 |     pub fn free_fragments(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 673 |     pub fn set_free_fragments(&self, value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 677 |     pub fn add_free_fragment(&self, value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 690 |     pub fn try_rigth_sibling(&self) -> Option<PageNumber> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 697 |     pub fn try_rigth_child(&self) -> Option<PageNumber> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 707 |     pub fn len(&self) -> u16 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 711 |     pub fn set_len(&self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 716 |     pub fn count(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `next_overflow`, `set_next_overflow`, `overflow_payload_size`, `set_overflow_payload_size`, `overflow_payload`, and `set_overflow_payload` are never used
[INFO] [stdout]    --> src/storage/page.rs:724:12
[INFO] [stdout]     |
[INFO] [stdout] 722 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 723 |     /// Use only when page type is overflow.
[INFO] [stdout] 724 |     pub fn next_overflow(&self) -> Option<PageNumber> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 730 |     pub fn set_next_overflow(&self, value: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 735 |     pub fn overflow_payload_size(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 739 |     pub fn set_overflow_payload_size(&self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 744 |     pub fn overflow_payload(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 750 |     pub fn set_overflow_payload(&self, payload: &[u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `db_header` and `write_db_header` are never used
[INFO] [stdout]    --> src/storage/page.rs:763:12
[INFO] [stdout]     |
[INFO] [stdout] 761 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 762 |     /// Returns database header. Only use with page that have non-zero offset.
[INFO] [stdout] 763 |     pub fn db_header(&self) -> DatabaseHeader {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 767 |     pub fn write_db_header(&self, header: DatabaseHeader) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `freelist_next` and `freelist_set` are never used
[INFO] [stdout]    --> src/storage/page.rs:775:12
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 774 |     /// Returns page number of next free page, if exists.
[INFO] [stdout] 775 |     pub fn freelist_next(&self) -> PageNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 779 |     pub fn freelist_set(&self, value: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SlotArray` is never constructed
[INFO] [stdout]    --> src/storage/page.rs:808:12
[INFO] [stdout]     |
[INFO] [stdout] 808 | 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:816:12
[INFO] [stdout]     |
[INFO] [stdout] 815 | impl<'a> SlotArray<'a> {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 816 |     pub fn new(mem: &'a mut [u8], slot_array_offset: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 823 |     fn read_u16(&self, pos: usize) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 827 |     fn write_u16(&mut self, pos: usize, value: u16) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 831 |     pub fn len(&self) -> u16 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 835 |     pub fn set_len(&mut self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 839 |     pub fn increment_len(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 844 |     pub fn decrement_len(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 850 |     fn slot_array(&self) -> &[u16] {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 859 |     fn slot_array_mut(&mut self) -> &mut [u16] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 868 |     pub fn get(&self, index: SlotNumber) -> u16 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 873 |     pub fn try_get(&self, index: SlotNumber) -> Option<u16> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 879 |     pub fn set(&mut self, index: SlotNumber, value: u16) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 891 |     pub fn insert(&mut self, index: SlotNumber, value: u16) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 905 |     pub fn push(&mut self, value: u16) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 909 |     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:935:12
[INFO] [stdout]     |
[INFO] [stdout] 935 | 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:941:12
[INFO] [stdout]      |
[INFO] [stdout]  940 | impl<'a> FreeblockList<'a> {
[INFO] [stdout]      | -------------------------- associated items in this implementation
[INFO] [stdout]  941 |     pub fn new(mem: &'a mut [u8]) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  945 |     fn read_u8(&self, pos: usize) -> u8 {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  949 |     fn read_u16(&self, pos: usize) -> u16 {
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  953 |     fn write_u8(&mut self, pos: usize, value: u8) {
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  957 |     fn write_u16(&mut self, pos: usize, value: u16) {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  961 |     pub fn first_freeblock(&self) -> u16 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  965 |     pub fn set_first_freeblock(&mut self, value: u16) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  969 |     pub fn free_fragments(&self) -> u8 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  973 |     pub fn set_free_fragments(&mut self, value: u8) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  977 |     pub fn add_free_fragment(&mut self, value: u8) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  982 |     fn get_freeblock(&self, offset: u16) -> (u16, u16) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  988 |     fn set_freeblock(&mut self, offset: u16, next: u16, size: u16) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  996 |     fn take_freeblock(&mut self, cell_size: u16) -> Option<u16> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1030 |     fn push_freeblock(&mut self, offset: u16, size: u16) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1047 |     fn iter(&self) -> FreeblockIterator<'_> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FreeblockIterator` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1055:8
[INFO] [stdout]      |
[INFO] [stdout] 1055 | struct FreeblockIterator<'a> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CellIterator` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1075:12
[INFO] [stdout]      |
[INFO] [stdout] 1075 | pub struct CellIterator<'a> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CellOps` is never used
[INFO] [stdout]     --> src/storage/page.rs:1090:11
[INFO] [stdout]      |
[INFO] [stdout] 1090 | pub trait CellOps {
[INFO] [stdout]      |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PayloadRef` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1111:12
[INFO] [stdout]      |
[INFO] [stdout] 1111 | pub struct PayloadRef {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_slice` is never used
[INFO] [stdout]     --> src/storage/page.rs:1117:12
[INFO] [stdout]      |
[INFO] [stdout] 1116 | impl PayloadRef {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] 1117 |     pub fn as_slice<'a>(&self, raw: &'a [u8]) -> &'a [u8] {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BTreeCell` is never used
[INFO] [stdout]     --> src/storage/page.rs:1124:10
[INFO] [stdout]      |
[INFO] [stdout] 1124 | pub enum BTreeCell {
[INFO] [stdout]      |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndexInternalCell` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1206:12
[INFO] [stdout]      |
[INFO] [stdout] 1206 | pub struct IndexInternalCell {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `payload` are never used
[INFO] [stdout]     --> src/storage/page.rs:1223:12
[INFO] [stdout]      |
[INFO] [stdout] 1220 | impl IndexInternalCell {
[INFO] [stdout]      | ---------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1223 |     pub fn new(
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1255 |     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:1298:12
[INFO] [stdout]      |
[INFO] [stdout] 1298 | pub struct IndexLeafCell {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/storage/page.rs:1313:12
[INFO] [stdout]      |
[INFO] [stdout] 1310 | impl IndexLeafCell {
[INFO] [stdout]      | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1313 |     pub fn new(payload_size: VarInt, payload: &[u8], first_overflow: Option<PageNumber>) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableInternalCell` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1377:12
[INFO] [stdout]      |
[INFO] [stdout] 1377 | pub struct TableInternalCell {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/storage/page.rs:1389:12
[INFO] [stdout]      |
[INFO] [stdout] 1386 | impl TableInternalCell {
[INFO] [stdout]      | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1389 |     pub fn new(row_id: i64, left_child: PageNumber) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableLeafCell` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1444:12
[INFO] [stdout]      |
[INFO] [stdout] 1444 | pub struct TableLeafCell {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/storage/page.rs:1461:12
[INFO] [stdout]      |
[INFO] [stdout] 1458 | impl TableLeafCell {
[INFO] [stdout]      | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1461 |     pub fn new(
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BTreeCellRef` is never used
[INFO] [stdout]     --> src/storage/page.rs:1532:10
[INFO] [stdout]      |
[INFO] [stdout] 1532 | pub enum BTreeCellRef<'a> {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `offset_in_page` and `to_owned` are never used
[INFO] [stdout]     --> src/storage/page.rs:1620:12
[INFO] [stdout]      |
[INFO] [stdout] 1613 | impl<'a> BTreeCellRef<'a> {
[INFO] [stdout]      | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1620 |     pub fn offset_in_page(&self, page_buffer: &[u8]) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1624 |     pub fn to_owned(&self) -> BTreeCell {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndexInternalCellRef` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1658:12
[INFO] [stdout]      |
[INFO] [stdout] 1658 | pub struct IndexInternalCellRef<'a> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndexLeafCellRef` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1704:12
[INFO] [stdout]      |
[INFO] [stdout] 1704 | pub struct IndexLeafCellRef<'a> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableInternalCellRef` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1749:12
[INFO] [stdout]      |
[INFO] [stdout] 1749 | pub struct TableInternalCellRef<'a> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableLeafCellRef` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1794:12
[INFO] [stdout]      |
[INFO] [stdout] 1794 | pub struct TableLeafCellRef<'a> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_btree_cell_ref` is never used
[INFO] [stdout]     --> src/storage/page.rs:1839:4
[INFO] [stdout]      |
[INFO] [stdout] 1839 | fn read_btree_cell_ref<'a>(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_btree_cell` is never used
[INFO] [stdout]     --> src/storage/page.rs:1980:8
[INFO] [stdout]      |
[INFO] [stdout] 1980 | pub fn write_btree_cell<T: CellOps>(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_local_payload` is never used
[INFO] [stdout]     --> src/storage/page.rs:1994:8
[INFO] [stdout]      |
[INFO] [stdout] 1994 | 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:2020:8
[INFO] [stdout]      |
[INFO] [stdout] 2020 | 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:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | 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:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct MemPage {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_page`, `inner`, and `id` are never used
[INFO] [stdout]   --> src/storage/pager.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MemPage {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 38 |     pub fn new(id: PageNumber) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn from_page(id: PageNumber, page: Page) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub(super) fn inner(&self) -> &mut MemPageInner {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     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:74:11
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl MemPage {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  73 |     /// Page is in I/O error state.
[INFO] [stdout]  74 |     const PAGE_ERROR: usize = 1 << 0;
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout]  75 |     /// Page needs to be flushed to disk.
[INFO] [stdout]  76 |     const PAGE_DIRTY: usize = 1 << 1;
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout]  77 |     /// Page is loaded into memory.
[INFO] [stdout]  78 |     const PAGE_LOADED: usize = 1 << 2;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout]  79 |
[INFO] [stdout]  80 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn is_dirty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn is_loaded(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn set_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn set_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn set_loaded(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn clear_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn clear_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     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:120:11
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl MemPage {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 119 |     // Locking state
[INFO] [stdout] 120 |     const LOCKED_EXCLUSIVE: usize = 1 << 3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 121 |     const SEEKS_LOCK: usize = 1 << 4;
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 122 |
[INFO] [stdout] 123 |     const SHARED_LOCKS_SHIFT: usize = 5;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 124 |     const SHARED_LOCK_ONE: usize = 1 << Self::SHARED_LOCKS_SHIFT;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 125 |
[INFO] [stdout] 126 |     pub fn is_locked(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn pin_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn lock_shared(self: &Arc<Self>) -> SharedPageGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn lock_seek(self: &Arc<Self>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn lock_exclusive(self: &Arc<Self>) -> ExclusivePageGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub fn unlock_shared(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     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:226:12
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct MemPageInner {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SharedPageGuard` is never constructed
[INFO] [stdout]    --> src/storage/pager.rs:231:12
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub struct SharedPageGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/pager.rs:236:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | impl SharedPageGuard {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 236 |     pub fn get(&self) -> &Page {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn id(&self) -> PageNumber {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub fn is_dirty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn is_loaded(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn set_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn set_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn set_loaded(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn clear_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn clear_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     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:299:12
[INFO] [stdout]     |
[INFO] [stdout] 299 | pub struct ExclusivePageGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/pager.rs:304:12
[INFO] [stdout]     |
[INFO] [stdout] 303 | impl ExclusivePageGuard {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 304 |     pub fn get(&self) -> &Page {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub fn get_mut(&mut self) -> &mut Page {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub fn replace(&mut self, page: Page) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub fn take(&mut self) -> Option<Page> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub fn id(&self) -> PageNumber {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn is_dirty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn is_loaded(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn set_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     pub fn set_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub fn set_loaded(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn clear_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub fn clear_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     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:390:12
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub struct Pager {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/pager.rs:404:12
[INFO] [stdout]     |
[INFO] [stdout] 403 | impl Pager {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 404 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |     pub fn init(&self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 442 |     pub fn write_header<Tx: WriteTx>(&self, tx: &mut Tx) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 452 |     pub fn read_page<Tx: ReadTx>(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 489 |     fn read_page_from_disk(&self, page_number: PageNumber) -> storage::Result<Page> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 515 |     pub fn write_page<Tx: WriteTx>(&self, tx: &mut Tx, page: MemPageRef) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 524 |     pub fn btree_create<Tx: WriteTx>(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     pub fn alloc_page<Tx: WriteTx>(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 592 |     pub fn alloc_empty_page<Tx: WriteTx>(&self, tx: &mut Tx) -> storage::Result<PageNumber> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 636 |     pub fn flush(&mut self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 640 |     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:648:8
[INFO] [stdout]     |
[INFO] [stdout] 648 | 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:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | 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:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const WAL_HEADER_SIZE_NO_CHECKSUM: usize = WAL_HEADER_SIZE - size_of::<u32>();
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAME_HEADER_SIZE` is never used
[INFO] [stdout]   --> src/storage/wal/mod.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | 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:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub 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:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | 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:44:6
[INFO] [stdout]    |
[INFO] [stdout] 44 | type Checksum = u32;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WalHeader` is never constructed
[INFO] [stdout]   --> src/storage/wal/mod.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | 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:67:12
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl WalHeader {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  66 |     /// Recalculates checksum of all fields except `checksum`.
[INFO] [stdout]  67 |     pub fn update_checksum(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn default(page_size: u32, db_size: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn from_bytes(buffer: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn write_to_buffer(&self, buffer: &mut [u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn checksum_self(&self) -> Checksum {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemWalHeader` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct MemWalHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl MemWalHeader {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 144 |     pub fn into_raw_header(&self) -> WalHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn update_checksum(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn get_checkpoint_seq_num(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn get_last_checkpointed(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn get_db_size(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn get_backfilled_number(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn get_checksum(&self) -> Checksum {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn increment_checkpoint_seq_num(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn set_last_checkpointed(&self, value: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn set_db_size(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn set_backfilled_number(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn add_backfilled_number(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn set_checksum(&self, value: Checksum) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FrameHeader` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:220:12
[INFO] [stdout]     |
[INFO] [stdout] 220 | 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:231:12
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl FrameHeader {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 231 |     pub fn from_bytes(buffer: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn to_bytes(&self, buffer: &mut [u8]) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteAheadLog` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub struct WriteAheadLog {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:288:12
[INFO] [stdout]     |
[INFO] [stdout] 287 | impl WriteAheadLog {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 288 |     pub fn open(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 381 |     pub fn replay(&self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 429 |     pub fn write_header(&self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     pub fn get_min_frame(&self) -> FrameNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 441 |     pub fn get_max_frame(&self) -> FrameNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 445 |     pub fn set_min_frame(&self, value: FrameNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     pub fn set_max_frame(&self, value: FrameNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:455:12
[INFO] [stdout]     |
[INFO] [stdout] 454 | impl WriteAheadLog {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 455 |     pub fn begin_read_tx<'a>(&'a self) -> storage::Result<ReadTransaction<'a>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     pub fn begin_write_tx<'a>(&'a self) -> storage::Result<WriteTransaction<'a>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 463 |     pub fn commit(&self, mut tx: WriteTransaction) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 483 |     fn calculate_frame_offset(&self, frame_number: FrameNumber) -> storage::Result<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 489 |     pub fn is_in_wal(&self, page_number: &PageNumber) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 494 |     fn read_raw(&self, frame_number: FrameNumber, buffer: &mut [u8]) -> storage::Result<usize> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 504 |     pub fn read_frame<Tx: ReadTx>(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 541 |     pub fn append_frame<Tx: WriteTx>(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 550 |     pub fn append_vectored<Tx: WriteTx>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 604 |     fn should_checkpoint(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 610 |     pub fn checkpoint(&self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 618 |     pub fn force_checkpoint(&self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WalIndex` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:714:12
[INFO] [stdout]     |
[INFO] [stdout] 714 | 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:719:12
[INFO] [stdout]     |
[INFO] [stdout] 718 | impl WalIndex {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 719 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 731 |     fn insert_latest(&self, page_number: PageNumber, frame_number: FrameNumber) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 738 |     pub fn insert(&self, page_number: PageNumber, frame_number: FrameNumber) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 746 |     pub fn latest_frames_sorted(&self, max_frame: FrameNumber) -> Vec<(PageNumber, FrameNumber)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 767 |     pub fn contains(&self, page_number: &PageNumber) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 771 |     pub fn get(&self, page_number: &PageNumber, max_frame: FrameNumber) -> Option<FrameNumber> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 777 |     pub fn remove_up_to(&self, page_number: &PageNumber, frame_number: FrameNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 787 |     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:795:4
[INFO] [stdout]     |
[INFO] [stdout] 795 | fn validate_frame(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ReadTx` is never used
[INFO] [stdout]   --> src/storage/wal/transaction.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait ReadTx {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `WriteTx` is never used
[INFO] [stdout]   --> src/storage/wal/transaction.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub trait WriteTx: ReadTx {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReadTransaction` is never constructed
[INFO] [stdout]   --> src/storage/wal/transaction.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ReadTransaction<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `begin` is never used
[INFO] [stdout]   --> src/storage/wal/transaction.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl<'a> ReadTransaction<'a> {
[INFO] [stdout]    | ---------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn begin(wal: &'a WriteAheadLog) -> storage::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteTransaction` is never constructed
[INFO] [stdout]   --> src/storage/wal/transaction.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct WriteTransaction<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteTransactionInner` is never constructed
[INFO] [stdout]   --> src/storage/wal/transaction.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct WriteTransactionInner<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `begin` is never used
[INFO] [stdout]   --> src/storage/wal/transaction.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | impl<'a> WriteTransaction<'a> {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 97 |     pub fn begin(wal: &'a WriteAheadLog) -> storage::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/utils/mod.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | 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:18:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     InvalidAligment,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     #[error("size mismatch")]
[INFO] [stdout] 20 |     SizeMismatch,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 21 |     #[error("invalid bytes")]
[INFO] [stdout] 22 |     InvalidBytes,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 23 |     #[error("varint is invalid, either overflowed or incompleted")]
[INFO] [stdout] 24 |     InvalidVarInt,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 25 |     #[error("attempted to access outside buffer. buffer overflow")]
[INFO] [stdout] 26 |     OutOfSpace,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     InvalidAllocation(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     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: methods `put_u8`, `put_u16_le`, `put_u32_le`, `put_u64_le`, `put_varint`, and `put_bytes` are never used
[INFO] [stdout]    --> src/utils/bytes.rs:388:12
[INFO] [stdout]     |
[INFO] [stdout] 385 | impl<T: AsRef<[u8]> + AsMut<[u8]> + Extend<u8>> BytesCursor<T> {
[INFO] [stdout]     | -------------------------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 388 |     pub fn put_u8(&mut self, value: u8) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub fn put_u16_le(&mut self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     pub fn put_u32_le(&mut self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     pub fn put_u64_le(&mut self, value: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn put_varint(&mut self, value: VarInt) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 430 |     pub fn put_bytes(&mut self, value: &[u8]) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `varint_size` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:438:8
[INFO] [stdout]     |
[INFO] [stdout] 438 | 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:442:8
[INFO] [stdout]     |
[INFO] [stdout] 442 | 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:446:8
[INFO] [stdout]     |
[INFO] [stdout] 446 | 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:451:8
[INFO] [stdout]     |
[INFO] [stdout] 451 | 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:472:8
[INFO] [stdout]     |
[INFO] [stdout] 472 | 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:486:8
[INFO] [stdout]     |
[INFO] [stdout] 486 | 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:492:8
[INFO] [stdout]     |
[INFO] [stdout] 492 | 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:498:8
[INFO] [stdout]     |
[INFO] [stdout] 498 | 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: struct `Semaphore` is never constructed
[INFO] [stdout]   --> src/utils/concurrency.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/utils/concurrency.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Semaphore {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn acquire(self: &Arc<Self>) -> SemaphoreGuard {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn release(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SemaphoreGuard` is never constructed
[INFO] [stdout]   --> src/utils/concurrency.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct SemaphoreGuard {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AtomicArray` is never constructed
[INFO] [stdout]   --> src/utils/concurrency.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct AtomicArray<const SIZE: usize> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `FREE_SLOT`, `new`, `spin`, `acquire`, `release`, and `min_visible_frame` are never used
[INFO] [stdout]    --> src/utils/concurrency.rs:67:11
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl<const SIZE: usize> AtomicArray<SIZE> {
[INFO] [stdout]     | ----------------------------------------- associated items in this implementation
[INFO] [stdout]  67 |     const FREE_SLOT: u32 = 0;
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout]  68 |
[INFO] [stdout]  69 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     fn spin(&self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn acquire(self: &Arc<Self>, min_visible: FrameNumber) -> SlotGuard<SIZE> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     fn release(&self, index: usize) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn min_visible_frame(&self) -> Option<FrameNumber> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SlotGuard` is never constructed
[INFO] [stdout]    --> src/utils/concurrency.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct SlotGuard<const SIZE: usize> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PackedU64` is never used
[INFO] [stdout]    --> src/utils/concurrency.rs:169:11
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub trait PackedU64 {
[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:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait FileOps {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IO` is never used
[INFO] [stdout]   --> src/utils/io.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub trait IO {
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockIO` is never constructed
[INFO] [stdout]    --> src/utils/io.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct BlockIO<I> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_io`, and `calculate_offset` are never used
[INFO] [stdout]    --> src/utils/io.rs:271:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | impl<I> BlockIO<I> {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 271 |     pub fn new(io: I, block_size: usize, header_size: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn get_io(&self) -> &mut I {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     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:294:12
[INFO] [stdout]     |
[INFO] [stdout] 293 | impl<I: IO> BlockIO<I> {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] 294 |     pub fn raw_read(&self, offset: usize, buffer: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub fn read_header(&self, buffer: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn read(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn raw_write(&self, offset: usize, buffer: &[u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub fn write_header(&self, buffer: &[u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub fn write(
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     pub fn write_vectored(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     pub fn truncate(&self, to_block_len: BlockNumber) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 381 |     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:399:12
[INFO] [stdout]     |
[INFO] [stdout] 394 | impl<I: Write> BlockIO<I> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 399 |     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:406:12
[INFO] [stdout]     |
[INFO] [stdout] 404 | impl<I: FileOps> BlockIO<I> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 405 |     /// Makes syscall to kernel to write **flushed** buffers to disk.
[INFO] [stdout] 406 |     pub fn sync(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `persist` is never used
[INFO] [stdout]    --> src/utils/io.rs:413:12
[INFO] [stdout]     |
[INFO] [stdout] 411 | impl<I: Write + FileOps> BlockIO<I> {
[INFO] [stdout]     | ----------------------------------- method in this implementation
[INFO] [stdout] 412 |     /// Flushes and fsync all writes to make sure that they are persisted.
[INFO] [stdout] 413 |     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:313:24
[INFO] [stdout]     |
[INFO] [stdout] 313 |     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] 313 |     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:366:23
[INFO] [stdout]     |
[INFO] [stdout] 366 |     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] 366 |     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:370:27
[INFO] [stdout]     |
[INFO] [stdout] 370 |     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] 370 |     pub fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:441:27
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn get_cell_at_offset(&self, offset: u16) -> storage::Result<BTreeCellRef> {
[INFO] [stdout]     |                           ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^ the same lifetime is hidden 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] 441 |     fn get_cell_at_offset(&self, offset: u16) -> storage::Result<BTreeCellRef<'_>> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.64s
[INFO] running `Command { std: "docker" "inspect" "7a5cf8ebe6067a14ffc4e1b58e34fd1cb67872d4c3eba4689871a8f2c5cf8509", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a5cf8ebe6067a14ffc4e1b58e34fd1cb67872d4c3eba4689871a8f2c5cf8509", kill_on_drop: false }`
[INFO] [stdout] 7a5cf8ebe6067a14ffc4e1b58e34fd1cb67872d4c3eba4689871a8f2c5cf8509
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8973e2c8a41340bd9fa46ae122d5ed645088a892c5bd97c5f8767a00c02acbeb
[INFO] running `Command { std: "docker" "start" "-a" "8973e2c8a41340bd9fa46ae122d5ed645088a892c5bd97c5f8767a00c02acbeb", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.34
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zmij v1.0.17
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling zerocopy-derive v0.8.34
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling page_size v0.6.0
[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 rand_core v0.9.5
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stdout] warning: unused import: `DatabaseError`
[INFO] [stdout]   --> src/database/mod.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |     error::{DatabaseError, DatabaseResult},
[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 import: `DatabaseHeader`
[INFO] [stdout]   --> src/storage/pager.rs:12:56
[INFO] [stdout]    |
[INFO] [stdout] 12 |     DATABASE_HEADER_PAGE_NUMBER, DATABASE_HEADER_SIZE, DatabaseHeader, PageType,
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stdout] warning: unused import: `Checksum`
[INFO] [stdout]  --> src/storage/wal/transaction.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |         wal::{Checksum, READERS_NUM, WriteAheadLog},
[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: unreachable expression
[INFO] [stdout]   --> src/database/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | /     loop {
[INFO] [stdout] 43 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 44 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 45 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 46 |
[INFO] [stdout] 47 |       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 regex-automata v0.4.13
[INFO] [stdout] warning: constant `CARCINUSDB_MASTER_TABLE` is never used
[INFO] [stdout]   --> src/database/mod.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const CARCINUSDB_MASTER_TABLE: &'static str = "carcinusdb_master";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_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] 
[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: field `capacity` is never read
[INFO] [stdout]   --> src/storage/buffer_pool.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct BufferPool {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BufferPool` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frame_size` is never read
[INFO] [stdout]    --> src/storage/wal/mod.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub struct WriteAheadLog {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 254 |     frame_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `checkpoint_guard` and `read_guard` are never read
[INFO] [stdout]   --> src/storage/wal/transaction.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ReadTransaction<'a> {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 33 |     /// Protects this transaction, so that checkpoint allows it to finish.
[INFO] [stdout] 34 |     checkpoint_guard: RwLockReadGuard<'a, ()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     read_guard: SlotGuard<READERS_NUM>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:313:24
[INFO] [stdout]     |
[INFO] [stdout] 313 |     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] 313 |     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:366:23
[INFO] [stdout]     |
[INFO] [stdout] 366 |     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] 366 |     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:370:27
[INFO] [stdout]     |
[INFO] [stdout] 370 |     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] 370 |     pub fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:441:27
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn get_cell_at_offset(&self, offset: u16) -> storage::Result<BTreeCellRef> {
[INFO] [stdout]     |                           ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^ the same lifetime is hidden 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] 441 |     fn get_cell_at_offset(&self, offset: u16) -> storage::Result<BTreeCellRef<'_>> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling criterion-plot v0.8.1
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.8.1
[INFO] [stdout] warning: unused import: `DatabaseError`
[INFO] [stdout]   --> src/database/mod.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |     error::{DatabaseError, DatabaseResult},
[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 import: `DatabaseHeader`
[INFO] [stdout]   --> src/storage/pager.rs:12:56
[INFO] [stdout]    |
[INFO] [stdout] 12 |     DATABASE_HEADER_PAGE_NUMBER, DATABASE_HEADER_SIZE, DatabaseHeader, PageType,
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/storage/pager.rs:666:9
[INFO] [stdout]     |
[INFO] [stdout] 666 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DatabaseError`
[INFO] [stdout]   --> src/database/mod.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |     error::{DatabaseError, DatabaseResult},
[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 import: `Checksum`
[INFO] [stdout]  --> src/storage/wal/transaction.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |         wal::{Checksum, READERS_NUM, WriteAheadLog},
[INFO] [stdout]   |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/storage/wal/mod.rs:818:9
[INFO] [stdout]     |
[INFO] [stdout] 818 |     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: `DatabaseHeader`
[INFO] [stdout]   --> src/storage/pager.rs:12:56
[INFO] [stdout]    |
[INFO] [stdout] 12 |     DATABASE_HEADER_PAGE_NUMBER, DATABASE_HEADER_SIZE, DatabaseHeader, PageType,
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/storage/pager.rs:666:9
[INFO] [stdout]     |
[INFO] [stdout] 666 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Checksum`
[INFO] [stdout]  --> src/storage/wal/transaction.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |         wal::{Checksum, READERS_NUM, WriteAheadLog},
[INFO] [stdout]   |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/storage/wal/mod.rs:818:9
[INFO] [stdout]     |
[INFO] [stdout] 818 |     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: unreachable expression
[INFO] [stdout]   --> src/database/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | /     loop {
[INFO] [stdout] 43 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 44 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 45 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 46 |
[INFO] [stdout] 47 |       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: unreachable expression
[INFO] [stdout]   --> src/database/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | /     loop {
[INFO] [stdout] 43 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 44 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 45 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 46 |
[INFO] [stdout] 47 |       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:533:13
[INFO] [stdout]     |
[INFO] [stdout] 533 |         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:562:13
[INFO] [stdout]     |
[INFO] [stdout] 562 |         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: unused variable: `n`
[INFO] [stdout]    --> src/utils/bytes.rs:533:13
[INFO] [stdout]     |
[INFO] [stdout] 533 |         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:562:13
[INFO] [stdout]     |
[INFO] [stdout] 562 |         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 `CARCINUSDB_MASTER_TABLE` is never used
[INFO] [stdout]   --> src/database/mod.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const CARCINUSDB_MASTER_TABLE: &'static str = "carcinusdb_master";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `begin_write` is never used
[INFO] [stdout]    --> src/database/mod.rs:238:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl Database {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn begin_write<'a>(&'a self) -> DatabaseResult<DatabaseWriteTransaction<'a>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseWriteTransaction` is never constructed
[INFO] [stdout]    --> src/database/mod.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub struct DatabaseWriteTransaction<'tx> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cursor` and `commit` are never used
[INFO] [stdout]    --> src/database/mod.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | impl<'tx> DatabaseWriteTransaction<'tx> {
[INFO] [stdout]     | --------------------------------------- methods in this implementation
[INFO] [stdout] 269 |     pub fn cursor(&self, root: PageNumber) -> BTreeCursor<'_, WriteTransaction<'tx>> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     pub fn commit(self) -> DatabaseResult<()> {
[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: 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: method `bypass_cache` is never used
[INFO] [stdout]   --> src/os.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl OpenOptions {
[INFO] [stdout]    | ---------------- method 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] 
[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: methods `raw`, `count`, `values`, and `to_owned` are never used
[INFO] [stdout]   --> src/sql/record.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl<'a> Record<'a> {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn raw(&'a self) -> &'a [u8] {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn values(&'a self) -> Vec<ValueRef<'a>> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn to_owned(&self) -> Record<'static> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_capacity` is never used
[INFO] [stdout]    --> src/sql/record.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl RecordCursor {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn with_capacity(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:184:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl<'a> ValueRef<'a> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 184 |     pub fn to_owned(&self) -> Value {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     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: constant `PAGE_NUMBER_SIZE` is never used
[INFO] [stdout]   --> src/storage/mod.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const PAGE_NUMBER_SIZE: usize = std::mem::size_of::<PageNumber>();
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PageNumberOutOfRange`, `DuplicateKey`, and `PartialRead` are never constructed
[INFO] [stdout]   --> src/storage/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 32 |     PageNumberOutOfRange,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     DuplicateKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     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: methods `get_record`, `row_id`, and `to_owned` are never used
[INFO] [stdout]   --> src/storage/btree.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<'a> BTreeKey<'a> {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn get_record(&self) -> Option<Record<'a>> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn row_id(&self) -> i64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn to_owned(&self) -> BTreeKey<'static> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `page` and `slot` are never read
[INFO] [stdout]   --> src/storage/btree.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |     Found { page: PageNumber, slot: SlotNumber },
[INFO] [stdout]    |     -----   ^^^^              ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SearchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `page` and `slot` are never read
[INFO] [stdout]   --> src/storage/btree.rs:97:16
[INFO] [stdout]    |
[INFO] [stdout] 97 |     NotFound { page: PageNumber, slot: SlotNumber },
[INFO] [stdout]    |     --------   ^^^^              ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SearchResult` 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 `is_found` is never used
[INFO] [stdout]    --> src/storage/btree.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl SearchResult {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 101 |     pub fn is_found(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Index` is never constructed
[INFO] [stdout]    --> src/storage/btree.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub enum BTreeType {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] 111 |     Table,
[INFO] [stdout] 112 |     Index,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BTreeType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/btree.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub trait DatabaseCursor {
[INFO] [stdout]     |           -------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn seek_first(&mut self) -> storage::Result<bool>;
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fn next(&mut self) -> storage::Result<bool>;
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn key(&mut self) -> storage::Result<BTreeKey<'_>>;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     fn value(&mut self) -> storage::Result<Option<Record<'_>>>;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn key_owned(&mut self) -> storage::Result<BTreeKey<'static>>;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 137 |     /// The same as `DatabaseCursor::value` but returns owned data.
[INFO] [stdout] 138 |     fn value_owned(&mut self) -> storage::Result<Option<Record<'static>>>;
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     fn position(&self) -> (PageNumber, SlotNumber);
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_slot` is never read
[INFO] [stdout]    --> src/storage/btree.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct BTreeCursor<'tx, Tx> {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 150 |     current_slot: SlotNumber,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert_leaf` is never used
[INFO] [stdout]    --> src/storage/btree.rs:434:12
[INFO] [stdout]     |
[INFO] [stdout] 433 | impl<'tx, Tx: WriteTx> BTreeCursor<'tx, Tx> {
[INFO] [stdout]     | ------------------------------------------- method in this implementation
[INFO] [stdout] 434 |     pub fn insert_leaf(&mut self, entry: BTreeKey<'_>) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `capacity` is never read
[INFO] [stdout]   --> src/storage/buffer_pool.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct BufferPool {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BufferPool` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_PAGE_SIZE` is never used
[INFO] [stdout]   --> src/storage/page.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const MIN_PAGE_SIZE: usize = 512;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `usable_space` is never used
[INFO] [stdout]   --> src/storage/page.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn usable_space(page_size: usize, reserved: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_leaf` and `is_internal` are never used
[INFO] [stdout]    --> src/storage/page.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl PageType {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 139 |     pub fn is_leaf(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn is_internal(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `can_fit_in_overflow`, `is_empty`, `storage_space`, `storage_size`, and `try_replace` are never used
[INFO] [stdout]    --> src/storage/page.rs:301:12
[INFO] [stdout]     |
[INFO] [stdout] 222 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn can_fit_in_overflow(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn storage_space(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn storage_size(&self, cell_size: u16) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 537 |     pub fn try_replace(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_free_fragment` is never used
[INFO] [stdout]    --> src/storage/page.rs:677:12
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Page {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 677 |     pub fn add_free_fragment(&self, value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_next_overflow`, `set_overflow_payload_size`, and `set_overflow_payload` are never used
[INFO] [stdout]    --> src/storage/page.rs:730:12
[INFO] [stdout]     |
[INFO] [stdout] 722 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 730 |     pub fn set_next_overflow(&self, value: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 739 |     pub fn set_overflow_payload_size(&self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 750 |     pub fn set_overflow_payload(&self, payload: &[u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `db_header` is never used
[INFO] [stdout]    --> src/storage/page.rs:763:12
[INFO] [stdout]     |
[INFO] [stdout] 761 | impl Page {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 762 |     /// Returns database header. Only use with page that have non-zero offset.
[INFO] [stdout] 763 |     pub fn db_header(&self) -> DatabaseHeader {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `freelist_set` is never used
[INFO] [stdout]    --> src/storage/page.rs:779:12
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Page {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 779 |     pub fn freelist_set(&self, value: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CellIterator` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1075:12
[INFO] [stdout]      |
[INFO] [stdout] 1075 | pub struct CellIterator<'a> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `left_child` is never read
[INFO] [stdout]     --> src/storage/page.rs:1210:9
[INFO] [stdout]      |
[INFO] [stdout] 1206 | pub struct IndexInternalCell {
[INFO] [stdout]      |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1210 |     pub left_child: PageNumber,
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `IndexInternalCell` 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 function `new` is never used
[INFO] [stdout]     --> src/storage/page.rs:1313:12
[INFO] [stdout]      |
[INFO] [stdout] 1310 | impl IndexLeafCell {
[INFO] [stdout]      | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1313 |     pub fn new(payload_size: VarInt, payload: &[u8], first_overflow: Option<PageNumber>) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `row_id` and `left_child` are never read
[INFO] [stdout]     --> src/storage/page.rs:1381:9
[INFO] [stdout]      |
[INFO] [stdout] 1377 | pub struct TableInternalCell {
[INFO] [stdout]      |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1381 |     pub row_id: i64,
[INFO] [stdout]      |         ^^^^^^
[INFO] [stdout] 1382 |     /// Left child of BTree Page.
[INFO] [stdout] 1383 |     pub left_child: PageNumber,
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `TableInternalCell` 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 function `new` is never used
[INFO] [stdout]     --> src/storage/page.rs:1389:12
[INFO] [stdout]      |
[INFO] [stdout] 1386 | impl TableInternalCell {
[INFO] [stdout]      | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1389 |     pub fn new(row_id: i64, left_child: PageNumber) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `row_id` is never read
[INFO] [stdout]     --> src/storage/page.rs:1448:9
[INFO] [stdout]      |
[INFO] [stdout] 1444 | pub struct TableLeafCell {
[INFO] [stdout]      |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1448 |     pub row_id: i64,
[INFO] [stdout]      |         ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `TableLeafCell` 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 function `new` is never used
[INFO] [stdout]     --> src/storage/page.rs:1461:12
[INFO] [stdout]      |
[INFO] [stdout] 1458 | impl TableLeafCell {
[INFO] [stdout]      | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1461 |     pub fn new(
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_error`, `is_loaded`, and `clear_error` are never used
[INFO] [stdout]    --> src/storage/pager.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl MemPage {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn is_loaded(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn clear_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_locked` is never used
[INFO] [stdout]    --> src/storage/pager.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl MemPage {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn is_locked(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/pager.rs:244:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | impl SharedPageGuard {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn id(&self) -> PageNumber {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub fn is_dirty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn is_loaded(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn set_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn set_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn set_loaded(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn clear_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn clear_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn clear_loaded(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_error`, `is_dirty`, `is_loaded`, and `clear_error` are never used
[INFO] [stdout]    --> src/storage/pager.rs:332:12
[INFO] [stdout]     |
[INFO] [stdout] 303 | impl ExclusivePageGuard {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn is_dirty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn is_loaded(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn clear_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_page`, `alloc_empty_page`, `flush`, and `sync` are never used
[INFO] [stdout]    --> src/storage/pager.rs:515:12
[INFO] [stdout]     |
[INFO] [stdout] 403 | impl Pager {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 515 |     pub fn write_page<Tx: WriteTx>(&self, tx: &mut Tx, page: MemPageRef) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 592 |     pub fn alloc_empty_page<Tx: WriteTx>(&self, tx: &mut Tx) -> storage::Result<PageNumber> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 636 |     pub fn flush(&mut self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 640 |     pub fn sync(&self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_db_size` is never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl MemWalHeader {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn set_db_size(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frame_size` is never read
[INFO] [stdout]    --> src/storage/wal/mod.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub struct WriteAheadLog {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 254 |     frame_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tx_min_frame` is never used
[INFO] [stdout]   --> src/storage/wal/transaction.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait ReadTx {
[INFO] [stdout]    |           ------ method in this trait
[INFO] [stdout] 15 |     /// Returns min_frame stored by transaction locally.
[INFO] [stdout] 16 |     fn tx_min_frame(&self) -> FrameNumber;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `checkpoint_guard`, `read_guard`, and `min_frame` are never read
[INFO] [stdout]   --> src/storage/wal/transaction.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ReadTransaction<'a> {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 33 |     /// Protects this transaction, so that checkpoint allows it to finish.
[INFO] [stdout] 34 |     checkpoint_guard: RwLockReadGuard<'a, ()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     read_guard: SlotGuard<READERS_NUM>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     min_frame: FrameNumber,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `write_guard` and `min_frame` are never read
[INFO] [stdout]   --> src/storage/wal/transaction.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct WriteTransactionInner<'a> {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 89 |     pub checkpoint_guard: RwLockReadGuard<'a, ()>,
[INFO] [stdout] 90 |     pub write_guard: MutexGuard<'a, ()>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 91 |     pub min_frame: FrameNumber,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidBytes` and `InvalidAllocation` are never constructed
[INFO] [stdout]   --> src/utils/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 22 |     InvalidBytes,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     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: multiple methods 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] 215 |     pub fn read_u32_le(&mut self) -> 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] 
[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: method `put_u64_le` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:412:12
[INFO] [stdout]     |
[INFO] [stdout] 385 | impl<T: AsRef<[u8]> + AsMut<[u8]> + Extend<u8>> BytesCursor<T> {
[INFO] [stdout]     | -------------------------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 412 |     pub fn put_u64_le(&mut self, value: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `flip_n_bits` is never used
[INFO] [stdout]    --> src/utils/bytes.rs:472:8
[INFO] [stdout]     |
[INFO] [stdout] 472 | 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:486:8
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub fn byte_swap_u32(value: 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: 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: struct `Semaphore` is never constructed
[INFO] [stdout]   --> src/utils/concurrency.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/utils/concurrency.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Semaphore {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn acquire(self: &Arc<Self>) -> SemaphoreGuard {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn release(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SemaphoreGuard` is never constructed
[INFO] [stdout]   --> src/utils/concurrency.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct SemaphoreGuard {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `create`, `open`, `remove`, and `truncate` are never used
[INFO] [stdout]   --> src/utils/io.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait FileOps {
[INFO] [stdout]    |           ------- associated items in this trait
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn create(path: impl AsRef<Path>) -> io::Result<Self>
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn open(path: impl AsRef<Path>) -> io::Result<Self>
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn remove(path: impl AsRef<Path>) -> io::Result<()>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn truncate(&mut self) -> io::Result<()>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `truncate_beginning` is never used
[INFO] [stdout]    --> src/utils/io.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout]  88 | pub trait IO {
[INFO] [stdout]     |           -- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn truncate_beginning(&mut self, bytes_to_remove: u64, header_size: usize) -> io::Result<()>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_header`, `write`, and `truncate_beginning` are never used
[INFO] [stdout]    --> src/utils/io.rs:300:12
[INFO] [stdout]     |
[INFO] [stdout] 293 | impl<I: IO> BlockIO<I> {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub fn read_header(&self, buffer: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub fn write(
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 381 |     pub fn truncate_beginning(&self, up_to_block_number: BlockNumber) -> 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:313:24
[INFO] [stdout]     |
[INFO] [stdout] 313 |     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] 313 |     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:366:23
[INFO] [stdout]     |
[INFO] [stdout] 366 |     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] 366 |     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:370:27
[INFO] [stdout]     |
[INFO] [stdout] 370 |     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] 370 |     pub fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:441:27
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn get_cell_at_offset(&self, offset: u16) -> storage::Result<BTreeCellRef> {
[INFO] [stdout]     |                           ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^ the same lifetime is hidden 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] 441 |     fn get_cell_at_offset(&self, offset: u16) -> storage::Result<BTreeCellRef<'_>> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CARCINUSDB_MASTER_TABLE` is never used
[INFO] [stdout]   --> src/database/mod.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const CARCINUSDB_MASTER_TABLE: &'static str = "carcinusdb_master";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_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] 
[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: field `capacity` is never read
[INFO] [stdout]   --> src/storage/buffer_pool.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct BufferPool {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BufferPool` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frame_size` is never read
[INFO] [stdout]    --> src/storage/wal/mod.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub struct WriteAheadLog {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 254 |     frame_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `checkpoint_guard` and `read_guard` are never read
[INFO] [stdout]   --> src/storage/wal/transaction.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ReadTransaction<'a> {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 33 |     /// Protects this transaction, so that checkpoint allows it to finish.
[INFO] [stdout] 34 |     checkpoint_guard: RwLockReadGuard<'a, ()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     read_guard: SlotGuard<READERS_NUM>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:313:24
[INFO] [stdout]     |
[INFO] [stdout] 313 |     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] 313 |     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:366:23
[INFO] [stdout]     |
[INFO] [stdout] 366 |     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] 366 |     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:370:27
[INFO] [stdout]     |
[INFO] [stdout] 370 |     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] 370 |     pub fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:441:27
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn get_cell_at_offset(&self, offset: u16) -> storage::Result<BTreeCellRef> {
[INFO] [stdout]     |                           ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^ the same lifetime is hidden 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] 441 |     fn get_cell_at_offset(&self, offset: u16) -> storage::Result<BTreeCellRef<'_>> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 32.98s
[INFO] running `Command { std: "docker" "inspect" "8973e2c8a41340bd9fa46ae122d5ed645088a892c5bd97c5f8767a00c02acbeb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8973e2c8a41340bd9fa46ae122d5ed645088a892c5bd97c5f8767a00c02acbeb", kill_on_drop: false }`
[INFO] [stdout] 8973e2c8a41340bd9fa46ae122d5ed645088a892c5bd97c5f8767a00c02acbeb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7211709677d898d1c5b64eeb7d5dba422e53dc75518e3e81f63f27c69577331f
[INFO] running `Command { std: "docker" "start" "-a" "7211709677d898d1c5b64eeb7d5dba422e53dc75518e3e81f63f27c69577331f", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `DatabaseError`
[INFO] [stderr]   --> src/database/mod.rs:12:13
[INFO] [stderr]    |
[INFO] [stderr] 12 |     error::{DatabaseError, DatabaseResult},
[INFO] [stderr]    |             ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `DatabaseHeader`
[INFO] [stderr]   --> src/storage/pager.rs:12:56
[INFO] [stderr]    |
[INFO] [stderr] 12 |     DATABASE_HEADER_PAGE_NUMBER, DATABASE_HEADER_SIZE, DatabaseHeader, PageType,
[INFO] [stderr]    |                                                        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Checksum`
[INFO] [stderr]  --> src/storage/wal/transaction.rs:8:15
[INFO] [stderr]   |
[INFO] [stderr] 8 |         wal::{Checksum, READERS_NUM, WriteAheadLog},
[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: unreachable expression
[INFO] [stderr]   --> src/database/mod.rs:47:5
[INFO] [stderr]    |
[INFO] [stderr] 42 | /     loop {
[INFO] [stderr] 43 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stderr] 44 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stderr] 45 | |     }
[INFO] [stderr]    | |_____- any code following this expression is unreachable
[INFO] [stderr] 46 |
[INFO] [stderr] 47 |       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: constant `CARCINUSDB_MASTER_TABLE` is never used
[INFO] [stderr]   --> src/database/mod.rs:30:7
[INFO] [stderr]    |
[INFO] [stderr] 30 | const CARCINUSDB_MASTER_TABLE: &'static str = "carcinusdb_master";
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_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] 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: field `capacity` is never read
[INFO] [stderr]   --> src/storage/buffer_pool.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct BufferPool {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 15 |     capacity: usize,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BufferPool` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `frame_size` is never read
[INFO] [stderr]    --> src/storage/wal/mod.rs:254:5
[INFO] [stderr]     |
[INFO] [stderr] 250 | pub struct WriteAheadLog {
[INFO] [stderr]     |            ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 254 |     frame_size: usize,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `checkpoint_guard` and `read_guard` are never read
[INFO] [stderr]   --> src/storage/wal/transaction.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct ReadTransaction<'a> {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr] 33 |     /// Protects this transaction, so that checkpoint allows it to finish.
[INFO] [stderr] 34 |     checkpoint_guard: RwLockReadGuard<'a, ()>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     read_guard: SlotGuard<READERS_NUM>,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/storage/page.rs:313:24
[INFO] [stderr]     |
[INFO] [stderr] 313 |     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] 313 |     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:366:23
[INFO] [stderr]     |
[INFO] [stderr] 366 |     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] 366 |     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:370:27
[INFO] [stderr]     |
[INFO] [stderr] 370 |     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] 370 |     pub fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stderr]     |                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/storage/page.rs:441:27
[INFO] [stderr]     |
[INFO] [stderr] 441 |     fn get_cell_at_offset(&self, offset: u16) -> storage::Result<BTreeCellRef> {
[INFO] [stderr]     |                           ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^ the same lifetime is hidden 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] 441 |     fn get_cell_at_offset(&self, offset: u16) -> storage::Result<BTreeCellRef<'_>> {
[INFO] [stderr]     |                                                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `carcinusdb` (lib) generated 16 warnings (run `cargo fix --lib -p carcinusdb` to apply 8 suggestions)
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/storage/pager.rs:666:9
[INFO] [stderr]     |
[INFO] [stderr] 666 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/storage/wal/mod.rs:818:9
[INFO] [stderr]     |
[INFO] [stderr] 818 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]    --> src/utils/bytes.rs:533:13
[INFO] [stderr]     |
[INFO] [stderr] 533 |         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:562:13
[INFO] [stderr]     |
[INFO] [stderr] 562 |         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: method `begin_write` is never used
[INFO] [stderr]    --> src/database/mod.rs:238:12
[INFO] [stderr]     |
[INFO] [stderr] 154 | impl Database {
[INFO] [stderr]     | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 238 |     pub fn begin_write<'a>(&'a self) -> DatabaseResult<DatabaseWriteTransaction<'a>> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DatabaseWriteTransaction` is never constructed
[INFO] [stderr]    --> src/database/mod.rs:263:12
[INFO] [stderr]     |
[INFO] [stderr] 263 | pub struct DatabaseWriteTransaction<'tx> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `cursor` and `commit` are never used
[INFO] [stderr]    --> src/database/mod.rs:269:12
[INFO] [stderr]     |
[INFO] [stderr] 268 | impl<'tx> DatabaseWriteTransaction<'tx> {
[INFO] [stderr]     | --------------------------------------- methods in this implementation
[INFO] [stderr] 269 |     pub fn cursor(&self, root: PageNumber) -> BTreeCursor<'_, WriteTransaction<'tx>> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 273 |     pub fn commit(self) -> DatabaseResult<()> {
[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: 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: method `bypass_cache` is never used
[INFO] [stderr]   --> src/os.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 43 | impl OpenOptions {
[INFO] [stderr]    | ---------------- method 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] 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: methods `raw`, `count`, `values`, and `to_owned` are never used
[INFO] [stderr]   --> src/sql/record.rs:37:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl<'a> Record<'a> {
[INFO] [stderr]    | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub fn raw(&'a self) -> &'a [u8] {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub fn count(&self) -> usize {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |     pub fn values(&'a self) -> Vec<ValueRef<'a>> {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 68 |     pub fn to_owned(&self) -> Record<'static> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `with_capacity` is never used
[INFO] [stderr]    --> src/sql/record.rs:120:12
[INFO] [stderr]     |
[INFO] [stderr] 110 | impl RecordCursor {
[INFO] [stderr]     | ----------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 120 |     pub fn with_capacity(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:184:12
[INFO] [stderr]     |
[INFO] [stderr] 183 | impl<'a> ValueRef<'a> {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr] 184 |     pub fn to_owned(&self) -> Value {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 194 |     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: constant `PAGE_NUMBER_SIZE` is never used
[INFO] [stderr]   --> src/storage/mod.rs:19:11
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub const PAGE_NUMBER_SIZE: usize = std::mem::size_of::<PageNumber>();
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `PageNumberOutOfRange`, `DuplicateKey`, and `PartialRead` are never constructed
[INFO] [stderr]   --> src/storage/mod.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub enum Error {
[INFO] [stderr]    |          ----- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 32 |     PageNumberOutOfRange,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     DuplicateKey,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 |     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: methods `get_record`, `row_id`, and `to_owned` are never used
[INFO] [stderr]   --> src/storage/btree.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl<'a> BTreeKey<'a> {
[INFO] [stderr]    | --------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub fn get_record(&self) -> Option<Record<'a>> {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 |     pub fn row_id(&self) -> i64 {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 |     pub fn to_owned(&self) -> BTreeKey<'static> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `page` and `slot` are never read
[INFO] [stderr]   --> src/storage/btree.rs:96:13
[INFO] [stderr]    |
[INFO] [stderr] 96 |     Found { page: PageNumber, slot: SlotNumber },
[INFO] [stderr]    |     -----   ^^^^              ^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SearchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `page` and `slot` are never read
[INFO] [stderr]   --> src/storage/btree.rs:97:16
[INFO] [stderr]    |
[INFO] [stderr] 97 |     NotFound { page: PageNumber, slot: SlotNumber },
[INFO] [stderr]    |     --------   ^^^^              ^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SearchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_found` is never used
[INFO] [stderr]    --> src/storage/btree.rs:101:12
[INFO] [stderr]     |
[INFO] [stderr] 100 | impl SearchResult {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] 101 |     pub fn is_found(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Index` is never constructed
[INFO] [stderr]    --> src/storage/btree.rs:112:5
[INFO] [stderr]     |
[INFO] [stderr] 110 | pub enum BTreeType {
[INFO] [stderr]     |          --------- variant in this enum
[INFO] [stderr] 111 |     Table,
[INFO] [stderr] 112 |     Index,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `BTreeType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/storage/btree.rs:121:8
[INFO] [stderr]     |
[INFO] [stderr] 115 | pub trait DatabaseCursor {
[INFO] [stderr]     |           -------------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 121 |     fn seek_first(&mut self) -> storage::Result<bool>;
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 124 |     fn next(&mut self) -> storage::Result<bool>;
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 129 |     fn key(&mut self) -> storage::Result<BTreeKey<'_>>;
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 133 |     fn value(&mut self) -> storage::Result<Option<Record<'_>>>;
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 136 |     fn key_owned(&mut self) -> storage::Result<BTreeKey<'static>>;
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 137 |     /// The same as `DatabaseCursor::value` but returns owned data.
[INFO] [stderr] 138 |     fn value_owned(&mut self) -> storage::Result<Option<Record<'static>>>;
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 141 |     fn position(&self) -> (PageNumber, SlotNumber);
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `current_slot` is never read
[INFO] [stderr]    --> src/storage/btree.rs:150:5
[INFO] [stderr]     |
[INFO] [stderr] 144 | pub struct BTreeCursor<'tx, Tx> {
[INFO] [stderr]     |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 150 |     current_slot: SlotNumber,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `insert_leaf` is never used
[INFO] [stderr]    --> src/storage/btree.rs:434:12
[INFO] [stderr]     |
[INFO] [stderr] 433 | impl<'tx, Tx: WriteTx> BTreeCursor<'tx, Tx> {
[INFO] [stderr]     | ------------------------------------------- method in this implementation
[INFO] [stderr] 434 |     pub fn insert_leaf(&mut self, entry: BTreeKey<'_>) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MIN_PAGE_SIZE` is never used
[INFO] [stderr]   --> src/storage/page.rs:23:11
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub const MIN_PAGE_SIZE: usize = 512;
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `usable_space` is never used
[INFO] [stderr]   --> src/storage/page.rs:27:8
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub fn usable_space(page_size: usize, reserved: usize) -> usize {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_leaf` and `is_internal` are never used
[INFO] [stderr]    --> src/storage/page.rs:139:12
[INFO] [stderr]     |
[INFO] [stderr] 138 | impl PageType {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] 139 |     pub fn is_leaf(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 146 |     pub fn is_internal(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `can_fit_in_overflow`, `is_empty`, `storage_space`, `storage_size`, and `try_replace` are never used
[INFO] [stderr]    --> src/storage/page.rs:301:12
[INFO] [stderr]     |
[INFO] [stderr] 222 | impl Page {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 301 |     pub fn can_fit_in_overflow(&self) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 316 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 344 |     pub fn storage_space(&self) -> u16 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 349 |     pub fn storage_size(&self, cell_size: u16) -> u16 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 537 |     pub fn try_replace(
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `add_free_fragment` is never used
[INFO] [stderr]    --> src/storage/page.rs:677:12
[INFO] [stderr]     |
[INFO] [stderr] 644 | impl Page {
[INFO] [stderr]     | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 677 |     pub fn add_free_fragment(&self, value: u8) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_next_overflow`, `set_overflow_payload_size`, and `set_overflow_payload` are never used
[INFO] [stderr]    --> src/storage/page.rs:730:12
[INFO] [stderr]     |
[INFO] [stderr] 722 | impl Page {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 730 |     pub fn set_next_overflow(&self, value: PageNumber) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 739 |     pub fn set_overflow_payload_size(&self, value: u16) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 750 |     pub fn set_overflow_payload(&self, payload: &[u8]) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `db_header` is never used
[INFO] [stderr]    --> src/storage/page.rs:763:12
[INFO] [stderr]     |
[INFO] [stderr] 761 | impl Page {
[INFO] [stderr]     | --------- method in this implementation
[INFO] [stderr] 762 |     /// Returns database header. Only use with page that have non-zero offset.
[INFO] [stderr] 763 |     pub fn db_header(&self) -> DatabaseHeader {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `freelist_set` is never used
[INFO] [stderr]    --> src/storage/page.rs:779:12
[INFO] [stderr]     |
[INFO] [stderr] 773 | impl Page {
[INFO] [stderr]     | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 779 |     pub fn freelist_set(&self, value: PageNumber) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CellIterator` is never constructed
[INFO] [stderr]     --> src/storage/page.rs:1075:12
[INFO] [stderr]      |
[INFO] [stderr] 1075 | pub struct CellIterator<'a> {
[INFO] [stderr]      |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `left_child` is never read
[INFO] [stderr]     --> src/storage/page.rs:1210:9
[INFO] [stderr]      |
[INFO] [stderr] 1206 | pub struct IndexInternalCell {
[INFO] [stderr]      |            ----------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 1210 |     pub left_child: PageNumber,
[INFO] [stderr]      |         ^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `IndexInternalCell` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/storage/page.rs:1313:12
[INFO] [stderr]      |
[INFO] [stderr] 1310 | impl IndexLeafCell {
[INFO] [stderr]      | ------------------ associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 1313 |     pub fn new(payload_size: VarInt, payload: &[u8], first_overflow: Option<PageNumber>) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `row_id` and `left_child` are never read
[INFO] [stderr]     --> src/storage/page.rs:1381:9
[INFO] [stderr]      |
[INFO] [stderr] 1377 | pub struct TableInternalCell {
[INFO] [stderr]      |            ----------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 1381 |     pub row_id: i64,
[INFO] [stderr]      |         ^^^^^^
[INFO] [stderr] 1382 |     /// Left child of BTree Page.
[INFO] [stderr] 1383 |     pub left_child: PageNumber,
[INFO] [stderr]      |         ^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `TableInternalCell` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/storage/page.rs:1389:12
[INFO] [stderr]      |
[INFO] [stderr] 1386 | impl TableInternalCell {
[INFO] [stderr]      | ---------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 1389 |     pub fn new(row_id: i64, left_child: PageNumber) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `row_id` is never read
[INFO] [stderr]     --> src/storage/page.rs:1448:9
[INFO] [stderr]      |
[INFO] [stderr] 1444 | pub struct TableLeafCell {
[INFO] [stderr]      |            ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 1448 |     pub row_id: i64,
[INFO] [stderr]      |         ^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `TableLeafCell` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/storage/page.rs:1461:12
[INFO] [stderr]      |
[INFO] [stderr] 1458 | impl TableLeafCell {
[INFO] [stderr]      | ------------------ associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 1461 |     pub fn new(
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_error`, `is_loaded`, and `clear_error` are never used
[INFO] [stderr]    --> src/storage/pager.rs:80:12
[INFO] [stderr]     |
[INFO] [stderr]  72 | impl MemPage {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  80 |     pub fn is_error(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  88 |     pub fn is_loaded(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 104 |     pub fn clear_error(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_locked` is never used
[INFO] [stderr]    --> src/storage/pager.rs:126:12
[INFO] [stderr]     |
[INFO] [stderr] 118 | impl MemPage {
[INFO] [stderr]     | ------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 126 |     pub fn is_locked(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/storage/pager.rs:244:12
[INFO] [stderr]     |
[INFO] [stderr] 235 | impl SharedPageGuard {
[INFO] [stderr]     | -------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 244 |     pub fn id(&self) -> PageNumber {
[INFO] [stderr]     |            ^^
[INFO] [stderr] ...
[INFO] [stderr] 248 |     pub fn is_error(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 252 |     pub fn is_dirty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 256 |     pub fn is_loaded(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 260 |     pub fn set_error(&self) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 264 |     pub fn set_dirty(&self) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 268 |     pub fn set_loaded(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 272 |     pub fn clear_error(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 276 |     pub fn clear_dirty(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 280 |     pub fn clear_loaded(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_error`, `is_dirty`, `is_loaded`, and `clear_error` are never used
[INFO] [stderr]    --> src/storage/pager.rs:332:12
[INFO] [stderr]     |
[INFO] [stderr] 303 | impl ExclusivePageGuard {
[INFO] [stderr]     | ----------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 332 |     pub fn is_error(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 336 |     pub fn is_dirty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 340 |     pub fn is_loaded(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 356 |     pub fn clear_error(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `write_page`, `alloc_empty_page`, `flush`, and `sync` are never used
[INFO] [stderr]    --> src/storage/pager.rs:515:12
[INFO] [stderr]     |
[INFO] [stderr] 403 | impl Pager {
[INFO] [stderr]     | ---------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 515 |     pub fn write_page<Tx: WriteTx>(&self, tx: &mut Tx, page: MemPageRef) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 592 |     pub fn alloc_empty_page<Tx: WriteTx>(&self, tx: &mut Tx) -> storage::Result<PageNumber> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 636 |     pub fn flush(&mut self) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 640 |     pub fn sync(&self) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_db_size` is never used
[INFO] [stderr]    --> src/storage/wal/mod.rs:188:12
[INFO] [stderr]     |
[INFO] [stderr] 143 | impl MemWalHeader {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 188 |     pub fn set_db_size(&self, value: u32) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `tx_min_frame` is never used
[INFO] [stderr]   --> src/storage/wal/transaction.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub trait ReadTx {
[INFO] [stderr]    |           ------ method in this trait
[INFO] [stderr] 15 |     /// Returns min_frame stored by transaction locally.
[INFO] [stderr] 16 |     fn tx_min_frame(&self) -> FrameNumber;
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `checkpoint_guard`, `read_guard`, and `min_frame` are never read
[INFO] [stderr]   --> src/storage/wal/transaction.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct ReadTransaction<'a> {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr] 33 |     /// Protects this transaction, so that checkpoint allows it to finish.
[INFO] [stderr] 34 |     checkpoint_guard: RwLockReadGuard<'a, ()>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     read_guard: SlotGuard<READERS_NUM>,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     min_frame: FrameNumber,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `write_guard` and `min_frame` are never read
[INFO] [stderr]   --> src/storage/wal/transaction.rs:90:9
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub struct WriteTransactionInner<'a> {
[INFO] [stderr]    |            --------------------- fields in this struct
[INFO] [stderr] 89 |     pub checkpoint_guard: RwLockReadGuard<'a, ()>,
[INFO] [stderr] 90 |     pub write_guard: MutexGuard<'a, ()>,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 91 |     pub min_frame: FrameNumber,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `InvalidBytes` and `InvalidAllocation` are never constructed
[INFO] [stderr]   --> src/utils/mod.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub enum Error {
[INFO] [stderr]    |          ----- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 22 |     InvalidBytes,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     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: multiple methods 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] 215 |     pub fn read_u32_le(&mut self) -> u32 {
[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: method `put_u64_le` is never used
[INFO] [stderr]    --> src/utils/bytes.rs:412:12
[INFO] [stderr]     |
[INFO] [stderr] 385 | impl<T: AsRef<[u8]> + AsMut<[u8]> + Extend<u8>> BytesCursor<T> {
[INFO] [stderr]     | -------------------------------------------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 412 |     pub fn put_u64_le(&mut self, value: u64) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `flip_n_bits` is never used
[INFO] [stderr]    --> src/utils/bytes.rs:472:8
[INFO] [stderr]     |
[INFO] [stderr] 472 | 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:486:8
[INFO] [stderr]     |
[INFO] [stderr] 486 | pub fn byte_swap_u32(value: 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: function `cast_static` is never used
[INFO] [stderr]    --> src/utils/cast.rs:180:15
[INFO] [stderr]     |
[INFO] [stderr] 180 | pub unsafe fn cast_static<T>(src: &[T]) -> &'static [T] {
[INFO] [stderr]     |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Semaphore` is never constructed
[INFO] [stderr]   --> src/utils/concurrency.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/utils/concurrency.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl Semaphore {
[INFO] [stderr]    | -------------- associated items in this implementation
[INFO] [stderr] 21 |     pub fn new(capacity: usize) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 29 |     pub fn acquire(self: &Arc<Self>) -> SemaphoreGuard {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn release(&self) {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SemaphoreGuard` is never constructed
[INFO] [stderr]   --> src/utils/concurrency.rs:51:12
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub struct SemaphoreGuard {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `create`, `open`, `remove`, and `truncate` are never used
[INFO] [stderr]   --> src/utils/io.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub trait FileOps {
[INFO] [stderr]    |           ------- associated items in this trait
[INFO] [stderr] ...
[INFO] [stderr] 20 |     fn create(path: impl AsRef<Path>) -> io::Result<Self>
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 25 |     fn open(path: impl AsRef<Path>) -> io::Result<Self>
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     fn remove(path: impl AsRef<Path>) -> io::Result<()>;
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 33 |     fn truncate(&mut self) -> io::Result<()>;
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `truncate_beginning` is never used
[INFO] [stderr]    --> src/utils/io.rs:112:8
[INFO] [stderr]     |
[INFO] [stderr]  88 | pub trait IO {
[INFO] [stderr]     |           -- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 112 |     fn truncate_beginning(&mut self, bytes_to_remove: u64, header_size: usize) -> io::Result<()>;
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `read_header`, `write`, and `truncate_beginning` are never used
[INFO] [stderr]    --> src/utils/io.rs:300:12
[INFO] [stderr]     |
[INFO] [stderr] 293 | impl<I: IO> BlockIO<I> {
[INFO] [stderr]     | ---------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 300 |     pub fn read_header(&self, buffer: &mut [u8]) -> io::Result<usize> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 333 |     pub fn write(
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 381 |     pub fn truncate_beginning(&self, up_to_block_number: BlockNumber) -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `carcinusdb` (bin "carcinusdb" test) generated 93 warnings (15 duplicates) (run `cargo fix --bin "carcinusdb" -p carcinusdb --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `carcinusdb` (lib test) generated 20 warnings (20 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/carcinusdb-2934a3230de6b9e3)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test sql::tokenizer::tests::test_tokenize ... ok
[INFO] [stdout] test sql::record::tests::test_record ... ok
[INFO] [stdout] test sql::parser::tests::main_test ... ok
[INFO] [stdout] test sql::types::tests::test_value_comparison ... ok
[INFO] [stdout] test storage::page::tests::test_page ... ok
[INFO] [stdout] test sql::record::tests::test_record_builder ... ok
[INFO] [stdout] test utils::buffer::tests::test_drop_fn ... ok
[INFO] [stdout] test utils::buffer::tests::test_reset ... ok
[INFO] [stdout] test utils::bytes::tests::test_bytes_cursor ... ok
[INFO] [stdout] test utils::bytes::tests::test_crc ... ok
[INFO] [stdout] test utils::bytes::tests::test_flip_bits ... ok
[INFO] [stdout] test utils::bytes::tests::test_varint ... 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::cast::tests::test_from_bytes ... ok
[INFO] [stdout] test storage::pager::tests::test_pager ... FAILED
[INFO] [stdout] test utils::debug_table::tests::test_debug_table ... ok
[INFO] [stdout] test storage::page::tests::test_min_max ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- storage::pager::tests::test_pager stdout ----
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/result.rs:2189:27
[INFO] [stdout]    2: carcinusdb::storage::pager::tests::test_pager
[INFO] [stdout]              at ./src/storage/pager.rs:673:18
[INFO] [stdout]    3: carcinusdb::storage::pager::tests::test_pager::{{closure}}
[INFO] [stdout]              at ./src/storage/pager.rs:670:24
[INFO] [stdout]    4: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    5: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    6: test::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:663:18
[INFO] [stdout]    7: test::run_test_in_process::{{closure}}
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:74
[INFO] [stdout]    8: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]    9: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   10: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   11: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   12: test::run_test_in_process
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:27
[INFO] [stdout]   13: test::run_test::{{closure}}
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:607:43
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout]   14: test::run_test::{{closure}}
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:637:41
[INFO] [stdout]   15: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:160:18
[INFO] [stdout]   16: std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:92:13
[INFO] [stdout]   17: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   18: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   19: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   20: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   21: std::thread::lifecycle::spawn_unchecked::{{closure}}
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:90:26
[INFO] [stdout]   22: core::ops::function::FnOnce::call_once{{vtable.shim}}
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   24: std::sys::thread::unix::Thread::new::thread_start
[INFO] [stdout]              at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   25: <unknown>
[INFO] [stdout]   26: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     storage::pager::tests::test_pager
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 18 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7211709677d898d1c5b64eeb7d5dba422e53dc75518e3e81f63f27c69577331f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7211709677d898d1c5b64eeb7d5dba422e53dc75518e3e81f63f27c69577331f", kill_on_drop: false }`
[INFO] [stdout] 7211709677d898d1c5b64eeb7d5dba422e53dc75518e3e81f63f27c69577331f
